1樓:匿名使用者
給k1 k2設定下標就好了啊,k1(m) k2(n),開始m n都為1
,滿足條件時在加1.希望採納,設定為滿意答案,謝謝。
matlab中if語句和for語句的巢狀 10
2樓:流星寒冰
可以。行不行在matlab裡面執行下,然後檢視下變數是不是你想要的值就知道是對是錯了。
3樓:易桐水
可以的……f5一下你就知道~
4樓:疾風動竹
可以。。。。。。。。。
matlab中 for 與 if 的巢狀
5樓:匿名使用者
1.修改一(按照你的思路):
t = [0:0.1:5];
for k = 1:length(t)
if sin(t(k)) == 0
y(k) = 1;
elseif sin(t(k)) == 0.5y(k) = 0.25;
elseif sin(t(k)) == -0.5y(k) = 0.25;
else
y(k) = 0;
endend
plot(t,y,'or','markersize',6);
2.修改二(執行效率更高):
t = 0:0.1:5;
y = 0 + (sin(t)==0)*1 + (sin(t)==0.5)*0.25 + (sin(t)==-0.5)*0.25;
plot(t,y,'or','markersize',6);
6樓:匿名使用者
t=[0:0.1:5];
for k=1:length(t)
if sin(t(k))==0
y(k)=1;
elseif sin(t(k))==0.5y(k)=0.25;
elseif sin(t(k))==-0.5y(k)=0.25;
else
y(k)=0;
endend
plot(t,y);
你也可以不用迴圈實現
t = 0:0.1:5;
y = 0 + (sin(t)==0)*1 + (sin(t)==0.5)*0.25 + (sin(t)==-0.5)*0.25;
plot(t,y);
7樓:05劍塵
t=[0:0.1:5];
y=;for k=0:0.1:5
if sin(t)==0
y=1,
else if sin(t)==0.5
y=0.25,
else if sin(t)==-0.5
y=0.25,
else y=0;
endend;
endplot(t,y)
end少了一個end
求大神解答一個matlab中的for迴圈巢狀if選擇語句
8樓:匿名使用者
1、最後缺少一個end;
2、這句輸出沒什麼意義:disp a(i)=a(j);
3、這句完全多餘:else continue
給你寫了一段**供參考:
% 生成測試資料
a = [randperm(19) randperm(19)+1]
c = 0; % 計數器
for i=1:19
for j=20:38
if a(i)==a(j)
c = c + 1;
fprintf('%2i: a(%i)=a(%i)\n',c,i,j)
endend
end輸出(由於資料隨機生成,每次執行得到的結果不同):
a =columns 1 through 10
10 4 17 15 14 3 2 11 1 8
columns 11 through 20
9 5 6 12 7 18 16 13 19 19
columns 21 through 30
4 5 18 10 9 7 2 3 14 13
columns 31 through 38
15 16 12 20 17 6 8 11
1: a(1)=a(24)
2: a(2)=a(21)
3: a(3)=a(35)
4: a(4)=a(31)
5: a(5)=a(29)
6: a(6)=a(28)
7: a(7)=a(27)
8: a(8)=a(38)
9: a(10)=a(37)
10: a(11)=a(25)
11: a(12)=a(22)
12: a(13)=a(36)
13: a(14)=a(33)
14: a(15)=a(26)
15: a(16)=a(23)
16: a(17)=a(32)
17: a(18)=a(30)
18: a(19)=a(20)
matlab中if語句如何巢狀使用?
9樓:時空聖使
找出第一行是3,第二行是7,把這一行的第1個數換成10.
clear all
clca=[2 3 4 5 6;
7 7 7 8 8]';
for i=1:length(a)
if(a(i,2)==7)
if (a(i,1)==3)
b(i,1)=10;
else
b(i,1)=a(i,1);
endb(i,2)=7;
endend
複製**
10樓:一小時60題
clear all
clca=[2 3 4 5 6;
7 7 7 8 8]';
for i=1:length(a)
if(a(i,2)==7)
if (a(i,1)==3)
b(i,1)=10;
else
b(i,1)=a(i,1);
endb(i,2)=7;
endend
11樓:匿名使用者
一般為if 條件
內容end
或if 條件
內容else if
內容end
或者if (expression1)
else if (expression2)else if (expression3)else if ……
…………………………………
else
endendend
……end
matlab雙重for迴圈巢狀if向量化
12樓:匿名使用者
注意:改寫的**有以下兩點假設:
(1)cnt的初值為1;
(2)tst的size和lu相同,若不滿足if的條件,元素預設值為0。
如果上述條件不滿足,則**還需要作一些調整。有問題請追問。
b1 = cb(1:x,1:y)-(mb+db*sign(mb));
b2 = cr(1:x,1:y)-(1.5*mr+dr*sign(mr));
idx = b1
matlab中如何有效的儲存for迴圈中的結果?
13樓:
matlab最擅長矩陣運算,你應該用矩陣的公式去表示你要實現的結果,而不是迴圈逐個數字去拼接。理解我的意思不。你走入誤區了。。。行18×24是幾個意思
你要每次迴圈都輸出的話,直接value就行了,或者去掉分號for h=1:m
a1=a(h,:);
for h2=1:i
b1=b(h2,:);
c(i,:)=[a1,b1];
value
endvalue=[value,c]end
matlab if else 巢狀 for迴圈 操作語句 請幫忙看看問題在**!謝謝 5
14樓:匿名使用者
if else end如果if end就沒有else啥事了,將第一個end去掉,可在**最後一行再加個end試試
matlab裡多個for迴圈的巢狀迴圈語句怎麼寫 5
15樓:
不知道引數具體數值無法執行,這裡給你指出程式設計錯誤。123456
78910
if s1>s2
for i=150:15:0;%應修改為i=150:-15:0new1=afft(im1,i);
s10=as(new1);
if abs(s10-s2)<0.01
subplot(1,2,1),imshow(new1,)subplot(1,2,2),imshow(im2,)%這裡你是否只需畫一幅圖?根據你的表達退出所有迴圈這裡要加個break
endend%最後仍缺個end
修改程式如下:12
3456
78910
11if s1>s2
for i=150:-15:0
new1=afft(im1,i);
s10=as(new1);
if abs(s10-s2)<0.01
subplot(1,2,1),imshow(new1,)subplot(1,2,2),imshow(im2,)break
endendend
16樓:匿名使用者
內嵌迴圈用break還不行最後做個判斷吧flag=1;whileflagfori=1:10ifi>9flag=0%跳出while迴圈break;%跳出for迴圈endendend
17樓:麼心遠
for i=0:10 iend
MATLAB中如何用simulink對系統的開環傳遞函式進行
先開啟simulink,新建模型檔案,然後從模組庫裡拖出傳遞函式模組,雙擊,設定傳遞函式的表示式,你這種最好用零極點模型,然後在拖出來一個延遲模組,雙擊設定延遲時間tao。接著把這兩個模組串聯起來。然後拖出一個step訊號源和一個比較點,把他們之間連起來,再接一個負反饋到比較點,就完成了 如果這個直...
在matlab中如何實現函式的抽樣
dyaddown。功能 對時間序列進行二元取樣,每隔一個元素提取一個元素,得到一個降取樣時間序列。格式 y dyaddown x,evenodd 當evenodd 0時,從x中第二個元素開始取樣 偶取樣 當evenodd 1時,從x中第一個元素開始取樣 奇取樣 2.y dyaddown x even...
各位大神請問在matlab繪圖中如何實現如下坐
1c2 1 10 mse 1000.exp c2 hold on plot 0.05 ones 1,length c2 plot c2,mse 1000,xlabel c 2 ylabel mse 10 3 legend 時不變方法 時變方法 hold off 2e1 0 1 0.5 a1 exp ...