matlab怎麼用?
2023-03-29 06:41:19 2
Matlab的基本用法目錄: 一、說明 二、數據類型及基本輸入輸出 三、流程控制 四、循環 五、數組、數組運算和矩陣運算 六、M腳本文件和M函數文件、函數句柄 七、文件 八、數據和函數的可視化一、說明matlab作為數學軟體有其強大的圖形用戶界面操作、數據和函數的可視化和數值計算功能,且自帶很多現有的函數和工具包。
而本文只涉及一些比較系統的基本操作,在最後附帶介紹一些基本的數據和函數的可視化命令。建議要用的時候再利用matlab自帶的幫助文檔來搜索有用的函數和工具包。
matlab的函數和命令都是比較人性化的,比如想要搜索讀取fits文件的函數,搜索fits就能夠搜到fitsread函數;需要將讀出的fits數據重新做圖,搜索image就可以找到imagesc函數。從書和別人的文檔都只能學到有限的比較系統的操作,看幫助文檔能發現更多的東西並整理出自己的使用方法。
二、數據類型及基本輸入輸出1、數據類型,聲明及賦初值matlab中存儲的數據類型(class)有以下幾種:而實際上matlab不需要對變量做聲明,當它發現一個新的變量名時,將默認將其為雙精度浮點類型(double)並分配內存空間。(這比C和 Fortran方便了許多,但在完成大運算量的程序時就顯得浪費存儲空間了)當需要把變量a從double轉為其他類型的時候,比如要轉為int16型,可以使用以下命令:a=int16(a)當需要創建一個字符型變量x並對其賦初值時,用以下格式:x='字符串';注意:(1)在命令後加「;」表示不在command window中顯示結果,而對上例來說如果不加「;」則會顯示所賦字符串內容。
(2)所有的命令必須在英文輸入狀態下,如果使用中文輸入狀態下全形的「;」,將被處理為非法字符。其中logical,cell和structure為邏輯,元胞和構架數組類型,將在後面的數組部分提到;function handle為函數句柄類型,將在後面的「M腳本文件和M函數文件、函數句柄」部分提到;java類供JAVA API應用程式接口使用,本文不進行說明。
最後說明一下,matlab也支持複數操作,賦值的時候直接輸入即可,比如:a=1+2i;2、基本輸入輸出輸入:v=input('message') %將用戶輸入的內容賦給變量vv=input('message','s') %將用戶輸入的內容作為字符串賦給變量vkeyboard %用戶可以從鍵盤輸入任意多個指令v=yesinput('prompt',default,possib)%prompt為文字提示,default為預設設置「值」,possib為設置值的範圍。%該指令無法在notebook中運行。
輸出:disp(a) %顯示變量a的內容,另一種顯示變量內容的方法是輸入變量名,但是這樣顯示的結果帶有「a=」。三、流程控制1、運算符(1)關係操作符 == ~= > >= < <= (2)涉及相互關係的集合運算符 & | ~ xor % xor 相異元素返回1,相同元素返回02、IF(1) 基本 : if 邏輯判斷式……end(2) 多重判斷:if 邏輯判斷式。
else if 邏輯判斷式。
else 邏輯判斷式。
endend end3、switch-case結構和C的switch語句一樣switch 變量case數值1 …… case數值2 ……case 數值k %當變量等於數值k的時候,執行本組命令,然後跳出該結構。
……otherwise…… %該命令可以不存在,在變量不等於前面所有的檢測值的時候,執行此組命令。end case4、try-catch結構try %只有當matlab執行本組命令發生錯誤時,後一組命令才會被執行……catch…… %如果此組命令執行又出錯,matlab將終止該結構。
end%可以調用lasterr函數查詢出錯原因。如果函數的運行結果為一個空串,則表明這組命令被成功執行了。
四、循環1、whilewhile 表達式……end2、forfor x=數值 …… …… end%其中的數值可以是數組;或者是類似下面的表達「1:4」,表示從1到4循環;還可以是「1:0.1:4」,表示以0.1為步長從1到4循環。五、數組、數組運算和矩陣運算1、數值數組matlab中數組不需要聲明。
(1)對一維數值數組賦初值逐個元素輸入:x=[1 2 pi/2]冒號生成:x=1:0.1:4定數線性採樣法:x=linspace (a,b,n) %相當於第一個數為a,最後一個數為b,以n為採樣點數等間距採樣。x=logspace(a,b,n)%相當於第一個數為10a,最後一個數為10b,以n為採樣點數等間距採樣。
(2)對一維數值數組的尋訪x(3) %尋訪第三個元素x([1 2 3]) %尋訪第1,2,3個元素x(1:3) %尋訪第1到3個元素x(3:-1:1) %由前三個元素倒排成子數組x(find(x>0.5)) %由大於0.5的元素構成的子數組(3)對二維數值數組賦初值逐個賦值:x=[1,2,3; 3,4,6; 7,8,9] %「;」為二維數組「行」的分隔符號,而「,」和空格為同一行元素的分隔符。整列賦值:x(:,[4,5])=4 %第4、5列賦值為4元素重排:A=reshape(1:9,3,3) %將1到9重新排列成一個(3*3)矩陣,注意matlab是列「優先」,即先排第一列再排第二列,而不是按行來排。
(4)二維數組元素的標識和尋訪「全下標」標識:A(3,5) %第3行第5列元素「單下標」標識:對於一個(m*n)維數組A中第r行第c列元素,其「單下標」表示為:A(l) %這裡l=(c-1)*m+r2、數組運算和矩陣運算(1)數組運算指令 含義A.' 相當於conj(A'),conj的作用help一下吧……A=s 把標量s賦給A的每個元素s+B 標量s分別與B元素之和s-B,B-s 標量s分別與B元素之。