高手,怎樣提高MATLAB數值代入計算的速度

時間 2021-10-28 11:31:12

1樓:小榮榮

我也遇到了跟你相同的問題,表示式十分複雜,是通過前面推匯出來的,後面需要代入引數計算,也是用的subs函式,計算速度慘不忍睹,目前還沒找到解決方案,請問題主最後如何解決的?

***********************************===

剛才試了一下,用的是一樓說的matlabfunction函式,將我用matlab求導得到的符號函式轉化成控制代碼函式,然後再代入數值計算,原來算2分多鐘的現在用30秒。

syms r sita

fun = r+sita; %待求符號函式

fun = matlabfunction(fun); %轉化為控制代碼函式

q = fun(1,2); %代入求值

題主可以試一下,看看速度怎麼樣。

2樓:匿名使用者

符號計算速度肯定要比數值計算慢,如果沒有精度要求的話,從一開始就可以用數值計算。

另外樓主可以試試matlabfunction,先將y轉變為函式。

ynew=matlabfunction(y);

然後ynew(110,1300,180,6740.3,28000)試試,注意變數的順序可能有所改變

怎麼樣才能提高matlab的執行速度呢?

3樓:匿名使用者

你做的東西越複雜就越慢。。我做箇中值濾波也要busy很長時間。。要弄臺好電腦。。。

4樓:匿名使用者

matlab是一種解釋性語言,從執行效率來說肯定遠不如其他基本語言。但還是有些方法可以提高執行速度的:

1,matlab擅長於矩陣運算,但並不適用於迴圈,能不用迴圈的地方儘量用矩陣運算代替;

2,對於大維度的矩陣,要預先確定它的維度,比如用zeros(a,b,c)預先定義好,這樣每次給矩陣賦值的時候就不用改變維度了,對運算速度的提高很明顯,這點你可以用matlab自帶的tic和toc命令測試。

3.對於多重迴圈的將長的迴圈放在內迴圈。還有對有相似功能的命令的選擇也對速度有影響。

如果對於計算量特別大的程式,用matlab是不怎麼合適的哦,你可以把計算部分用其他語言,比如fortran來實現。

5樓:匿名使用者

是你的系統環境變數有問題吧!!你看看!

6樓:匿名使用者

三維陣列納直接進行處理!這樣就可以了!elivf的回答

matlab程式執行太慢,請大神幫看看,如何優化加快運算速度! 50

7樓:

建議:取消syms,用數值積分方法先計算積分號裡面的東西,而不要用符號積分演算法。將下面這段:

syms z

w1=mt*t0/(4*pi*m*ne*(dl*dt)^0.5);

w2=exp(x.*u/(2*dl));

b=((u*x./(2*dl)).^2+(u*y).^2/(4*dl*dt)).^0.5;

w3=2*besselk(0,b);

w5=int((1/z)*exp(-z-(b.^2/(z*4))),t*u^2/(4*dl),inf);

w4=double(w5);

替換為w1=mt*t0/(4*pi*m*ne*(dl*dt)^0.5);

w2=exp(x.*u/(2*dl));

b=((u*x./(2*dl)).^2+(u*y).^2/(4*dl*dt)).^0.5;

w3=2*besselk(0,b);

ifun = @(z,b)(1./z).*exp(-z-(b.^2./(z*4)));

w5=integral(@(z)ifun(z,b),t*u^2/(4*dl),inf);

w4=w5;

8樓:仍樂

看不太懂你的程式,

不過明顯有很大問題,

數值計算絕對不應該出現syms(符號變數),感覺教你matlab的完全不懂matlab,請把你的符號積分全部換成數值積分

就你這簡單的小積分(-200:5:1000) 就是幾秒的事

請高手幫我看看下面的matlab程式,怎麼能提高執行速度,資料也不算大的,但執行了將近兩小時!

9樓:匿名使用者

程式覆沒有大的問題制

,可以執行。有個問題n=1:1:

1000; 的步長太小了,所以執行很長。建議你改一下步長,如n=1:10:

1000,用我電腦執行的時間為 237.718235 seconds.

執行結果

怎樣提高手機的速度,如何提高手機執行速度?

第一種,關閉省電模式。當手機訊號強 網速慢時,可以檢視是否開啟了省電模式,如果是的話,選擇關掉就能提高網速啦,當然這種方法要在手機電量充足的情況下進行哦。手機網速比 蝸牛 還慢?這樣設定,讓你網速快到飛起。第二種,還原網路設定。直接進入手機設定,找到系統,點選重置,再點選還原網路設定,之後再進行重啟...

怎樣提高手的穩定性?

我認為練啞鈴不可取 檯球的三要素 點 線 力 而這三種要素最重要的,也是最難練的就是力,而檯球對於力的要求是非常細膩的 所以儘量不要讓自己本身的力量範圍不穩定,那樣大力或是小力都控制不好,拿捏的不準。隨著你練啞鈴的時候會長肌肉,如果你去品味,當你練完啞鈴的時候去打球,手會抖,所以出杆會不穩。要想把檯...

怎樣快速提高插畫手繪能力,怎麼提高手繪能力

想要系統的學習可以考慮報一個網路直播課,推薦cgwang的網路課。老師講得細,上完還可以回看,還有同型別錄播課可以免費學 贈送終身vip 自制能力相對較弱的話,建議還是去好點的培訓機構,實力和規模在國內排名前幾的大機構,推薦行業龍頭 王氏教育。王氏教育全國直營校區面授課程試聽 複製後面連結在瀏覽器也...