MATLAB矩阵行列式

来源:互联网 发布:房屋装修设计图软件 编辑:程序博客网 时间:2024/04/30 13:21
>> A1=[1 2; 3 4]

A1 =

     1     2

     3     4

>> det1=det(A1)

det1 =

    -2

注意非方阵的行列式没有意义


矩阵逆运算

>> inv1=inv(A1)

inv1 =

   -2.0000    1.0000
    1.5000   -0.5000

行列式如果为0则不存在逆矩阵

非方阵不存在逆矩阵

A1逆矩阵的行列式等于1/det(A1)


Cholesky因式分解

创建pascal矩阵

>> A=pascal(6)

A =

     1     1     1     1     1     1
     1     2     3     4     5     6
     1     3     6    10    15    21
     1     4    10    20    35    56
     1     5    15    35    70   126
     1     6    21    56   126   252

进行因式分解


>> R =chol(A)

R =

     1     1     1     1     1     1
     0     1     2     3     4     5
     0     0     1     3     6    10
     0     0     0     1     4    10
     0     0     0     0     1     5
     0     0     0     0     0     1


矩阵每列的方差

>> A=[ -1 1 2; -2 3 1; 4 0 3]

A =

    -1     1     2
    -2     3     1
     4     0     3

>> v=diag(cov(A))'

v =

   10.3333    2.3333    1.0000

协方差矩阵

>> C=cov(A)

C =

   10.3333   -4.1667    3.0000
   -4.1667    2.3333   -1.5000
    3.0000   -1.5000    1.0000


泊松分布和正态分布

>> Lambda=20;x=0:50;yd_p=poisspdf(x,Lambda);%泊松分布
>> yd_n=normpdf(x,Lambda,sqrt(Lambda));     %正态分布
>> plot(x,yd_n,'b-',x,yd_p,'r+')
>> text(30,0.07,'\fontsize{12} {\mul} = {\lambda} = 20')


二维插值函数interp2

>> [x,y,z]=peaks(6);
>> mesh(x,y,z)      %绘制原始数据图
>> title('原始数据')
>> [xi,yi]=meshgrid(-3:0.2:3,-3:0.2:3);
>> strmod={'nearest','linear','spline','cubic'};
>> strlb={'(a)method=nearest','(b)method=linear',...
'(c)method=spline','(d)method=cubic'};
>> figure;
>> for i=1:4
zi=interp2(x,y,z,xi,yi,strmod{i});
subplot(2,2,i)
mesh(xi,yi,zi);
title(strlb{i})
end


曲线拟合实例

>> x=1:1:10;
>> y=-0.9*x.^2+10*x+20+rand(1,10).*5;%产生测试数据
>> plot(x,y,'o')


>> p=polyfit(x,y,2)

p =

   -0.8219    9.0122   24.1977

>> plot(x,y,'o')%绘图标出原始数据点
>> xi=1:0.5:10;
>> yi=polyval(p,xi);
>> hold on
>> plot(xi,yi);
>> hold off


生成一个正弦衰减曲线,进行快速傅里叶变换,并画出幅值(amplitude)图,相位(phase)图,实部(real)图和虚部(image)图

>> tp=0:2048;  %时域数据点数N

>> yt=sin(0.08*pi*tp).*exp(-tp/80);  %生成正弦衰减函数
>> plot(tp,yt), axis([0,400,-1,1]),  %绘正弦衰减曲线
>> t=0:800/2048:800;                 %频域点数Nf
>> f=0:1.25:1000;
>> yf=fft(yt);                       %快速傅里叶变换
>> ya=abs(yf(1:801));                %幅值
>> yp=angle(yf(1:801))*180/pi;       %相位
>> yr=real(yf(1:801));               %实部
>> yi=imag(yf(1:801));               %虚部
>> figure
>> subplot(2,2,1)
>> plot(f,ya),axis([0,200,0,60])     %绘制幅值曲线
>> title('幅值曲线')

>> subplot(2,2,2)

>> plot(f,yp),axis([0,200,-200,10])   %绘制相位曲线
>> title('相位曲线')

>> subplot(2,2,3)

>> plot(f,yr),axis([0,200,-40,40])
>> title('实部曲线')

>> subplot(2,2,4)
>> plot(f,yi),axis([0,200,-60,10])    %绘制虚部曲线
>> title('虚部曲线')