一. 基本矩陣指令
reshape(a,m,n);將a變成m*n型矩陣
rot90(a);將a逆時針旋轉90度
fliplr(a);左右翻轉
flipud(a);上下翻轉
size(a);求矩陣a的尺寸大小,返回值為a的行數和列數,故前面的返回值應為兩個。
另外,a=a(m,:);選出a的第m行 b=a(:,n);選出a的第n列
rank(a);求矩陣的秩
det(a);求矩陣行列式的值
trace(a);求矩陣的跡
inv(a);求a的逆矩陣
compan(a);求a的伴隨矩陣
eig(a);求a的特徵向量、特徵值。所以前面的返回值應為兩個。
二.微積分
1.求極限
syms x y z;
y=sin(x)/x;
z=1/x^2;
p1=limit(y,x,0) % 求x趨於0時p1的極限
p2=limit(z,x,inf) % 求x趨於無窮時p2的極限
2.求導
求z=sqrt(1+x^2)的一階二階三階導數
clear;
clc;
syms x; %基本符號運算必須先宣告符號變數
z=sqrt(1+x.^2);
z1=diff(z) %求z的一階微分
z2=diff(z,2) %求z的二階微分
z3=diff(z,3) %求z的三階微分
注:宣告符號變數syms(可連續定義多個變數)和sym。
diff();用於求導數或者向量和矩陣的比較。
求函式的導數自然不必多說,見上面。但:
若x為向量,y = diff(x)= [x(2)-x(1),x(3)-x(2),…,x(n)-x(n-1)].求前後兩項之差.
若x為矩陣,y = diff(x)= [x(2:n,:) - x(1:n-1,:)].求每列前後兩項之差.
即diff引數為矩陣的時候,只是做差分
比如x=[1 2 5 8],那diff(x)=[1 3 3].也就是後乙個數減去前乙個數
%%%% 當x在[-3,3]區間,繪圖
t=-3
:0.1:3;
n=length(t);
z=sqrt(1+t.^2);
z1=diff(z); %求z的一階微分
z2=diff(z,2); %求z的二階微分
z3=diff(z,3); %求z的三階微分
subplot(221);
plot(t,z,'r');
title('z=sqrt(1+x^2)');
grid;
subplot(222);
plot(t(1
:n-1),z1,'r');
title('z1=diff(z)');
grid;
subplot(223);
plot(t(1
:n-2),z2,'r');
title('z2=diff(z,2)');
grid;
subplot(224);
plot(t(1
:n-3),z3,'r');
title('z3=diff(z,3)');
grid;
注:如果不改變plot中t的長度的話,很可能引起t的長度和z1等的不一致,matlab會報錯。或者用另一種方法,在plot中改變z1的長度,即給他們進行矩陣補0.
3.求積分
求上面z的不定積分:
syms t;
z=sqrt(1+t.^2);
zz=int(z); %求不定積分
注:
int(函式f(x)) 計算不定積分
int(函式f(x),a,b) 計算定積分
三隨機訊號和特殊函式
1.均勻分布
2.泊松分布
3.伽瑪函式和貝塔函式
統一見西安電子科技大學出版社《matlab**》徐明遠等著
Matlab基本運算
基本運算 加 減 乘 左除,右除 乘方 注意 在矩陣運算時,左除和右除是不同的 在數乘運算時,左除和右除是一樣的 點運算 點乘.點左除.點右除.點乘方.小於 小於等於 大於 大於等於 等於 不等於 注意 標量的關係運算與矩陣的關係運算時不同 邏輯運算子 與 或 非 設參與邏輯運算的兩個標量a和b,那...
Matlab基本運算
1.基本算術運算 右除 左除 乘方 matlab下的運算時矩陣意義下的運算,單個資料的算術運算只是矩陣運算的一種特列。1 加減運算 要求矩陣同型或標量加減矩陣 2 乘法運算 要求a b矩陣可乘 3 除法 若a矩陣是非奇異方陣,則b a等效於b inv a a b等效於inv a b 2.點運算子 和...
matlab 基本運算
1 算術運算 a 1,2,3 4,2,6 7,8,9 b 3,4,5 3,2,3 4,2,1 c1 b a c1 0.6667 0.0000 0.3333 0.6667 0.3333 0.3333 2.5000 0.1667 0.8333 c2 a b c2 1.3333 2.6667 3.5000...