我想請問關於matlab中,for迴圈下有並列的if語句,如果不滿足其中的

2021-03-23 22:29:47 字數 4493 閱讀 3885

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 其...