Matlab拾零(to be continued)
1.a:n:b 運(yùn)算符 和 linspace(a,b,n),作用相似,不同看參數(shù)位置。
2. ; 為命令執(zhí)行結(jié)束標(biāo)志。
3. ... 為續(xù)行符。
4.輸入一個命令之后,系統(tǒng)會檢查是不是變量、內(nèi)部函數(shù)、當(dāng)前目錄M文件,搜索路徑中其他目錄中的文件。
5.clc ?clear
6.幫助命令為 help 和 lookfor(aa) --M文件中首行包含aa的M文件, ?加上-all變位全文搜索。
7.eps是預(yù)定義變量中的機(jī)器閾值0.
8.內(nèi)存變量的顯示與刪除。who 與 whos
9.大矩陣可以再工作空間中打開編輯。
10.內(nèi)存變量文件mat文件:save mydata a ; load mydata
11.數(shù)據(jù)的輸出格式可以用format來控制,默認(rèn)short,還有short e, long e,short g,bank...
12.大矩陣的建立可以存到M 文件中,到時(shí)候要用到該矩陣就直接調(diào)用m問價(jià)就好了。
13.eye(3); ones(3); 分別是建立單位矩陣和全1矩陣。
14.對矩陣中某個元素的引用方法:有A(2,3) 或者A(3),3指的是按列編號,先第一列再第二列。
15.m*n矩陣A的元素,A(i,j)的序號為(j-1)*m+i。
其中序號index和下標(biāo)subscript可用sub2ind 和 ind2sub函數(shù)來進(jìn)行轉(zhuǎn)換。
eg: sub2ind(size(A),1,2) ? ?ind2sub(size(A),3)
find結(jié)合邏輯輸出序號find(A>=10&A<=20) 作用是找出在[10,20]區(qū)間的元素的位置。find可以直接用名字,eg字符串的名字,函數(shù)的實(shí)現(xiàn)機(jī)制中已經(jīng)實(shí)現(xiàn)了循環(huán)。
16.size(A):返回連個數(shù),分別是行數(shù)和列數(shù)。
length(A):返回行數(shù),列數(shù)中的最大值。
ndims(A):返回矩陣的維數(shù)
reshape(A):將矩陣重新排列成m*n的二位矩陣。元素個數(shù)不變。
17.注意matlab中矩陣的元素是按列存儲的。
18.用 : 來獲取子矩陣, A(:,j)就代表取第j列全部元素, 而 A(i:i+m, k:k+m) 表示的就是 : 的一般意思,表示遞進(jìn)。
A(:) 表示的是將矩陣A的每一列都堆疊起來,組成一個列向量。
c(end, : ) 表示去最后一行; ???c([1,4],3:end)表示取第1、4行的第3-end列、
end表示某一維的末尾元素下標(biāo)。
19.?利用空矩陣進(jìn)行元素刪除:c(:,[2,4])=[ ] ;將c矩陣的第2和第4列刪除。 而 clear c則是將c從這個工作空間中刪除。
20.\ 和 /分別表示矩陣的左除和右除。A\B=inv(A)*B ? ? B/A=b*inv(A) ?對于矩陣來說這兩者一般是不相等的。(除非A是非奇異矩陣)
21.①矩陣的乘方運(yùn)算:A^x 前提是A是方陣。
22.matlab中的點(diǎn)運(yùn)算符特殊:
對于標(biāo)量來講.* ? ./ ? ?.\ ? ?.^都是普通的,表示單個元素之間的運(yùn)算。
而對于運(yùn)算量是矩陣的來說 .* ?./=.\ ?當(dāng)兩矩陣維數(shù)相同,表示對應(yīng)元素的運(yùn)算。
而 .^ 表示兩個矩陣對應(yīng)的元素進(jìn)行乘方運(yùn)算。
eg: y=sin(x) . *cos(x) ?原因是matlab中的大部分?jǐn)?shù)學(xué)函數(shù),都是默認(rèn)以矩陣為參數(shù)。
23. 數(shù)學(xué)函數(shù)中不熟悉的有: a...表示反三角 ?...h表示雙曲函數(shù)。 conj 復(fù)數(shù)共軛, angle復(fù)數(shù)輻角, real, imag, rem 求余、模
mod 模, fix 向零取整, floor ,ceil , round 四舍五入, sign符號函數(shù), gcd最大公因子, lcm最小公倍數(shù)。
24.字符串以單引號括起來。matlab將其作為行向量。 字符串是以ASCII碼的形式存儲的。abs和double函數(shù)可用來獲取字符串矩陣所對應(yīng)的ASCII碼數(shù)值矩陣。 char相反可將碼矩陣換成字符矩陣。也用字符串修改后的重組。
25.取子串和逆序使用 : 冒號實(shí)現(xiàn)的, eg: ch=‘xxxxxxx’; ch(1:5) ? ? ch(end:-1:1)
26.eval 可將字符串的內(nèi)容作為matlab語句來執(zhí)行。
27.較長的字符串可用[]括起來,eg: disp['tem is ',num2str(c),'degrees C'];
28.結(jié)構(gòu)矩陣的建立,先定義空矩陣,然后用這樣的賦值。
a(1).x1=10;a(1).x2='liu';a(1).x3=[11,2;3,5]; ?a(2).x1=12;a(2).x2='ma';a(2).x3=[1,3;45,5]
用rmfield,setfield,getfield,可以刪除、設(shè)置、獲取結(jié)構(gòu)成員(x1,x2,x3)的值。具體eg: a=rmfield(a,'x2') //不加a= 修改不了。
29.單元矩陣同上類似都是將不同屬性的數(shù)據(jù)放在一個變量中,不同的是,結(jié)構(gòu)變量個元素下有成員,成員有名字;而單元矩陣的各個元素就是不同類型的數(shù)據(jù),用帶有大括號下標(biāo)的形式,引用單元矩陣元素。
初始化形式: b={10,'liu',[1,2;34,78] ; 12,'wang',[23,4;3,4]} ? ?引用方法 b{2,3} = b{6} 為什么相等看待的方法不同。前者是二維后者由于matlab自身特點(diǎn)決定。前邊已經(jīng)降到--。
元素刪除方法 b(2) =[ ] ; b{3}=[ ] 是將第三個元素置為空矩陣。
30.特殊矩陣: zeros(2,3);ones(m,n);eyes(m,n);
rand(n):產(chǎn)生0-1間均勻分布的隨機(jī)矩陣。
randn(n):產(chǎn)生均值為0,方差為1的標(biāo)準(zhǔn)正態(tài)分布隨機(jī)矩陣。
magic(n):n階魔方陣。?
vander([a;b;c;d]):指定的4階范德蒙德矩陣。
hilb(n):n階希爾伯特矩陣hij=1/(i+j-1) ? 其逆函數(shù)為invhilb(n);該矩陣條件數(shù)差,一般方法求逆后會因?yàn)樵紨?shù)據(jù)的微小擾動產(chǎn)生不可靠的計(jì)算結(jié)果。
toeplitz(x,y||x)特普利茨矩陣:生成除第一行、列外,每個元素都等于其左上元素的矩陣。其中只有x(為向量)時(shí),是對稱的。且x為列,y為行。
compan(p);p=[a,b,c,d];//p為特征多項(xiàng)式系數(shù):這是多項(xiàng)式的伴隨矩陣。
pascal(n);(x+y)^n-1展開后的系數(shù),組成楊輝三角,由它組成的矩陣成為帕斯卡矩陣。展開矩陣的次對角線是展開式的系數(shù)。31.矩陣變換 x表示向量 對角陣:提取-diag(A,[n]) ? ?構(gòu)造-diag(x,[n])? 三角陣:上-triu(A) ?下-tril(A) 矩陣轉(zhuǎn)置: ‘ 號 旋轉(zhuǎn):90度-rot90(A,k=1 default) ? ?左右-fliplr(A) ? 上下-flipud(A)
32.矩陣的逆和線性方程組求解 A不是方針則無逆矩陣inv(A),但可以有偽逆矩陣pinv(A). ?求方程組解常用:A=[xxx;xxx;xxx]; b=[1,2,3,4]' ; x=inv(A)*b 奇異矩陣和非滿秩方陣,也都有偽逆矩陣。其中偽逆矩陣是一個與A的轉(zhuǎn)置矩陣A' 同型的矩陣。 方陣才有行列式的值 det(A) 矩陣的秩:線性無關(guān)的行列數(shù)。 rank(A) ;也成為奇異值 矩陣的跡:對角線元素之和,矩陣特征值之和 trace(A) 向量和矩陣的范數(shù): norm(A) norm(A,1) ?norm(A,inf) 矩陣的條件數(shù):是矩陣A的范數(shù)和矩陣A逆矩陣的范數(shù)的乘積 cond(同上。。) 特征值和特征向量: E=eig(A) ? ?[V,D]=eig(A) ?V是特征向量列向量;D是特征值對角矩陣 求根:p=[x,x,x,x,x,]; A=compan(p); E=eig(A) ?和 ?roots(p) ?得到的效果是一樣的。 矩陣的超越函數(shù)(必須是方陣)包括 ?sqrtm,expm,logm,funm
總結(jié)
以上是生活随笔為你收集整理的Matlab拾零(to be continued)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言拾零(to be continue
- 下一篇: Cpp拾零(to be continue