一、兩種特殊資料型別
1.元胞陣列
元胞陣列是matlab的一種特殊資料型別,可以將元胞陣列看做一種無所不包的通用矩陣,或者叫做廣義矩陣。組成元胞陣列的元素可以是任何一種資料型別的常數或者常量,每乙個元素也可以具有不同的尺寸和記憶體占用空間,每乙個元素的內容也可以完全不同,所以元胞陣列的元素叫做元胞(cell)。和一般的數值矩陣一樣,元胞陣列的記憶體空間也是動態分配的。
建立方式:
1)直接賦值
>> a=2)通過cell函式建立a =
'matlab
' [ 20
] [2x3 double] [1x10 double]
>> b = cell(2,22.結構體結構體是matlab中另乙個能夠儲存不同型別資料的資料型別,它與元胞陣列的區別在於結構體是以指標的方式來傳遞資料,而元胞陣列是通過值傳遞。); b
= 'matlab';
b = 20; b
= ones(2,3
); b
= 1:10
;>>b
b =
'matlab
' [ 20
] [2x3 double] [1x10 double]
建立方式:
1)直接賦值
>> a.b1 = 1112)通過struct函式建立;>> a.b2 = ones(3
);>> a.b3 = '
matlab 2013a';
>>a
a =b1:
111b2: [3x3 double]
b3:
'matlab 2013a
'
結構體變數名 = struct(屬性名1, 屬性值1, 屬性名2, 屬性值2,…)
>> b = struct('二、matlab常用運算已知線性方程組 ax = bb1',222,'
b2',ones(3),'
b3','
hello');
>>b
b =b1:
222b2: [3x3 double]
b3:
'hello
'
1.方程的解
(1) 求逆運算 x = inv(a) * b
(2) 左除運算 x = a\b
>> a = [6,3,4;-2,5,7;8,-1,-32.矩陣的秩r = rank(a)];>> b = [3;-4;-7
];>> x = inv(a)*b;
>>x
x = 1.0200
-14.0000
9.7200
>> y =a\b;
>>y
y = 1.0200
-14.0000
9.7200
>> r =rank(a);3.矩陣的特徵值與特徵向量[v, lambda] = eig(a)>>r
r = 3
>> [v, lambda] =eig(a)4.矩陣的乘冪與開方v = 0.8013 -0.1094 -0.1606
0.3638 -0.6564
0.8669
0.4749
0.7464 -0.4719
lambda =
9.732600
0 -3.292800
01.5602
>> a1 = a ^25.矩陣的指數與對數; %乘冪
>> a2 =sqrt(a); %開方
>>a1
a1 =
622933
3412626
2234
>>a2
a2 =
2.4495 + 0.0000i 1.7321 + 0.0000i 2.0000 + 0
.0000i
0.0000 + 1.4142i 2.2361 + 0.0000i 2.6458 + 0
.0000i
2.8284 + 0.0000i 0.0000 + 1.0000i 0.0000 + 1.7321i
>> y1 =exp(a); %指數6.矩陣的提取與翻轉提取:上三角(右上):y1 = triu(a)>> y2 =log(a); %對數
>>y1
y1 =
1.0e+03 *
0.4034
0.0201
0.0546
0.0001
0.1484
1.0966
2.9810
0.0004
0.0000
>>y2
y2 =
1.7918 + 0.0000i 1.0986 + 0.0000i 1.3863 + 0
.0000i
0.6931 + 3.1416i 1.6094 + 0.0000i 1.9459 + 0
.0000i
2.0794 + 0.0000i 0.0000 + 3.1416i 1.0986 + 3.1416i
下三角(左下):y2 = tril(a)
對角線:y3 = diag(a)
翻**上下翻**y4 = filpud(a)
左右翻**y5 = filplr(a)
沿列翻**y6 = flipdim(a,1)
沿行翻**y7 = filpdim(a,2)
逆時針旋轉翻**y8 = rot90(a)
>> a_triu =triu(a)7.「商」及「餘」多項式[q, r] = deconv(p1, p2),p1為輸入分子多項式係數,p2為輸入分母多項式係數,q為輸出多項式的「商」,r為輸出多項式的「餘」。a_triu =
6340570
0 -3
>> a_tril =tril(a)
a_tril =
600-250
8 -1 -3
>> a_diag =diag(a)
a_diag =
65 -3
>> a_ud =flipud(a)
a_ud =
8 -1 -3
-257
634
>> a_lr =fliplr(a)
a_lr =
43675 -2
-3 -18
>> a_l = flipdim(a,1)
a_l =
8 -1 -3
-257
634
>> a_h = flipdim(a,2)
a_h =
43675 -2
-3 -18
>> a_r90 =rot90(a)
a_r90 =
47 -3
35 -1
6 -2
8
求多項式
>> p1 = conv([1,0,1],conv([1,3],[1,1未完待續。。。]))
p1 =
14443
>> p2 = [1,2,1]
p2 =
121>> [q,r] =deconv(p1,p2)
q =1
2 -1
r =
00044
matlab學習筆記(1) 基礎知識
資料的輸出格式 format 格式符 預設格式為short 字串是用單引號括起來的字串行 注意的點 函式 作用abs 將字串轉換為ascll碼值 char 將ascll碼值轉換為字串 strcmp 比較兩個字串大小 strcmpi 在忽略大小寫的前提下比較兩個字串的大小 預定義變數 由系統本身定義的...
Matlab教程 學習之基礎知識
開啟matlab軟體,則進入以下主介面 在主介面下拉列表file中雙擊preference,即可開啟preference視窗,使用者可以在視窗中修改系統的設定。在matlab的命令語句中,符號 後的部分是非執行部分,用於語句和程式的說明。如 213 456 求和 幾個常用的matlab語句 clc ...
matlab 基礎知識
matlab是乙個解釋型的語言不需要編譯,它既可以在命令視窗中一句一句的執行,也可以建立乙個指令碼整個的執行。這裡我們要注意的是我們的執行後產生的變數會在workspace 工作區 顯示,而且在工作區變數的值還是會影響下次的程式的執行,所以一般在執行前我們用clear all 我們也可以利用clea...