Matlab基本运算

来源:互联网 发布:永琪和知画圆房的视频 编辑:程序博客网 时间:2024/06/12 20:13

一. 基本矩阵指令

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仿真》徐明远等著

0 0
原创粉丝点击