Matlab中的迴圈累加,matlab的 for迴圈求和

2022-01-31 11:28:55 字數 3070 閱讀 2205

1樓:思緒無痕

function newdata=sumr(data,r)

r=rem(size(data,1),r);%看行數是否為r的整數倍,rem為取餘命令

if r~=0

data=[data;zeros(r-r,size(data,2))];%如果餘數不為0,則給原矩陣補r-r行0元素。

end[m n]=size(data);%此時行數m為r的整數倍

newdata=zeros(m/r,n);%建立一個新矩陣存放每r個元素的和

for i=1:n

for j=1:m/r

newdata(j,i)=sum(data(r*(j-1)+1:r*j,i));%求第i列每r個元素的和。

endend

end我大概編了下。應該就是這樣的,我就懶得測試了。。。成功了的話你改改求行元素的。

2樓:匿名使用者

顯然是無限迴圈!

幾條命令語句即可搞定:

sum(data(1:7:end)) %週一的和sum(data(2:7:end)) %週二的和..................................

sum(data(7:7:end)) %週日的和

matlab的 for迴圈求和 5

3樓:小執著

2、for迴圈是一個重複的控制結構,可以有效地寫一個迴圈,需要指定特定次數。這與while迴圈是有區別的。簡單的求和也可以用其他命令代替。

例子: for  i=1:100

如果需要跳出迴圈:用break    也就說滿足一定條件之後不需要再繼續算下去

for  i=1:100

if i==10

break;

endend

3、計算1,2,3。。。n的和。

function  y=qiuhe(n)

%  計算n個整數的和

y=0;

for i=1:n

y=y+i;

endend

4、輸出1,0.9,。。。。0;這10個數。

for a = 1.0: -0.1: 0.0

disp(a)

end5、for a = [20,29,27,23,28,67,18]

disp(a)

end6、對於for迴圈,如果需要結束迴圈的。用break  就可以停止迴圈!但是這裡停止的迴圈是內迴圈。

4樓:匿名使用者

matlab **如下:

n=1:14;

n=5*n;

nk = length(n);

ss = 0; %計算符合條件的組合個數for k= 1:nk %不同元素個數m = nchoosek(n,k); %得到在k個元素情況下的所有組合

s = sum(m,2); %對不同的組合進行求和for i = 1:length(s)

if s(i)>100 %判斷求和結果是否大於100disp(m(i,:));%是則列印到命令視窗ss = ss+1; %並使計算加1

endend

enddisp(['一共有' num2str(ss) '組']);%最後列印總的組合個數

5樓:匿名使用者

tic;

k=0;

for i=1:10^2;

k=k+sqrt(5)/(3^i);

end;

k,toc,

tic;

k=0;

n=1;

while n<=10^2;

k=k+sqrt(5)/(3^n);

n=n+1;

end;

k,toc,

tic;

m=1:10^2;

k=sqrt(5)./(3.^m);

k=sum(k),

toc,

k =1.1180

elapsed time is 0.002072 seconds.

k =1.1180

elapsed time is 0.001988 seconds.

k =1.1180

elapsed time is 0.001814 seconds.

邁特萊博

matlab迴圈語句中求和公式

6樓:yty隨意

1、首先可以在matlab命令列視窗中輸入「help while」,看一下while迴圈的使用方法。

2、建立一個指令碼,如下圖所示。

3、執行指令碼之後,可以看到while迴圈執行了9次,等於10的時候,結果為false,不進去迴圈。

4、while迴圈也可以和if語句配合使用,break是跳出迴圈。

5、最後可以看到while迴圈只執行了4次,執行第5次的時候,進去if語句終止迴圈,如下圖所示。

7樓:匿名使用者

y=zeros(20,20);

for m=1:20

for n=1:20

s=0;

for i=1:m;

s=n/m*sum(1-(m+i)*(m+i-1)/(n+1)*(0.0016*n+0.01)/(0.22+5.5*m)^0.9)+s;

endy(m,n)=(m+1)*(2*m+1)*(0.031*n^2+0.2*n)/(n+1)/(0.

22+5.5*m)^0.9+(m+1)*(0.

29+0.000018*n^2-0.19/n^2+0.

35/n^3)+0.038*n-s;

endend

plot3(1:20,1:20,y)

8樓:

先把y求出來

作圖的時候是做的三維圖

matlab:編寫一個m函式檔案,使用for迴圈計算1~1000的累加和 5

9樓:匿名使用者

n=1:1000;

k=0;

for i=1:1000

k=k+n(i);end

matlab歷史指令視窗的作用,敘述matlab的主要視窗包括哪些?其作用是什麼

記錄已執行過的所有的matlab命令歷史,包括已輸入和執行過的命令 函式 表示式等資訊,可進行命令歷史的查詢 檢查等工作,也可以在該視窗中進行命令複製與重執行,為使用者下一次使用同一個命令提供方便.通過命令歷史視窗執行歷史指令的方法有兩種 1 用滑鼠左鍵雙擊一條指令,即可自動將其傳送到命令視窗並立即...

Matlab序列的傅立葉變換,怎麼用matlab做傅立葉變換

fs 1000 t 0 1 fs 0.6 f1 100 f2 300 x sin 2 pi f1 t sin 2 pi f2 t subplot 711 plot x title f1 100hz f2 300hz 的正弦訊號,初相0 xlabel 序列 n grid onnumber 512 y ...

matlab中,已知a1 2 3,如何通過迴圈讓b1 2 3 1 2 3 1 2 3等等10次1 2 3的迴圈

用for不用這麼麻煩的,像這樣就行 a 1 2 3 for i 1 10 設定10次迴圈 b 1,3 i 2 3 i a 將a賦值end 如果要用迴圈做的話可以這樣做 a 1 2 3 b zeros 1,30 j 1 2 j 2 1 j 3 0 j分別用來儲存前一次寫入1,2,3的位置。b裡面每兩個...