[問題] 迴圈中某個點有error可否跳過此往下算?
各位前輩好
目前寫的程序會出現以下問題,懇請指教:
每個i會代入運算形成一個矩陣A,
而我要對A進行一個求偽逆(指令pinv)的動作,
而pinv的算法會用到SVD(指令SVD)進行分解
但有些i因為數據本身的關係會出現求偽逆的error:
Error using svd
SVD did not converge.
Error in pinv (line 29)
[U,S,V] = svd(A,0);
我想在這些點出現error時,跳過這些點繼續運算輸出我要的B(請參考下方例子)
可行嗎?
例子:
for i = 1:500
A = function1(i);
P = pinv(A);
B = function2(P);
saveB(i,:)=B;
end
目前我都是手動在他跳出error時,手動跳過這些樣本
例如i=1:500,i=100 跳出error,我讓他跑i=1:99,再跑i=101:500
可是我的數據&參數有滿多的,每組參數出現error的點都不同,不可能一直手動跳過
請問要怎麼自動的跳過這些error的點?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.129.110
→
07/04 14:32, , 1F
07/04 14:32, 1F
→
07/05 07:43, , 2F
07/05 07:43, 2F