[問題] 跳出迴圈問題已回收

看板MATLAB作者 (詹姆士布雷克)時間16年前 (2009/06/21 03:46), 編輯推噓6(6010)
留言16則, 4人參與, 最新討論串1/1
請問各位大大一些問題 假設有三個判斷式 如果我輸入的影像的值在2000~12000以內我不希望他在繼續跑第二第三個 想直接跳出for迴圈要怎麼辦呢 如何讓第一個迴圈找到數值之後直接不計算第二第三個 判斷式 假設第一個判斷式輸入的值沒有在2000到12000之間 他跳到第二個迴圈裡面 而第二個迴圈裡面如果有兩個值 剛好介於600~1200我又不能使用break 因為如果使用break 他只會抓到兩個值其中一個值就跳出就不是我要的 在假設如果可以跑兩個值之後我就不需要跳第三個迴圈需要怎麼寫這個跳出迴圈的動作 請問各位大大我該如何去改這個函式 k=0; for i=1:Num if(allArea( i )>2000 && allArea( i )<=12000) 第一 k=k+1; M( k )=allArea( i ); break else if (allArea( i )>600 && allArea( i )<=1200) 第二 k=k+1; M( k )=allArea( i ); else if (allArea( i )>70 && allArea( i )<=250) 第三 k=k+1; M( k )=allArea( i ); end end end end -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.45.52.87

06/21 15:34, , 1F
看不懂你到底要做什麼
06/21 15:34, 1F

06/21 18:33, , 2F
其實就是第一個值符合我就不要再繼續跑第二第三個值
06/21 18:33, 2F

06/21 18:34, , 3F
直接第二第三我不要了我要直接跳出回圈
06/21 18:34, 3F

06/22 00:38, , 4F
為什麼有好多END @@|||
06/22 00:38, 4F

06/22 02:01, , 5F
1個 ELSE IF 就一個END阿 不然程式不能跑阿
06/22 02:01, 5F

06/22 07:21, , 6F
我不是很確定~~可是我印象中if+esleif算在同一個end裡面?
06/22 07:21, 6F

06/22 12:52, , 7F
如果你不加END 他就不能跑阿 哈哈 他也是跟IF一起用
06/22 12:52, 7F

06/22 13:26, , 8F
感謝指點迷津阿XD
06/22 13:26, 8F

06/22 13:53, , 9F
if....elseif....elseif...end 就可以了。
06/22 13:53, 9F

06/22 16:27, , 10F
哈哈 這樣是不行的 我需要第一個判斷式 只容許找到一
06/22 16:27, 10F

06/22 16:27, , 11F
次 一個值我就要讓他跳出迴圈 不容許有兩個值
06/22 16:27, 11F

06/22 16:28, , 12F
不好意思這真的很難形容導致大家看不懂真抱歉
06/22 16:28, 12F

06/22 16:29, , 13F
後面那兩個end是多的 去查查if和else吧 我還是不知道你要幹嘛
06/22 16:29, 13F

06/22 21:30, , 14F
我就記得只要依個end咩~這不是你想怎麼做的問題
06/22 21:30, 14F

06/22 21:31, , 15F
是程式設定if加上後面的elseif全部只算一個if函數!!
06/22 21:31, 15F

06/22 21:47, , 16F
哈哈真的嗎 我再試試看那break是有直接跳出迴圈嘛
06/22 21:47, 16F
文章代碼(AID): #1AFJoWra (MATLAB)
文章代碼(AID): #1AFJoWra (MATLAB)