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裡面每兩個...