matlab基礎(chǔ)筆記合集
(1)1.左上可以新建實時編輯器(相當(dāng)于一個可以查看的文本)
2.變量名需要簡結(jié)明了
3.變量名需要字母開頭
4.編輯器頁上有星號代表沒保存。舉一反三除了這個軟件,其他文本都是有星號代表尚未保存
5.輸入“clc”清除command Windows(命令行窗口)的所有命令
6.輸入“clear”是清除workspace(工作區(qū))中的所有變量
7.變量名區(qū)分大小寫
8.變量名長度不能超過63位,不然會被截斷,反正就是有字?jǐn)?shù)限制的意思
9.“%”后面的是注釋
10.一個空格算一個字符
11.abs(x)是取絕對值的函數(shù)
12.A=[1 2 3; 4 5 6; 7 8 9]表示一個矩陣
13.B=A'? 表示矩陣的轉(zhuǎn)置? (行變列,列變行)
14.C=A(:) 按列往下放置
(2)1.rand:生成均勻分布的偽隨機數(shù)。分布在(0,1)之間
2.rand語法一:rand(m,n)生成指定精度的均勻分布的偽隨機數(shù),參數(shù)還可以是'single'
3.rand語法二:rand(RandStream,m,n)利用指定的RandStream(隨機種子)生成偽隨機數(shù)
4.randn生成標(biāo)準(zhǔn)的正態(tài)分布的偽隨機數(shù)(均值為0,方差為1)(語法和rand一樣)
5.randi:生成均勻分布的偽隨機整數(shù)
6.randi語法一:randi(iMax)在開區(qū)間(0,iMax)生成均勻分布的偽隨機整數(shù)
7.randi語法二:randi(iMax,m,n)在開區(qū)間(0,iMax)生成mXn型隨機矩陣
8randi語法三:r=randi ([iMin,iMax],m,n)在開區(qū)間(iMin,iMax)生成的mXn型隨機矩陣
9.元胞數(shù)組是matlab特有的一種數(shù)據(jù)類型,可以逐漸追蹤一直到所有的變量全部翻譯成基本信息。元胞數(shù)組的class函數(shù)輸出就是cell。
10.magic在matlab中用來生成n階幻方。magic(n)生成n*n階的矩陣,使每行、每列,以及主、副對角線上面的n個數(shù)之和都相等(這個和等于n*(n^2+1)/2)
11.前面先令A(yù)=一個元胞數(shù)組之后的A{n}代表在按列從上往下數(shù)第n項為設(shè)計的程序
12.輸入錯誤可以按 向上箭頭鍵 繼續(xù)輸入內(nèi)容
(3)1.結(jié)構(gòu)體:books=struct('name',{{'Machine Learning','Date Mining'}},'price',[30 40])
? ? ? ? ?struct后面的稱為結(jié)構(gòu)體,我們把它賦予books
2.books.name相當(dāng)于在books當(dāng)中選擇name這個屬性
3.books.name(n)表示選擇name屬性的第n項? 結(jié)果是個元胞數(shù)組
4.books.name{n}表示選擇name屬性的第n項? 結(jié)果是個值(字符串)
5.A=[1 2 3 4 5 6 7 8 9 ; 9 8 7 6 5 4 3 2 1]表示一個矩陣? ?分號屬于隔行 數(shù)量跟第一排一樣因為是矩陣嘛(注意輸入時符號的中英文)
6.B=1:2:9? ?前后的“1”、“9”表示取值范圍,中間的“2”表示差值
7.C=repmat(B, 3, 2)? "3"代表重復(fù)三行、“2”代表重復(fù)2列? 注意書寫時逗號之后要空格
8.D=ones(2, 4)表示生成兩行四列的元素為1的矩陣
9.輸入“clear”是清除workspace(工作區(qū))中的所有變量
10.設(shè)A=[1 2 3; 4 5 6]? ?B=[1 1 1; 2 2 2]
? ? C=A+B? 對應(yīng)相加? D=A-B對應(yīng)相減
11.E=A*B' (A乘B的轉(zhuǎn)置)(需要第一個矩陣的列數(shù)和第二個矩陣的行數(shù)相同才能相乘)
12.G=A/B 相當(dāng)于A乘B的逆矩陣(矩陣?yán)锩鏇]有直接表示除的但是意思上時乘逆矩陣)? 設(shè)H=B' 那么H就是B的逆矩陣了
13.J=A.*B意思是每一項對應(yīng)相乘
(4)1.在語言中”:“是取全部的意思
2. 令A(yù)=magic(5)?
?B=A(2, 3)指在A當(dāng)中第二行第三列的值
C=A(3, :)指的是第三行的全部列。同理,D=A(:, 4)指的是第四列的全部行
3.在Matlab中find函數(shù)表示查找,它可以按條件返回向量或矩陣中的滿足條件元素的位置
[m, n]=find(A>20)? 指的是大于20的數(shù)的行和列是什么
4.matlab的邏輯與流程控制?
if ... else ... end :? ?if ... end 是只有一個判斷語句,當(dāng)條件表達式為真的時候,就執(zhí)行語句體;
如果條件表達式為假,就跳出條件體,執(zhí)行end后面的語句
例子:
a = 100;
b = 20;
if a > b?
disp('成立')
end
所以 if ...(語句體1) else ...(語句體2) end 的意思是如果表達式為真,則系統(tǒng)將執(zhí)行語句體1;如果表達式為假,則執(zhí)行語句體2
例子:
a = 100;
b = 20;
if a > b
disp('成立')
else
disp('不成立')
end
5.for ... end? ?指按給定的范圍或者給定的循環(huán)次數(shù)重復(fù)完成一次或者多次運算。從for開始到end結(jié)束
基礎(chǔ)格式:for? 循環(huán)變量=初值:步長:終值? ? (步長可以省略,默認(rèn)為1)
? ? ? ? ? ? ? ? ? ? ? ?執(zhí)行語句1
? ? ? ? ? ? ? ? ? ? ? ?...
? ? ? ? ? ? ? ? ? ? ? ?執(zhí)行語句n
? ? ? ? ? ? ? ? end
例子:求1^2+2^2+3^2+4^2+5^2的值
? ? ? ? sum = 0;
? ? ? ? for n = 1: 5
? ? ? ? sum = sum + n^2;
? ? ? ? end
6.while ... end? ?執(zhí)行方式為:若條件表達式中的條件成立,則執(zhí)行循環(huán)語句體;若不成立,則執(zhí)行end后面的語句
例子:求1~100的奇數(shù)和
程序設(shè)計為:
x = 1;
sum = 0;
while x < 101
sum = sum + x;?
x= x + 2;
end
7.switch ... case ... end
意思是通過與某個表達式的值進行比較,根據(jù)比較結(jié)果來做不同的選擇,以實現(xiàn)程序的分支功能
結(jié)構(gòu)格式為:
switch 表達式(數(shù)值或者字符串)
? ? ? ? ?case 數(shù)值或者字符串1
? ? ? ? ? ? ? ? ?語句體1;
? ? ? ? ?case 數(shù)值或者字符串2
? ? ? ? ? ? ? ? ?語句體2;
? ? ? ? ?...
? ? ? ? ?otherwise
? ? ? ? ? ? ? ? ?語句體n;
end
(otherwise 是? ?否則;其他情況下? ?的意思)
(5)二維平面繪圖:令x=0:0.01:2*pi? ?y=sin(x)
1.在matlab中Π寫作pi
2.figure:建立一個幕布
3.plot(x,y)指繪制一個關(guān)于x和y的二維平面圖
4.title('y=sin(x)')? 編輯一個標(biāo)題為y=sin(x)
5.xlabel(’x‘)指橫坐標(biāo)為x
6.ylabel(’sin(x)‘)指縱坐標(biāo)為sin(x)
7.xlim(0 2*pi)可以使圖像右邊無縫隙
8.繪制的圖像線條顏色符號:紅r? 綠g? 藍(lán)b? 黃y? 粉紅m? 青c? 白w? 黑k
? ? ? ? ? ? ? ? ? ?線條線型符號:實線 -? 虛線 --? 冒號線 :? 點畫線 -.??
9.plotyy? 指的是共用一個x的坐標(biāo)系
(6)1.二維繪圖用plot,三維繪圖用plot3
2.令t=0:pi/50:10*pi;
plot3(sin(t),cos(t),t)
(設(shè)標(biāo)簽:)xlabel('sin(t)')
ylabel('cos(t)')
zlabel('t')
grid on(加入網(wǎng)格線)??
(hold on:同一個幕布當(dāng)中繪制多條線? ?;? 不再多繪制線了,圖已經(jīng)生成結(jié)束了就是hold off)
axis square(讓圖像變?yōu)檎叫危?/p>
(7).圖形的保存與輸出
1.在幕布(圖像)中的編輯選項中點擊復(fù)制圖形,就可以在word或者其他軟件中直接粘貼了
2.在幕布(圖像)中的文件選項中點擊另存為,可以更改格式的保存
3.在導(dǎo)出設(shè)置的大小屬性中設(shè)置寬度和高度可以在word的倆欄或者多欄中圖像依然保持清晰(合適值為200等、厘米改為磅)