1樓:匿名使用者
按照你的意願,像這種迴圈語句裡的判斷語句,應該採用下列程式for(i=1:n)
if()
執行1elseif()
執行2else
執行3end
end這樣的判斷是連續的,即當條件不滿足時,程式會繼續往下去判斷,直到滿足時才停止判斷。
2樓:語言糾結戶
解決了麼?我也想知道
matlab語句中,兩個for語句,再加個if語句,然後跟個continue,請問,滿足if語句條 20
3樓:把盞飲寂寞
如果是下列結構:
for i=1:n1 %第一個for迴圈
執行語句1
for j=1:n2 %第二個for迴圈
執行語句2
if (條件)
執行語句3
continue
end執行語句4
end執行語句5
end當if條件滿足並執行continue語句後,「執行語句4」不執行,跳轉到第二個for迴圈,即i自動加1,再繼續執行。
4樓:座標
得需要看巢狀情況,把**貼上來吧。
matlab的for迴圈和if條件語句下面**為什麼執行結果不對?
5樓:匿名使用者
第二個end的位置不對,直接拖到最後一個end後面就可以了a=[1 2 3;4 5 6;7 8 9];
for i=1:2
for j=1:2
if abs(a(i,j))
6樓:莫名漢堡大亨
是不是陣列越界了啊
j=n-1時
a(i,j+1)不會越界嗎?
matlab的if語句,要求滿足多個條件中的一個,也就是說彼此是或的關係,怎麼寫?
7樓:匿名使用者
你的a是什麼型別copy的資料.
報錯的資訊是bai什麼.
語法是沒有錯du的.
你上面的for是從i=1:10
而出錯的是i=8
由於zhi你的x1,y1的長度只有7個dao,你訪問第8個元素就出錯了.
但是前七個的圖還在.
所以你感覺是正常的.但是有點不正常就是了.
8樓:匿名使用者
if a(i)==2||a(i)==3||a(i)==4||a(i)==5
表示或關係的話這句話是沒有問題的
你看看是不是別的地方定義或者引數什麼的設定的不對,或者你把錯誤**貼出來看看
求大神解答一個matlab中的for迴圈巢狀if選擇語句
9樓:匿名使用者
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中for迴圈中是否還能多次套用for迴圈和if語句? 為什麼我套用後,在邏輯上沒有問題,但仍顯示有錯?
10樓:情緣一生遠
化(0變1或者1變0),用不著什麼 for, if,直接length(find(diff(a) == 1))就可以了
如果非要用for, if
s = 0;
for n = 1:length(a)-1,if a(n+1) - a(n) == 1,s = s + 1;
endends
11樓:匿名使用者
你明明寫的倒數第三行是i=i-1,可問的問題說成是i=i+1,你i是從1開始的,程式中的i-1,當然不能執行了!
12樓:匿名使用者
chrom_number,cont_number這兩個數是多少啊,沒有值!
急!!matlab裡for迴圈裡進行if判斷
13樓:匿名使用者
你最好描述下你要的程式要實現什麼
現在看來,應該是你迴圈切換,但沒走出之前的迴圈我根據我對你的目的的揣測,修改如下,你看下:
shi=1:23;mode1=0;mode2=0;
ju=[0,1,1,12,4,3,9,19,8,8,0,0,0,4,5,40,9,6,40,8,8,0,0];
for i=2:length(shi)
for xun=shi(2):shif
jian(xun)=shi(xun)*ju(xun)jia(xun)=ju(xun)/shi(xun)if jia(xun)>=2
mode1=1;
break;
endend
if mode1==1
shi1=shi(xun)+1
for xun1=shi1:shif
jian(xun1)=shi(xun1)
jia(xun1)=ju(xun1)/shi(xun1)if jia(xun1)>=1
mode2=1;
break;
endend
endif mode2==1
shi2=shi(xun1)+1
for xun2=shi2:shif
jian(xun2)=shi(xun2)*ju(xun2)*100end
endendend
14樓:轉基因牛
看著似乎是因為判斷完了之後你並沒有終止迴圈的語句啊。jia變數應該是一個向量吧,建議你插入斷點進行除錯。不知道你想要的結果是什麼邏輯??
如何matlab中實現當滿足一定條件時跳出迴圈,不滿足是繼續迴圈
15樓:匿名使用者
使用break命令!
for i=1:10
if i>5
break
endend
最後只迴圈到5
16樓:匿名使用者
if(滿足條件)
break;
17樓:☆哥不再年輕
用break語句實現啊!
18樓:匿名使用者
if 滿足條件
break;end
matlab程式for,if不迴圈的問題 100
19樓:天雲一號
可能就是沒進入if中進行運算,所以結果為0,你可以在if前設定個斷點看看a_1的值,看看是不是沒進入if語句中
20樓:
檢查一下s2的取值吧,是不是沒有取1。
關於matlab中fsolve函式的使用
m檔案修改如下 function a myfun x k 340 r 0.08 t 150 365 c 29.8299 p 8.8335 a blsprice x 1 k,r,t,x 2 c,p 這樣從語法上來說,不存在錯誤了 但是執行結果似乎找不到解,這就取決於 這個模型是否有解,你給的初值是否在...
請問Matlab中如何生成某矩陣座標矩陣
其實不太清楚你要問什麼,如果你是要把原來的矩陣按列優先排成一行的話,用reshape就可以了 vec reshape a,1,x,y meshgrid 1 3,1 3 dm x y 這樣也可以 在matlab程式設計中,如何生成如下圖的二維座標矩陣?1 普通的數值矩陣的元素只能是一個數,不可能是這樣...
matlab中關於二項分佈的函式,兩概率事件之和不為一的情況
c n,k p n k q k c n,k p q n p p q n k q p q k p q n c n,k p p q n k q p q k 也就是說,內用 p q n binopdf k,n,p p q 即可容 matlab計算二項分佈隨機變數分佈律的方法 binopdf k,n,p 其...