Matlab学习

基础语法

a=[1 2;3 4]; %matlab默认在内存中按列存储 表示多通道时按列表示信号


switch(a) %switch语句写法

  case 常量

    语句;

  case 常量

    语句;

  ...

  otherwise

  语句;

end


for n=1:step:10 %for语句写法

  ......

end


c=a.*b; c=a./b %点乘 点除都是矩阵对应项

c=a*b %矩阵乘法

b=a\' %矩阵转置(实矩阵转置 复矩阵 元素取共轭转置)

b=transpose(a)   %直接转置

b=ctranspose(a) %取共轭转置

b=rank(a) %矩阵的秩

b=inv(a) %求逆矩阵(满秩矩阵才可逆)

b=pinv(a)     %求逆矩阵(列满秩用,广义逆)

%语句后加逗号会输出

b=eig(a) %求特征值 要求对称矩阵 非对称有较大误差

[V,D] = eig(a)   %求特征向量V矩阵和特征值D矩阵

b=mean(a)    %求矩阵每行的均值 


function [输出变量 1,2, ]= 函数名(输入变量)%函数名应与文件名一致

函数体

end


%自定义函数需要单独一个文件,且文件名与函数名一致


[a,b]=max(c) %显示最大值和位置

[a,b]=min(c) %显示最小值和位置

a = fliplr(a) %翻折,即倒序

b=prod(a) %矩阵内各元素乘积


E = sum(x.*conj(x)) %求信号能量

E = sum(abs(x).^2) %求信号能量

E = sum(abs(x).^2)/N %求信号功率


plot(x,y) %绘图

subplot() %规划绘图

plot(x(1:3),y(1:5))%指定范围

%做出的图 双击线条可以改格式

xlable(\'横坐标\') %定义横纵坐标

ylable(\'纵坐标\')

hold on %多次plot会覆盖,使用该语句可叠绘