一看政、MATLAB軟件介紹
1.matlab的界面
左上角,home標(biāo)簽下禀横,找到layout進(jìn)行設(shè)置/復(fù)位,可以設(shè)置各板塊的顯示與隱藏粥血。其中有幾個(gè)部分柏锄,請(qǐng)務(wù)必要顯示
①Current Folder:中文一般翻譯成工作路徑,一般設(shè)置成一個(gè)自己建立的复亏、有讀寫(xiě)權(quán)限的文件夾趾娃,例如我的文檔下建立一個(gè)matlab文件夾
②Command Window:字面意思是命令窗口,用來(lái)運(yùn)行代碼缔御,所有的代碼都是在這里輸入
③Workspace:字面意思是工作空間抬闷,其實(shí)就是暫存所有運(yùn)行結(jié)果的地方,“暫”的具體含義是:關(guān)閉matlab后丟失
2.軟件中的基本概念
2.1 函數(shù)
matlab之所以強(qiáng)大,就是因?yàn)樘峁┐罅康暮瘮?shù)笤成,你也可以建立自定義函數(shù)评架,方法是:Home->New->function。自定義函數(shù)一般保存在工作路徑下炕泳。函數(shù)文件的特征是:擴(kuò)展名m纵诞,內(nèi)容的第一行以function開(kāi)頭,后續(xù)內(nèi)容是“輸出變量=函數(shù)名(輸入變量)”培遵。且函數(shù)名和文件名相同浙芙。
每個(gè)函數(shù)在Command Window中運(yùn)行,用來(lái)完成特定的計(jì)算任務(wù)荤懂,運(yùn)行方式是輸入“輸出變量=函數(shù)名(輸入變量)”茁裙,然后按回車(chē)塘砸。例如有個(gè)系統(tǒng)自帶的函數(shù)是用來(lái)求絕對(duì)值的节仿,函數(shù)名abs,所以在Command Window里輸入“a=abs(-1)”掉蔬,就會(huì)顯示運(yùn)算結(jié)果為“a=1”廊宪。且運(yùn)算結(jié)果會(huì)在Workspace里出現(xiàn)一個(gè)變量a,雙擊后可看到a的值是1女轿。
2.2 腳本
可以理解為特殊的函數(shù)箭启,這種函數(shù)內(nèi)容的開(kāi)頭沒(méi)有function那行,因此沒(méi)有輸入蛉迹、輸出變量傅寡,也沒(méi)有函數(shù)名。文件擴(kuò)展名和函數(shù)一樣是m北救,也需要在Command Window里運(yùn)行荐操。腳本都是用戶建立的,方法是:Home->New Script珍策。一般保存在工作路徑下托启。腳本的功能就是完成用戶需要的、復(fù)雜的計(jì)算任務(wù)攘宙,通常腳本里會(huì)調(diào)用很多函數(shù)屯耸。
2.3 GUI
一般翻譯為界面,就是人機(jī)交互界面的意思蹭劈。寫(xiě)腳本處理問(wèn)題的方法有點(diǎn)麻煩疗绣,讓人看起來(lái)更像是碼農(nóng),所以現(xiàn)在很多問(wèn)題可以通過(guò)界面點(diǎn)點(diǎn)鼠標(biāo)解決铺韧。這時(shí)候就需要打開(kāi)界面多矮,打開(kāi)方法是:在APPS標(biāo)簽里可以找到所有已安裝的GUI工具,單擊即可祟蚀。注意右邊有個(gè)小三角可以點(diǎn)開(kāi)工窍。和函數(shù)一樣割卖,用戶也可以自己建立自定義GUI,這部分較為復(fù)雜患雏,對(duì)新手而言有點(diǎn)遙遠(yuǎn)鹏溯。
2.4 toolbox
一般翻譯成工具箱,matlab將功能相近或者應(yīng)用上自成體系的一組函數(shù)和GUI打包成一個(gè)toolbox淹仑。正版的matlab在購(gòu)買(mǎi)時(shí)丙挽,幾乎每一個(gè)toolbox都是要單獨(dú)收費(fèi)的,所以toolbox也可以理解為matlab產(chǎn)品的模塊匀借,一個(gè)工具箱就是一個(gè)產(chǎn)品/商品颜阐。
2.5 simulink
一般用matlab解決問(wèn)題的過(guò)程是:用戶自定義腳本,在Command Window里運(yùn)行腳本吓肋。而腳本的運(yùn)行邏輯是順序執(zhí)行凳怨,和一般的編程一樣。simulink則提供另一種思路是鬼,圖形化編程肤舞,有點(diǎn)像labview,這種方法很適合于物理模型的仿真均蜜,因此有時(shí)用“matlab編程”和“simulink仿真”強(qiáng)調(diào)李剖。使用方法是在home標(biāo)簽下點(diǎn)擊simulink。
3.獲得幫助
常用的獲得幫助有四種方法
①右上角home標(biāo)簽里囤耳,有個(gè)Help標(biāo)志篙顺,點(diǎn)開(kāi)后可以獲得各工具箱/產(chǎn)品的完整幫助文檔。新版本中默認(rèn)使用在線充择,改用本地幫助的辦法是在home標(biāo)簽里德玫,Preferences下的matlab/Help里選擇installed locally
②cn.mathworks.com官網(wǎng)上找到支持,然后可以獲得教程聪铺。這種方法獲得的幫助文檔和第一種方法一樣化焕。
③在Command Window里輸入 doc+函數(shù)名 來(lái)獲得幫助。比如輸入"doc fft"可以獲得離散傅里葉變換函數(shù)fft的幫助和范例铃剔。這種方法獲得的文檔是前兩種方法文檔中的部分撒桨。當(dāng)然,前提是你要知道函數(shù)名键兜,才能找到幫助凤类。這種方法適合于獲得系統(tǒng)自帶函數(shù)的使用說(shuō)明。
④使用GUI時(shí)普气,通常界面的角落里有Help谜疤,點(diǎn)開(kāi)可以獲得幫助。這種方法獲得的文檔是第一和第二種方法文檔中的部分。這種方法適合于獲得系統(tǒng)自帶GUI的使用說(shuō)明夷磕。
這幾種方法中履肃,最常用的是第三種,只要知道自己需要的函數(shù)名坐桩,就可以用這種方式獲得說(shuō)明和范例尺棋。而實(shí)際使用中,一般常用的系統(tǒng)自帶函數(shù)绵跷,也并不是非常多膘螟,大概幾十個(gè)?真正需要牢記使用方法的可能就幾個(gè)碾局,通常都是知道函數(shù)名荆残,要用的時(shí)候doc一下。
二净当、命令窗口的基本配置
1内斯、format命令
進(jìn)行數(shù)據(jù)類(lèi)型轉(zhuǎn)換,行間距調(diào)節(jié)等功能時(shí)蚯瞧,用
? ? format + 關(guān)鍵詞 回車(chē)
1
eg:format long 回車(chē) //將數(shù)據(jù)變?yōu)殚L(zhǎng)整型
? ? format compat/loose 回車(chē)? //調(diào)節(jié)行間距緊密/松散
1
2嘿期、clc命令
清屏。即清理當(dāng)前屏幕上的內(nèi)容埋合,屏幕上沒(méi)有了,但保留在內(nèi)存中了
3萄传、clear命令
刪除某一變量甚颂,或清空工作區(qū)
clear + 變量名 回車(chē)
eg:clear a 回車(chē)? //刪除工作區(qū)中的a變量
? ? ? ? clear或者clear all //清空工作區(qū)。建議在剛打開(kāi)matlab窗口時(shí)先清空一下工作區(qū)秀菱。
1
2
3
4
5
4振诬、whos命令
查看某變量詳細(xì)信息
4.1 whos 回車(chē) //查看所有變量信息
4.2 whos + 變量名 回車(chē) // 查看該變量詳細(xì)信息
eg:whos a 回車(chē)
5、x/ylable命令 //給xy軸加橫縱坐標(biāo)說(shuō)明
eg:xlable (‘x軸’) 回車(chē)
6衍菱、disp(http://www.gumenghua.com/199.html) //屏幕輸出函數(shù)赶么,類(lèi)似于c語(yǔ)言中的printf()函數(shù)
disp函數(shù)直接將內(nèi)容輸出在Matlab命令窗口中,關(guān)鍵是看disp函數(shù)怎么把字符和數(shù)字在一起進(jìn)行顯示。
disp(X)函數(shù)只有一個(gè)輸入脊串,當(dāng)你有多個(gè)字符串作為輸入時(shí)就會(huì)報(bào)錯(cuò)辫呻。
1
例如:
disp('Alice is ' , num2str(12) , ' years old!' );
1
就會(huì)報(bào)錯(cuò)–輸入?yún)?shù)過(guò)多。
但是將里邊的內(nèi)容用中括號(hào)一括就成了一個(gè)字符串琼锋,
1
例如:
str=['Alice is ' num2str(12) ' years old!'];
disp(str);
1
2
3
上邊這句話也就等價(jià)于:
disp=(['Alice is ' num2str(12) ' years old!']);
1
這就是加中括號(hào)的原因放闺,而不是因?yàn)閚um2str(),
因?yàn)閐isp(num2str(12));也是正確的缕坎,因?yàn)槔镞吘椭挥幸粋€(gè)字符串怖侦。
1
7、zeros函數(shù) //創(chuàng)建一個(gè)全為零元素的數(shù)組
1、B = zeros(n) 返回一個(gè)n x n的零矩陣.如果n不是一個(gè)標(biāo)量匾寝,將拋出錯(cuò)誤搬葬。2、B = zeros(m,n) or B = zeros([m n]) 返回一個(gè)m x n的零矩陣艳悔。3踩萎、B = zeros(d1,d2,d3…) or B = zeros([d1 d2 d3…]) 返回一個(gè)d1-by-d2-by-d3-by-… .的零元素?cái)?shù)組。4很钓、B = zeros(size(A)) 返回一個(gè)和A一樣大小的零數(shù)組香府。5、zeros(m, n,…,classname) or zeros([m,n,…] 返回一個(gè)類(lèi)型為classname的m x n x…零數(shù)組码倦。classname可以是下面一些值:double’, ‘single’, ‘int8’, ‘uint8’, ‘int16’, ‘uint16’, ‘int32’, or ‘uint32’示例 x = zeros(2,3,‘int8’);備注 MATLAB語(yǔ)言 沒(méi)有一個(gè) 維度 聲明 ; MATLAB 自動(dòng)為矩陣分配存儲(chǔ)空間企孩。 然而,對(duì)于大型矩陣 袁稽, MATLAB程序可能會(huì)執(zhí)行得更快 勿璃,如果零函數(shù)用于設(shè)置一個(gè)矩陣,其元素將產(chǎn)生一次 推汽, 或行或列的時(shí)間預(yù)留存儲(chǔ)空間补疑。例如2、B = zeros(m,n) or B = zeros([m n]) 返回一個(gè)m x n的零矩陣歹撒。
3莲组、B = zeros(d1,d2,d3…) or B = zeros([d1 d2 d3…]) 返回一個(gè)d1-by-d2-by-d3-by-… .的零元素?cái)?shù)組。
4暖夭、B = zeros(size(A)) 返回一個(gè)和A一樣大小的零數(shù)組锹杈。
5、zeros(m, n,…,classname) or zeros([m,n,…] 返回一個(gè)類(lèi)型為classname的m x n x…零數(shù)組迈着。classname可以是下面一些值:double’, ‘single’, ‘int8’, ‘uint8’, ‘int16’, ‘uint16’, ‘int32’, or ‘uint32’
示例
x = zeros(2,3,‘int8’);備注
MATLAB語(yǔ)言 沒(méi)有一個(gè) 維度 聲明 ; MATLAB 自動(dòng)為矩陣分配存儲(chǔ)空間竭望。 然而,對(duì)于大型矩陣 裕菠, MATLAB程序可能會(huì)執(zhí)行得更快 咬清,如果零函數(shù)用于設(shè)置一個(gè)矩陣,其元素將產(chǎn)生一次 奴潘, 或行或列的時(shí)間預(yù)留存儲(chǔ)空間旧烧。例如
x = zeros(1,n);for i = 1:nx(i) = i;en