五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

關于m代碼轉py代碼的總結:

2023-03-08 10:08 作者:melonseeds123  | 我要投稿

一、將全部m代碼轉py后,輸出曲線結果不對

原因分析:1、函數(shù)寫錯;2、兩種語言求解精度不一樣,產(chǎn)生的誤差累積;

解決方法:

1、最開始的笨方法:逐行代碼檢查;——太浪費時間

確實發(fā)現(xiàn)一些語法的問題:主要有:

? ? ? ?1.1 np.dot(a,b,c)=np.dot(a,b):矩陣連乘用@,兩個矩陣相乘用@或np.dot;

? ? ? ?1.2 在py中a=b表示a就是b,b就是a,a變化b也變化,應改為a=b.copy()

2、采樣py調用m代碼的方式:將部分函數(shù)寫成py,部分函數(shù)仍然是m;通過調用可以檢查部分py文件是否寫錯;(結果子函數(shù)沒寫錯,最終結果就是不對)

此處采用py調用octave的形式,實現(xiàn)py調用m代碼,主要在py里安裝oct2py模塊,該模塊具體使用請參考官方文檔:打開下面連接即可;

GitHub - blink1073/oct2py: Run MFiles from Python - GNU Octave to Python bridge

注意:此種調用方式需要安裝octave軟件(開源);

綜上:是不是可以斷定結果的差異是由兩種語言之間求解精度不一樣導致的呢?

笨人確實開始這么以為的,并且逐行調試py代碼以及matlab代碼并對比,發(fā)現(xiàn)兩者之間確實存在求解精度的問題。。。。。。。


后來,細想,上面對比對象錯了呀,應該對比的是py調octave的結果 和 octave本身的求解結果,通過對比發(fā)現(xiàn),該兩者精度一致,并不存在求解精度的問題;因此,還是本身程序寫的不對;

最后,將正確的m代碼,在octave下跑,octave和matlab求解結果一致(注意:存在精度差異,但不足以影響控制效果,可忽略);在正確代碼基礎上,逐行驗證錯誤的py代碼,一個循環(huán)不行就兩個循環(huán),終于發(fā)現(xiàn)錯誤了。。。。。是個小細節(jié)的問題。






關于m代碼轉py代碼的總結:的評論 (共 條)

分享到微博請遵守國家法律
禄丰县| 乾安县| 浙江省| 金堂县| 崇州市| 沙雅县| 仪陇县| 芮城县| 翁牛特旗| 政和县| 介休市| 晋中市| 长武县| 陵水| 科技| 彭州市| 文登市| 长岭县| 彩票| 南郑县| 和田县| 梅河口市| 哈密市| 定襄县| 徐汇区| 辰溪县| 蒲江县| 昭通市| 科技| 望江县| 安多县| 汽车| 诏安县| 德令哈市| 宜章县| 金乡县| 南通市| 长兴县| 南投市| 东海县| 松溪县|