發問時間: 電腦與網際網路程式設計 · 1 0 年前

MATLAB 數值問題(輸入0不讓他等於INF) 拜託高手幫

我的程式是這樣寫的

L=input(' 幾個? = ');

for i=1:1:L

buf=0;

for j=1:1:L

if (i~=j)

Pq=input(' 輸入數字=');

M(i,j)=-1/Pq;

buf=buf+(1/Pq);

end

end

end

M(i,i)=buf;

end

我這樣子如果輸入0

0的部分會=INF

像這樣

M =

Inf -1.0000 -Inf -Inf -0.2500

-0.5000 Inf -0.2500 -Inf -0.1429

-0.3333 -0.3333 Inf -Inf -Inf

-0.2500 -0.2000 -Inf Inf -0.1429

-1.0000 -0.5000 -0.2500 -Inf Inf

請問要怎麼解決....拜託高手幫忙

1 個解答

評分
  • 1 0 年前
    最佳解答

    沒辦法解決,1/0本來就是無限大,用任何程式語言都會有這個問題。

    事實上Matlab還算貼心的,換做別的程式語言還得自己避免發生1/0的情形。

    你應該檢查自己的運算為什麼會有1/0,研究看看要怎麼避開。

還有問題?馬上發問,尋求解答。