Matlab基本運算

2021-07-22 14:45:01 字數 2291 閱讀 9097

一. 基本矩陣指令

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...