matlab執行中如何解決程式迴圈次數增加後出現Inf或NAN

2022-03-18 10:01:38 字數 1414 閱讀 9630

1樓:紫冰雨的季節

在必須使用多重迴圈時下,如果兩個迴圈執行的次數不同,則在迴圈的外環執行迴圈次數少的,內環執行迴圈次數多的,這樣可以提高速度。

n=1000;

a = ones(1000)*13;

fork=1:n

ticfor

i=1:10

forj=1:1000

a(i,j)=a(i,j)*15;

endend

t1(k)=toc;

ticfor

i=1:1000

forj=1:10

a(i,j)=a(i,j)*16;

endend

t2(k)=toc;

endt2(t1>10^9)=;

t1(t1>10^9)=;

t1(t2>10^9)=;

t2(t2>10^9)=;

%去除外界因素影響所產生的寄點

plot(1:size(t1,2),t1,'r',1:size(t1,2),t2)

2樓:匿名使用者

matlab預設迴圈次數是500次,matlab本身擅長矩陣運算,不擅長迴圈。而且由於計算機浮點系統運算特點,所有收斂的序列相加肯定會有一個特定的數,不會出現inf、nan。而根據題目中「迴圈次數增加後」說明樓主自己增加了matlab的迴圈次數,而如果matlab迴圈超過設定的次數,會顯示迴圈超過限制。

因而分析,原因很可能是:你加的序列不收斂。建議檢查程式**,是否有**出錯;如果沒錯,建議該用c++試試,這個擅長迴圈。

關於matlab迴圈計算的問題:本來結果應該都是數值,但是有些出現了nan,不知是否是程式的問題?

3樓:匿名使用者

沒怎麼看,那個均值是不是取錯了?

ari(i)=mean(ri(i-60):ri(i-1));%求過去5年(即60個月)的均值

arm(i)=mean(rm(i-60):rm(i-1));%求過去5年(即60個月)rm的均值

你這樣寫的話,就不是均值了,是(ri(i-60)和ri(i-1)平均值

應該是ari(i)=mean(ri(i-60:i-1);%求過去5年(即60個月)的均值

下面的也一樣

這個程式看你的樣子是做迴圈的,其他應該不會出錯

matlab神經網路訓練一定次數以後出現nan是什麼情況

4樓:匿名使用者

通常:x=a\b就是a*x=b的解;

x=b/a就是x*a=b的解.

當b與a矩陣行數相等可進行左除.如果a是方陣,用高斯消元法分解因數.解方程:a*x(:, j)=b(:

, j),式中的(:, j)表示b矩陣的第j列,返回的結果x具有與b矩陣相同的階數,如果a是奇異矩陣將給出警告資訊.

在matlab中編寫的程式怎麼執行。求大神指點,急需

如果是函式,不能單獨執行,需要主程式呼叫。如果是一般的程式,直接點run就可以執行。matlab軟體編寫完程式怎麼執行出來的?15 你寫程式並儲存後,如果是指令碼檔案,點上方工具中的 執行 就可以了 如果是函式檔案,要先定義輸入變數,再呼叫函式,才能執行。輸入了要執行的函式名稱,直接回車就可以啊 編...

在MATLAB中執行程式時,顯示錯誤 此上下文中不允許函式定義。怎麼修改?求助,謝謝

題主是把 直接貼到命令視窗裡執行的吧?用function定義的函式必須儲存成m檔案才能執行。如果已經儲存到m檔案,那就是在function之前還有其它 function必須出現在有效 的最前面 所謂有效,是指不包括註釋之類的內容 第一種可能 在命令視窗定義了函式 新建一個fungry1.m檔案 把f...

如何解決iframe中https

html https情況下,不呼叫http協議資料就可以了。如何在 https 中使用 iframe 呼叫 http 內容 https加密情況下,需要全站原始碼https才可以呼叫,無法呼叫http內容,即使用了 也會被瀏覽器遮蔽掉。如何在 https 中使用 iframe 呼叫 http 內容 h...