MATLAB物件導向程式設計是什麼樣的體驗?

時間 2021-05-31 00:32:39

1樓:鄭階

我曾經做過乙個用MATLAB實現過乙個Agent Based model,主要用來模擬銀行,存款者和貸款者之間的關係。剛開始的時候嘗試過把銀行,存款者和貸款者分裝成三個類,然後,例項化10個銀行,2000個貸款者和20000個貸款者。由於在整個過程中需要層層的迭代和賦值,導致計算的速度奇慢:

計算1000次迭代需要2~3天的時間(當時我用的是2014版的MBP,MATLAB是2014B)。最後把所有的類全部轉化成了structure,並且盡可能的吧所有的迴圈都改寫成矩陣相乘的形式,速度得到了很大的提高,基本上能在乙個小時以內解決問題。

我覺得每乙個語言都有自己的特性。對於MATLAB而言,良好的矩陣程式設計是它的特性,我們在程式設計的時候要盡可能的從矩陣計算的角度考慮。OOP算是MATLAB支援的乙個特性,在計算的速度和優化上,的確沒有專門的OOP語言有優勢,特別是在大量計算的情況下。

2樓:Bideam luo

體驗就是花了兩個晚上幫自己完成了乙個簡單的航路飛機監控以及進近警告模型。隨便帶妹。。雖然至今不知道那句下次請吃飯就是指下次我再幫她做事然後請我吃飯,還是指下次遇見了請我吃飯。。。

3樓:fool

不算用的特別多,用matlab寫過乙個自動生成實驗報告的程式。

所以可以談談初學者的體驗。

不可否認,OOP還是工程上一項很不錯的發明。有了OOP,你可以寫很多更複雜的程式。如果沒有OOP,我不知道我那個東西應該怎麼寫,即使寫出來的,用起來肯定也會非常困難。

但就體驗來時說,語法還是有點亂,當然整個matlab都有點這個感覺。

最後,終於可以把幾個函式寫在乙個檔案裡了。

4樓:李龍翔

有空慢慢答……

首先一句話MATLAB物件非常有用。

MATLAB的handle型別物件可以類似指標使用,繪圖大部分東西(figure、axes)也都是handle子類所生成的物件。你說用指標傳遞控制代碼和MATLAB普通變數按值傳遞哪個快?就算不快也不會慢吧

物件導向程式設計的本意是什麼?

藍彼得 物件導向是抽象問題 分解問題 組織程式的一種方式。面向過程把問題抽象分解為乙個乙個的函式或者過程,然後通過呼叫這些函式來改變程式的狀態。物件導向把問題抽象分解為乙個乙個物件,然後物件之間發生關係 方法呼叫 改變物件的狀態,從而改變整個程式的狀態。本質上沒啥大的區別,物件導向又封裝了乙個層次而...

Java的程式設計思想 物件導向,物件到底是什麼?

啊強啊 這個,可以這樣理解 你現在餓了,想要吃飯,面向過程的角度就是你自己去生火做飯炒菜 然後在物件導向的角度就是你拿出手機叫了乙個外賣,意思就是把做飯的整個過程交給了其他的物件去處理,你只需要去呼叫做飯這個方法就能夠幫你把飯做好了返回給你 類是對現實世界的抽象,物件是對類的例項化!如何理解類 就拿...

如何用Haskell實現物件導向程式設計?

圓角騎士魔理沙 剛剛讀完了Haskell s overlooked object system,給出了幾個proposal,最後深入研究用HList encode recursive record。很有意思,比如說,class,label是first class的,所以多重繼承玩得很溜,比如說可以自...