注:僅供學習使用,部分內容來自學校課程課件或網路,理性**。
1.記憶體變數的顯示與刪除
(1)who:顯示matlab工作空間中已經駐留的變數名清單。
(2)whos:給出變數名的同時,給出它們的大小、所佔位元組數和資料型別
(3)clear:刪除matlab工作空間中的變數。但特殊變數不能被刪除。
>>x = 1; y = 2;
>> who
your variables are:
x y
>> whos
name size bytes class attributes
x 1x1 8 double
y 1x1 8 double
>> clear
>>
個人體會:
①工作窗可以快速看到變數和結果,如果做了clear操作,內容就會消失,這個工作視窗和codeblocks除錯過程中的watches除錯窗類似,可以快速看到變數的初始化等過程。
②當直接在命令視窗右鍵進行清空時,由工作視窗顯示變數不會消失,但是使用clear之後,變數會被徹底清空,因此,如果要重新開始乙個新的命令而不使用以前的定義,需要進行clear操作而非「清空命令視窗」。
4.向量與矩陣的建立
(1)矩陣的建立:將矩陣元素用方括號括起來,按矩陣行的順序輸入各個元素,**同一行元素用逗號或空格隔開,行與行之間用分號或回車鍵隔開。**元素可以是數值或者是表示式元素,表示式可由數字、變數、運算子和函式等組成。**塊中,a是3x3的矩陣,z和m分別代表了陣列元素可以是複數,也可以是表示式。
>> a=[1,2,3;4,5,6;7,8,9]
a = 1 2 3
4 5 6
7 8 9
>> z=[1+2i,2+3i;2-1i,3-2i]
z = 1.0000 + 2.0000i 2.0000 + 3.0000i
2.0000 - 1.0000i 3.0000 - 2.0000i
>> m=[-1.3,1+2+3,sqrt(5)]
m = -1.3000 6.0000 2.2361
(2)等間隔行向量的建立:
①冒號表示式: x1:dx:x2 或 x1:x2
含義:初值x1,增量dx和終值x2分別表示開始值、步長和結束值。增量可為賦值,省略時則預設增量為1。當增量省略或增量大於0而初值大於終值時,為空向量;當增量小於0而初值小於終值時也為空向量。
②使用linspace:linspace(a,b,n)
含義:生成從a到b之間等線分的n個元素的行向量(n的預設中為100)
(3)特殊矩陣的建立:
①函式庫elmat:
zeros(n) 產生nxn零矩陣
zeros(m,n) 產生mxn零矩陣
zeros(size(a)) 產生於矩陣a同樣大小的零矩陣
eye()函式為產生主對角線為1的矩陣
ones()函式為產生元素全為1的矩陣
②函式rand用於產生[0,1]之間均勻分布的隨機數;randn用於產生服從標準正態分佈的隨機數(均值為0,標準差為1)
>> r1=rand %產生乙個範圍在[0,1]的隨機數
r1 =
0.8491
>> r2=rand(2) %產生乙個2x2矩陣,其元素在[0,1]範圍內
r2 =
0.9340 0.7577
0.6787 0.7431
>> r3=rand(2,4) %產生乙個2x4矩陣,其元素在[0,1]範圍內
r3 =
0.3922 0.1712 0.0318 0.0462
0.6555 0.7060 0.2769 0.0971
>> r=round(rand*9+1) %產生1-10之間均勻分布的整數
r = 8
③diag函式
x = diag(n):以n為向量,則產生以n中元素為主對角線元素的對角矩陣;若以n為矩陣,則提取n的主對角線元素。
x = diag(n,m):以n為向量,產生第m條對角線上的元素為v中元素的對角矩陣;若v為矩陣,則提取的第k條對角線上的元素。
diag函式還可以得到複雜矩陣比如diag(m)+diag(n,1)等
例:diag函式的使用
>> n=[2,-10,8]
n = 2 -10 8
>> a=diag(n)
a = 2 0 0
0 -10 0
0 0 8
>> a1=diag(n,1)
a1 =
0 2 0 0
0 0 -10 0
0 0 0 8
0 0 0 0
>> a2=diag(n,-1)
a2 =
0 0 0 0
2 0 0 0
0 -10 0 0
0 0 8 0
>> x=rand(3)
x = 0.7572 0.5678 0.5308
0.7537 0.0759 0.7792
0.3804 0.0540 0.9340
>> d=diag(x)
d = 0.7572
0.0759
0.9340
>> d1=diag(x,1)
d1 =
0.5678
0.7792
>> d2=diag(x,-1)
d2 =
0.7537
0.0540
④其他函式
blkdiag(a1,a2…an):生成分塊對角矩陣
a=triu(x):矩陣x主對角線及以上元素的上三角矩陣
a=triu(x,k):矩陣x第k條對角線及以上的上三角矩陣
tril()函式為下三角矩陣,用法同triu
magic():生成魔方矩陣(幻方)
還有一些用於生成專門學科的特殊矩陣函式,例如線性代數中提及的範德蒙德矩陣(vander)等。
day2學習體會:matlab中有很多函式庫,這一點非常類似於python,這些函式可以不用呼叫而直接使用(省去了import或#include的過程)。這讓matlab的操作更加容易上手,對於命令視窗,通過是否加分號可以控制是否輸出中間變數。而對於指令碼,寫完的指令碼經過儲存為.m檔案,可以直接呼叫,都十分方便。
Matlab 變數 學習筆記 2
matlab 定義乙個變數,例如 x 4 在使用變數時 1.必先賦值 2.系統接收乙個變數後可以被引用,3,表示式返回的結果,不會分配給任何變數,系統分配乙個變數名ans,以後可以繼續使用,1,在使用matlab時 執行多個任務同一行。2,但需要查詢使用了的變數名,可以使用who查詢,而且whos查...
MATLAB學習筆記 特殊矩陣(2)
1.通用的特殊矩陣 zeros 產生全0矩陣 ones 全1矩陣 eye 單位矩陣 rand 0 1之間均勻分布的隨機矩陣 randn 均值為0,方差為1的標準正態分佈隨機矩陣 呼叫格式 zeros m 產生 m x m 零矩陣 zeros m,n 產生m x n 零矩陣 zeros size a ...
Matlab學習筆記2 關於函式
1.可以通過查詢fx來獲得自己想找到的函式。2.section區塊 run section可以用來debug。3.智慧型縮排。4.常用指令 if,elseif,else switch,case,otherwise while,break,continue,end for end pause retu...