第一篇:matlab生成dll方法的心得體會
將MATLAB函數編譯成dll 供VC調用的方法
1簡介
1.1 MATLAB簡介
MATLAB名字是由MATrix和 LABoratory 兩詞的前三個字母組合而成。是美國新墨西哥大學計算機科學系主任的Cleve Moler教授出于減輕學生編程負擔的動機,為學生設計了一組調用LINPACK和EISPACK庫程序的“通俗易用”的接口,此即用FORTRAN編寫的萌芽狀態的MATLAB。
經幾年的校際流傳,在Little的推動下,由Little、Moler、Steve Bangert合作,于1984年成立了MathWorks公司,并把MATLAB正式推向市場。
目前,MATLAB己經成為應用最廣泛的科學工程計算軟件,它廣泛的應用于自動控制、數學運算、信號分析、圖象處理、財務分析等各行各業。用MATLAB編寫的數學運算及圖像處理等程序十分簡單,在MATLAB里有大量的MATLAB庫函數,包括初等數學函數、線形代數函數、矩陣操作函數、數值計算函數、特殊數學函數、插值函數等等,還可以利用MATLAB的編譯工具將m文件方便的轉化為CC++語言、可執行程序(exe)、動態連接庫文件(dll)、COM組件等等,并可直接供CC++語言調用。
為什么要用VC與MATLAB接口?
既然MATLAB擁有強大的數值計算功能,利用VC與MATLAB接口可以充分發揮它的數值計算功能,并且可以不依賴MATLAB軟件運行,在VC下做出漂亮的界面,把復雜的數據處理交給MATLAB去做。
1.2 MATLAB函數編譯為dll與VC之間的通訊方式
1、使用自帶的MATLAB Compiler
2、使用MATcom工具
3、在MATLAB下做com組件,在VC中調用com組件(出現了點問題,目前還沒找到解決方法,這種方法在m文件較大、用matcom、調用math library或使用mcc方式無法實現的時候,推薦使用)2使用Matcom工具
2.1 MATcom簡介
MATcom是MATHworks公司推出的第一個由MATLAB到C++的編譯開發軟件平臺,其最新版本為4.5,集成調試編譯環境為MIDEVA。
這個軟件可厲害了,他生成的exe可執行文件可以在沒有安裝MATLAB的地方運行,只是需要幾個 dll文件而已。如果用MATLAB的Deployment Tool來生成的exe可執行文件,在沒有安裝MATLAB的機子上運行時需要安裝MCR,而MCR現在有200M 多,所以很不方便。
通過MATcom連接MATLAB m文件 有以下三種方法:
(1)經過簡單的設置,由MIDEVA將m源文件轉換為C/C++,然后添加到VC工程中。
(2)由MIDEVA直接生成EXE文件,然后在VC中通過Shell調用。這種方法簡單方便,但運行時出現一個控制臺窗口,而且由于VC和MATLAB之間不能交互,通用性差,僅適用于VC調用MATLAB實現圖形顯示的場合。
(3)通過Visual MATcom工具條,使用Add-in,這種方法提供了MATLAB和VC直接集成的途徑,且可快速集成m文件到VC工程中創建獨立的C/C++應用程序、C MEX DLL,在調試過程中可以查看矩陣變量的值,可直接修改m源文件而不是修改生成的C/C++文件。
2.2 MATcom的安裝
a)安裝之前,首先在matlab的安裝目錄下建立文件夾:MATLAB7.0bintoolboxmatlabgeneral。matcom4.5在安裝時需要你輸入口令,Matcom4.5的口令為FREE-4.5-1193046-80295111。
b)之后啟動MATLAB,運行以下命令: cd c:matcom45 % MATcom的安裝路徑 diary mpath matlabpath diary off c)復
制%MATcom45%binusertype.dat文件到%VC%CommonMSDev98bin目錄。
d)運行Visual C++,并從菜單中選擇Tools->Customize->Add-ins and Macro Files,選擇Browse,改變文件類型為
Add-in(.dll),選擇%MATcom45%binmvcide.dll文件,確定。
e)在Visual C++的開發環境中可以看到一個Visual MATcom工具條,安裝成功。
2.3 Matcom的工作原理
Matcom編譯.m文件是先將.m文件按照與Matcom的Cpp庫的對應關系,翻譯為CPP源代碼,然后用對應版本的C編譯器將該CPP文件編譯為exe或dll文件,所以,在第一次運行時讓指定C Complier的路徑是必需的,否則將無法編譯。指定好的C Complier的信息寫在Matcom/bin/matcom.ini文件中。但也有不足之處:比如,對struct等類的支持有缺陷,部分繪圖語句無法實現或得不到準確圖象,尤其是三維圖象。
2.4使用Matcom將.m文件翻譯為C++文件
a)在MIDEVA下新建一個.m文件
function Test1()x=-10:0.1:10;y=sin(x);plot(x,y);
在matcom安裝路徑Debug文件夾下將會產生以下文件:
從這里可以看出,MIDEVA己經將.m文件轉化成c++代碼,放在Test1.cpp中。
b)在VC中用MFC Wizard(exe)創建一個基于對話框名為Example的工程。在面板上添加一個ID為IDC_BUTTON1按扭。
c)將C:matcom45Debug目錄下的Test1.cpp文件的內容拷貝到
void CExamleDlg::OnButton1()下;
d)將C:matcom45lib下的matlib.h 和v4501v文件和C:matcom45debug下的Test1.h文件拷貝到工程Example目錄下,然后在VC中將庫文件和頭文件加入到工程中:工程->添加工程->Files,選擇剛剛拷貝到Example目錄下的matlib.h、v4501v和Test1.h文件。
e)在ExampleDlg.cpp中加入如下代碼: #include “matlib.h” #include “Test1.h” f)
2.5使用Matcom工具編譯為dll文件供VC調用
在MIDEVA中新建一個.m文件,然后將其編譯為.dll文件,新建工程,File->New Project…,設置組件屬性,在“Component name”項中填寫組件名稱“component”,這時候會自動生成類“component”,在“Class name”項中填寫類名稱“huatu”,為了便于區分,選中“Classes”中的“component”,點擊“remove”按鈕,將類component移除,再點擊“Add>>”添加新類huatu,結果如圖5。點擊“OK”,接下來出現一個對話框,選擇“Yes”.添加文件:選中左邊工作區的“huatu”,點擊Project->Add File?,選擇已經編輯好的函數文件huatu.m,如圖所示。需要注意的是m文件必須是m函數,否則會報錯,如果是m腳本文件的話,只需要改為無輸入輸出參數的m函數即可。
生成 com組件:點擊Build->COM Object?,在這里出現了點問題,目前還不知道解決辦法。使用MATLAB 自帶的Matlab Compiler MATLAB Compiler 是MATLAB自帶的一個編譯器,它能將m文件轉化成 C、C++或p等各種類型的源代碼,并根據需要生成可執行文件、lib文件(庫文件)、dll文件或S函數文件等。Matlab所使用的編譯器包括了MATLAB 的CC++數學庫函數以及圖形庫。
必須保證編譯器的正確配置,因為編譯器使用了CC++庫函數,所以在使用前需要使用 mex-setup 和 mbuild-setup兩個命令對編譯器進行配置。步驟如下:
1.設置Matlab的編譯器,使用外部的VC或者gcc等編譯器。2.編譯m文件成dll 3.設置VC等的繼承環境,設置C需要用到的靜態庫和動態庫 4.編寫C調用dll 3.1設置Matlab編譯器
首先要安裝Matlab 編譯器,一般來說,在安裝了Matlab后編譯器就己經安裝了,所在就只需要對Matlab編譯器進行設置。3.1.1 編譯環境設置
首先設置系統的環境變量,點擊“我的電腦”屬性-?系統特性--?高級-?環境變量-?添加系統變量Matlab值為Matlab的安裝路徑:G:matlab7.0binwin32,重啟電腦即可。
3.1.2 Matlab7.0 編譯器設置
(a)為編譯后產生的MEX文件進行預配置
運行 Matlab,在 Matlab 的命令窗口(Command Window)鍵入“ mex-setup ”命令后,按回車鍵,安裝 Matlab 編譯器;
(b)為產生獨立外部應用程序進行預配置
對Matlab編譯器mbuild應用程序進行設置,運行 Matlab,在 Matlab 的命令窗口(Command Window)鍵入“ mbuild-setup ”命令后,按回車鍵,安裝 Matlab 編譯器;
編寫 Matlab文件 huatu_test.m,一個很簡單的程序,function [X1,Y1]=huatu_test(x1,x2)x=x1:0.1:x2;y=sin(x);X1=rand(1);Y1=rand(1);plot(x,y,X1,Y1,'*');end
3.2 將Matlab函數轉成dll函數
在 Matlab的 Command Window /下輸入命令: 命令 1 : mcc-W lib:dlltest-T link:lib huatu_test.m 或
命令 2 : mcc-W cpplib: dlltest-T link:lib huatu_test.m 其中,mcc是matlab提供的編譯命令(可以理解為gcc),對于這一點,matlab的幫助說明如下:
-W lib:string link:lib 其中-W是控制編譯之后的封裝格式,cpplib,是指編譯成C++的lib,cpplib冒號后面是指編譯的庫的名字,-T表示目標,link:lib表示要連接到一個庫文件的目標,目標的名字是后面的你寫的m函數的名字。生成的文件將會保存在當前目錄下,默認的當前目錄為:MATLAB根目錄work,找到dlltest.h、dlltest.lib和dlltest.dll文件,這三個文件是我們需要的。
3.3 M函數文件編譯成DLL文件問題解決
1、Warning: No matching builtin function available for C:MATLAB6.5toolboxsimulinksimulinkset_param.bi 解決方法:
1)將 MATLAB6.5toolboxcompilerdeploymatlabrc.m 中的 81行 set_param(0,'PaperType',defaultpaper);82行 set_param(0,'PaperUnits',defaultunits);注釋掉,或者干脆刪掉。
2)在 Matlab6.5 的命令窗口運行 rehash toolboxcache 3)重新編譯文件后即可運行。
2、mbuild –setup的錯誤
Error: Could not find the compiler “cl”on the DOS path,use mbuild to configure your environment properly.由于VC安裝有誤而導致此錯誤,在安裝時必須選擇默認路徑,否則matlab檢測不到VC編譯器的物理位置 3.4 dll 文件載入
在VC中新建一個名為ceshi基于對話框的工程,在工程中添加一個名為“測試”的button按鈕。將dlltest.h、dlltest.lib和dlltest.dll文件拷貝到當前工程目錄下,并通過Project->Add To Project->Files 選擇拷貝到當前目錄下的三個文件,將文件引入工程。
在ceshiDlg.cpp文件中添加頭文件dlltest.h #include “dlltest.h” 打開dlltest.h文件,里面有有關函數的定義,找到其中三個函數:
extern mxArray * mlfHuatu_test(void);extern void dlltestInitialize(void);extern void dlltestTerminate(void);
從函數意思不難知道它們的作用,dlltestInitialize用來初始化dll庫,dlltestTerminate用來結束調用dll, mlfHuatu_test為主程序執行函數。將三個函數拷貝到button響應代碼中,進行修改:
void CCeshiDlg::OnButton1(){ dlltestInitialize();mlfHuatu_test();dlltestTerminate();} 在MATLAB下做com組件,在VC中調用com組件
COM(Component Object Model)組件對象模型,在Matcom里做 COM組件,步驟如下:
1、在matlab command window 輸入如下命令:
>> comtool 出現com編輯界面,兩種方法比較
其實兩種方法大致思路都一樣,但是各自都有局限:
用Matlab 自帶的Compiler 將.m文件轉換成c++代碼功能有很多限制:
1、不能轉換腳本m文件,只能轉換m函數;
2、不能使用matlab對象;
3、不能用input或者eval操作matlab空間變量;
4、不能動態地命名變量,然后用load或者save命令來操作;
5、不能處理具有嵌套調用其他m文件的m文件;
6、不能使用MATLAB內聯函數;
另外用Matlab自帶的編譯器有版本限制,MATLAB6.5的編譯器為3.0版本,MATLAB7.0的編譯器為4.0版本,4.0版本的編譯器對原編譯器進行了很多改進,3.0很多方法都不再使用,如果在7.0版本上使用會出現錯誤。
問題:在VC6.0下怎樣調用Matlab7.0下編譯生成的dll文件? 問題:在Matcom里生成了dll文件,在VC中該怎樣調用它? 問題:在Matlab7.0下生不成dll組件?
第二篇:Matlab心得體會
Matlab心得體會
10金融3 呂淼 2010241125 在為學習這門課前就聽說了他的強大,因為現在的經濟模型都是需要這些分析軟件的,也曾聽說金融的未來方向是需要數學等等作為依托的。曾經旁聽過學校數學建模的課程,當時老師用的是lingo。對那個只需要U盤攜帶就可以安裝的小東西記憶深刻。等到學習matlab時覺得這才是真正的王道啊。
它不僅有強大的運算功能,還有強大的繪圖功能,雖然學習了有一個學習,但是我對他的了解額僅僅是一點點,或許連入門都談不上。因為我學習時了解到一個現實。就是matlab的學習依賴有比較好的數學功底,其中我看最經常運用到的就是矩陣。我從網上了解到matlab是一門高等數學和計算機技術結合的東西,學習它必須具有相應的數學和計算機知識。然而很可惜,我的書寫不是很好。每次講到這個部分的時候就覺得聽說理解無能了。特別是我今年還是大二,有一次老師講課時用到協方差。無可避免的我笑了,因為協方差是我們下節課概率論數理統計老師要講的內容。大一的時候還不覺得,但是大二,越是學習以后的內容越是感覺到時間不夠用。或許時間是夠用的,但是無法放棄那些占用自己時間表的無用項目。雖然這學期的學習的時間短暫,就算時間足夠,老師也不能把所有的都講解給我們,因為一個軟件的功能需要我們自己不斷的去摸索,老師也不可能知道所有。老師只是個指路人,最終的學習還是要靠自己。而且在摸索的過程中,我們能夠發現和體會學習的快樂。痛并快樂著是種常態了吧。
自我感覺學習matlab與其說是學習一門軟件,更不如說是學習一門語言。用一種數理的語言描述現象,揭示表象下的規律。此外,我認為matlab中的作圖功能很強大,不僅簡單的函數現象可以明確畫出,而且一些點狀物,甚至立體圖也可以畫出。大一上微積分的時候,老師曾經多次在課件中加入用matlab畫出的圖來。不論是一維二維三維等等,都能很好的畫出來。只要能編寫出函數式,在短短的幾秒之內,他就會呈現在你眼前。另外就是圖形的直觀性,這是由陰影的制作的。而且可以根據需要,坐標圖上加標題,坐標軸標記,文本注釋級柵格等,也可以指定圖線形式,比如是虛線。顏色也可以自己來定。可以在同一張圖上畫,也可以單個顯示。
今年選擇金融matlab一方面出于希望能夠提前修完大三時期的課程,能夠空出更多的時間去考研或者為就業做準備。另一個考慮就是希望明年能夠參加數學建模大賽,今年種種糾結放棄了,覺得萬分可惜。明年也就是大三下學期的話我就會再來一次,而且還會更加堅定些。那么學習matlab的話對明年的計劃也是有幫助的。在學習的過程中,因為以前學過access中的select語言,覺得就編寫這方面是有共性的,但是matlab的編程語言似乎更多更復雜一點,這是由于涉及的數學模型,數學公式更多的原因。老師在講解的過程中是通過一個個具體的金融例子來講解的,而不是就matlab這個具體的軟件工具進行講解。這個給我帶來相當大的打擊,因為我發現我不僅僅是工具不能夠熟練,涉及到的專業知識也是一知半解。這更加堅定了我要好好學習專業知識的決心,大學四年有幾個人是希望荒度過去的呢?可是今年的這門課真的是讓我感到沒學到什么,估計也是因為我抱著看一看的隨意態度來的吧,也沒有那種遇到不懂的就一定要弄懂它的決心和毅力。說什么都是借口了,無法掩飾我沒有學好它的事實。事實上,我覺得今年這門課的重點并不是讓我們掌握這種軟件的具體用法,而是主要向我們展示如何用它去解決一些金融問題,數學問題。這點讓我很郁悶,因為我不懂得原理,聽起來這門課倍感吃力啊。可是嘛,年輕沒有什么不可以,又有誰可以斷言我接下來的生活中不能好好學習這個東西為自己的工作,學習,生活,研究興趣帶來方便呢。
從大學開學的見聞到現在學習MATLAB,感覺這是一個很好的軟件,語言簡便,實用性強。作為一個做新手,想要學習好這門語言,可以說還是比較難的。在我接觸這門語言的這些天,除了會畫幾個簡單的圖形,其他的還是有待提高。從另一個方面也對我們大學生提出了兩個要求——充實的課外基礎和良好的英語基礎。在現代,幾乎所有好的軟件都是來自國外,假如不會外語,想學好是非常難的。其實想要學習好一們語言,不能只靠老師,關鍵是自己。每個人內心深處都是有抵觸意識的,不可能把老師的所有都學到。學習這門語言,不光是學習一種語言,更重要的事學習一種方法,一種學習軟件的方法,還有學習的態度。
總結一下,學習任何一門語言:態度決定一切。不論是英語還是計算機語言。其實以前上高中的時候接觸過這種編程語言,當時記得最頭疼的就是循環語句,但是在matlab中這種東西用的就比較少了。語言語句都是很簡潔利落的,都是一槍瞄死靶心的那種,很直接,這也讓我減輕不少心理負擔。
其實學習這種事,與其說學習什么具體的東西,更不如說是學習一種態度,從種種波折中認識到自己的局限性,不足。心情會沮喪,也會豁然開朗。光想不練假把式,不論想的再多,不實際運用還是沒有用的。書山有路勤為徑,學海無涯苦作舟。華山再高,頂有過路。這就是我今年學習金融matlab的心得體會。
第三篇:Matlab心得體會
Matlab心得體會
10金融3 呂淼 2010241125 在為學習這門課前就聽說了他的強大,因為現在的經濟模型都是需要這些分析軟件的,也曾聽說金融的未來方向是需要數學等等作為依托的。曾經旁聽過學校數學建模的課程,當時老師用的是lingo。對那個只需要U盤攜帶就可以安裝的小東西記憶深刻。等到學習matlab時覺得這才是真正的王道啊。
它不僅有強大的運算功能,還有強大的繪圖功能,雖然學習了有一個學習,但是我對他的了解額僅僅是一點點,或許連入門都談不上。因為我學習時了解到一個現實。就是matlab的學習依賴有比較好的數學功底,其中我看最經常運用到的就是矩陣。我從網上了解到matlab是一門高等數學和計算機技術結合的東西,學習它必須具有相應的數學和計算機知識。然而很可惜,我的書寫不是很好。每次講到這個部分的時候就覺得聽說理解無能了。特別是我今年還是大二,有一次老師講課時用到協方差。無可避免的我笑了,因為協方差是我們下節課概率論數理統計老師要講的內容。大一的時候還不覺得,但是大二,越是學習以后的內容越是感覺到時間不夠用。或許時間是夠用的,但是無法放棄那些占用自己時間表的無用項目。雖然這學期的學習的時間短暫,就算時間足夠,老師也不能把所有的都講解給我們,因為一個軟件的功能需要我們自己不斷的去摸索,老師也不可能知道所有。老師只是個指路人,最終的學習還是要靠自己。而且在摸索的過程中,我們能夠發現和體會學習的快樂。痛并快樂著是種常態了吧。
自我感覺學習matlab與其說是學習一門軟件,更不如說是學習一門語言。用一種數理的語言描述現象,揭示表象下的規律。此外,我認為matlab中的作圖功能很強大,不僅簡單的函數現象可以明確畫出,而且一些點狀物,甚至立體圖也可以畫出。大一上微積分的時候,老師曾經多次在課件中加入用matlab畫出的圖來。不論是一維二維三維等等,都能很好的畫出來。只要能編寫出函數式,在短短的幾秒之內,他就會呈現在你眼前。另外就是圖形的直觀性,這是由陰影的制作的。而且可以根據需要,坐標圖上加標題,坐標軸標記,文本注釋級柵格等,也可以指定圖線形式,比如是虛線。顏色也可以自己來定。可以在同一張圖上畫,也可以單個顯示。
今年選擇金融matlab一方面出于希望能夠提前修完大三時期的課程,能夠空出更多的時間去考研或者為就業做準備。另一個考慮就是希望明年能夠參加數學建模大賽,今年種種糾結放棄了,覺得萬分可惜。明年也就是大三下學期的話我就會再來一次,而且還會更加堅定些。那么學習matlab的話對明年的計劃也是有幫助的。在學習的過程中,因為以前學過access中的select語言,覺得就編寫這方面是有共性的,但是matlab的編程語言似乎更多更復雜一點,這是由于涉及的數學模型,數學公式更多的原因。老師在講解的過程中是通過一個個具體的金融例子來講解的,而不是就matlab這個具體的軟件工具進行講解。這個給我帶來相當大的打擊,因為我發現我不僅僅是工具不能夠熟練,涉及到的專業知識也是一知半解。這更加堅定了我要好好學習專業知識的決心,大學四年有幾個人是希望荒度過去的呢?可是今年的這門課真的是讓我感到沒學到什么,估計也是因為我抱著看一看的隨意態度來的吧,也沒有那種遇到不懂的就一定要弄懂它的決心和毅力。說什么都是借口了,無法掩飾我沒有學好它的事實。事實上,我覺得今年這門課的重點并不是讓我們掌握這種軟件的具體用法,而是主要向我們展示如何用它去解決一些金融問題,數學問題。這點讓我很郁悶,因為我不懂得原理,聽起來這門課倍感吃力啊。可是嘛,年輕沒有什么不可以,又有誰可以斷言我接下來的生活中不能好好學習這個東西為自己的工作,學習,生活,研究興趣帶來方便呢。
從大學開學的見聞到現在學習MATLAB,感覺這是一個很好的軟件,語言簡便,實用性強。作為一個做新手,想要學習好這門語言,可以說還是比較難的。在我接觸這門語言的這些天,除了會畫幾個簡單的圖形,其他的還是有待提高。從另一個方面也對我們大學生提出了兩個要求——充實的課外基礎和良好的英語基礎。在現代,幾乎所有好的軟件都是來自國外,假如不會外語,想學好是非常難的。其實想要學習好一們語言,不能只靠老師,關鍵是自己。每個人內心深處都是有抵觸意識的,不可能把老師的所有都學到。學習這門語言,不光是學習一種語言,更重要的事學習一種方法,一種學習軟件的方法,還有學習的態度。
總結一下,學習任何一門語言:態度決定一切。不論是英語還是計算機語言。其實以前上高中的時候接觸過這種編程語言,當時記得最頭疼的就是循環語句,但是在matlab中這種東西用的就比較少了。語言語句都是很簡潔利落的,都是一槍瞄死靶心的那種,很直接,這也讓我減輕不少心理負擔。
其實學習這種事,與其說學習什么具體的東西,更不如說是學習一種態度,從種種波折中認識到自己的局限性,不足。心情會沮喪,也會豁然開朗。光想不練假把式,不論想的再多,不實際運用還是沒有用的。書山有路勤為徑,學海無涯苦作舟。華山再高,頂有過路。這就是我今年學習金融matlab的心得體會。
第四篇:matlab心得體會
MATLAB學習心得體會
Matlab,提起它,不管我們上課是否認真聽講了,我們都應該對它不再陌生,我們不可否認它的強大之處,正如一節課時老師給我們說的“Matlab可以做很多事情”。通過近一段的學習,使我更加確信,它是一款集數據分析、矩陣運算、信號處理和圖形顯示于一體,可方便地應用于數學計算、算法開發、數據采集、系統建模和仿真、數據分析和可視化、科學和工程繪圖、應用軟件開發等方面的強悍軟件,是研究人員、工程人員研究工作中 不可多得的工具。
正因為其強大之處,以及可視性及可交互性使我對它的學習產生了濃厚的興趣。開學至今,短短十次課,我們學習了Matlab矩陣及其運算、Matlab程序設計、M文件操作、M文件調試、M文件高級編程以及Matlab繪圖等??不敢保證每節課都認真聽講,但都盡力去聽,一段時間下來,對Matlab還是有了一定的框架性認識 及編程能力。但對于Matlab這樣的軟件來說,套用曾經一個老師
說的話“我給你們講的都是皮毛,你們學到的更是皮毛中的皮毛”,雖然有點搞笑,但卻是不爭的事實,學習軟件類的東西,最好的辦法就是激發興趣和多加練習。我想當老師在課堂上給我們演示如何用Matlab編程解決一些實際問題以及編程出現一些絢麗豐富的圖形時,我們無不驚嘆其美麗,我想憑這一點激發起同學們的興趣是沒有問題的,但問題是同學們為什么還說它難學呢?關鍵還是在于同學們下課后缺乏鍛煉,加之每次課間隔時間較長,僅憑上課時記得的東西,是很難連貫及熟練運用的。
關于如何才能夠更好地學習好Matlab,通過下面同學們之間的交流,綜合同學及個人意見,提出以下幾點建議(純屬個人觀點,如有不妥,還請見諒):
1、針對學習資料:
希望郵箱中上傳PPT文件標清章節號,一來方便有興趣及精力的同學提前學習,二來方便同學下來后及時按照章節復習。(注:尤其是對初學者由易到難的過程中顯得尤為重要)
2、針對上課學習
對于軟件類的學習存在這樣一個問題,那就是同學們上課挺感興趣得聽講,聽到入迷時恨不得立刻就找一臺電腦試一試,但下課后可能去忙其他事情,不一會兒,這一份熱情就消退了,也不會再去練習。針對此,考慮到目前大多數同學都有電腦的情況下,我們是否可以讓同學們上課時帶電腦到課堂上,一方面老師在講臺上演示,另一方面同學們在下面即時練習,這樣也許會收到更好地教學效果。
3、針對課下學習
本學期Matlab學習,老師給的課下作業很少,也許老師考慮同學們比較忙,以及可能交上來的作業效果質量達不到預期效果。但我認為適量的課下作業還是非常有必要的,尤其是對于目前大學生普遍自制力較差的情況,這點顯得更加有意義。針對如何布置課下作業以及布置什么作業,根據自身學習經驗認為這樣比較好:課下作業可以布置那些上課老師演示過的程序或PPT中程序略加改動,讓同學們下課后及時完成上交。這不僅使同學們及時復習課上學習內容,也不至于使那些學習效果不佳的同學認為作業太難而直接放棄做去copy別人的。
以上即為近期學習Matlab的一些心得體會,限于學習的程度及能力有限,上文難免有認識膚淺之處,懇請批評指正。
第五篇:matlab心得體會
心得體會
雖然說本次matlab實訓只有短短的一個禮拜,但在老師的耐心教導以及自身的努力下,還是獲益匪淺。本次matlab實訓是以信號與系統知識為實例來編寫程序的,由于信號與系統正是本學期的課程,所以在理論知識上也比較容易理解,在加上老師耐心講解,使我們的信號與系統知識也得到了鞏固,可謂是一舉兩得。
在大一學年時,雖然已學過一學期的matlab知識,但是由于時間隔得有點久了,所以很多知識也有所遺忘了,通過本次實訓,我們又重新學習鞏固了所學知識,在很多matlab的應用上也有了新的體驗。比如如何運用符號運算、向量表示法和計算卷積、系統的各種響應等。
Matlab這門課也算是門技術活,要想學好這門課就必須多練習,正所謂熟能生巧,練習多了就熟練了,也就能掌握好并且更好的運用這門課了,我們以前所學的知識之所以能遺忘得這么快,完全是因為我們掌握得不牢固。Matlab是一門很實用的課程,不管是信號與系統還是將來要學的數字信號處理等多門課都可以用matlab來實現,所以掌握好matlab為我們以后的學習和工作打下基礎。
通過matlab的實訓,同時也是對我們細心和耐心的鍛煉。Matlab的編程需要很細心,一個標點符號的錯誤或者字符的大小寫都將導致程序報錯,所以這就有利于培養我們的細心。Matlab編程需要長時間的坐在電腦前工作,這就有利于培養我們的耐心,一旦坐在電腦前開始工作,常常會有一種時間過得特別的快的感覺。總之,本次matlab專題訓練讓我收獲很多。