Re: [討論] 關於try catch rethrow函數已回收
※ 引述《susuyumi (鈴弓)》之銘言:
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.213.195
→
07/15 10:44,
07/15 10:44
這邊我提出我的例子:
for i=1:100;
for j=[1,2,3,4,5];
switch j
case {1}
(進行運算過程A) %細部內容包含A1 A2 A3...etc
case {2}
(進行運算過程B) %細部內容包含B1 B2 B3...etc
...
case {5}
(進行運算過程E) %細部內容包含E1 E2 E3...etc
end
end
end
我想問的是:當我在進行運算過程E3的時候,發現當中的數值會產生NaN,因此我希望
這筆運算就捨棄,進行下一筆的運算。
(如果能達到,那麼以上就會是最簡單的處理結果)
舉例:當i=3的時候,E3的運算出現了NaN,因此我希望E3在i=3的數值結果捨棄掉
並進行下一次的運算,即進行i=4的運算。
額外問題:有這樣的情形發生時,當i迴圈執行100次後,E3的運算結果,就會在
i=3 那筆資料是「空」的嗎?
如果是→→這代表在E3的部分,迴圈執行了i=1,2, 4~100次計算?
如果否→→迴圈會自己執行i=1,2, 4~101次計算,以符合i總數為100?
是否有辦法將我原本的switch case的寫法,改為try catch的寫法?尤其當我的
運算結果(在E3的時候)是非常容易出現問題的狀況下...
我希望的:
當 E3 運算結果出現 NaN 的時候,跳回最初的i迴圈,重跑一次。
(這邊使用的概念很像是goto)
但matlab上可以這樣用的,似乎只有try catch......
還是說,其實只要以下簡單的寫法就可以解決問題了?
for k=1:20; %E3的運算舉例
if E3(k) == NaN;
break
end
end
break %希望跳回到最外面的i迴圈重跑一次
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.213.195
※ 編輯: susuyumi 來自: 140.123.213.195 (07/15 11:13)
推
07/15 13:07, , 1F
07/15 13:07, 1F
→
07/16 01:47, , 2F
07/16 01:47, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):