基本运算
次方 ^
三角函数 sin(45*pi/180)
开根号 sqrt
指数函数 exp(x)
对数函数 log(2.7183)
查看工作空间的变量 who whos
清除工作空间的变量 clear (全清)或 clear 变量(清一个)
清除命令窗口的显示内容 clc
求多项式的根 roots(p)//p=[多项式的系数]
解线性方程组 x=inv(a)*b
定义符号变量 syms
求导 diff(函数) //一阶导数 diff(fun,n) //n阶导数 diff(fun,change,n) //n阶偏导数
积分 quad(‘fun’,a,b)//fun为函数,ab为区间
quad1()
sym的用法
①S = sym(A) //将非符号对象(如,数字,表达式,变量等)A转换为符号对象,并存储在符号变量S中。
②x = sym(‘x’) //创建符号变量x,其名字是’x’。示例:alpha = sym(‘alpha’)。
solve的用法
①对方程的求解:syms x; eq=x^2+2*x+1; s=solve(eq,x);
②对 方程组的求解:syms x y z;eq1=2x+3y-z-2;eq2=8x+2y+3z-4;eq3=45x+3y+9z-23;s=solve(eq1,eq2,eq3);s.x,s.y,s.z;(或者[x,y,z]=solve(eq1,eq2,eq3))
多项式曲线拟合 polyfit(a,b,c) //x,y,拟合次数 结果返回c次拟合多项式系数,从高到低依次存放
求值函数 y=polyval(p1,x)//经过p1拟合后,x对应的y值
plot函数(用来绘制二维图像)plot(x,y,linespec,x1,y1,linespec1,x2,y2,linespec2)
预定义的变量:
①eps MATLAB定义的正的极小值=2.2204e-16
②inf 无穷大
③NaN 非数,0/0,∞/∞
复数及其运算:
①real(z) z的实部
②imag(z) z的虚部
③angle(z) z的角度
④abs(z) z的幅值(绝对值)//得到ASCII值
矩阵和数组:
①创建行向量:[] (,和空格都可分割) ||x=start:increment:end(若increment为1,可省略) || x=linspace(x1,x2,n)//间隔为(x2-x1)/(n-1) 默认100||x=logspace(x1,x2,n)//10^x1~10^x2,生成n个元素(默认50)
②创建列向量:[] (;分割) //‘表示矩阵的转置
③ones(x,y)生成全一矩阵,zeros(x,y)生成全0矩阵
④reshape用法:reshape(a,x,y)
⑤修改数组a([2 5])=[1 1] a(:)=a:b //修改的元素数目必须相同
size函数返回变量的大小size(a)
length函数返回变量数组最大维数length(a)
注:数组:代表所有
双下标到单下标的转换 sub2ind
单下标到双下标的转换 ind2sub
多维数组(行,列,页)
legend(‘函数’)标注函数
矩阵平方.^
rem(A,B)//求余,A除以B求余
find //发现函数
class或ischar指令:可以用来判断一个变量的类型或他是否为字符串变量
ASCII内码与字符串形式的转换:double char
清除字符串尾部空格 deblank
字符串比较 strcmp指令
魔方矩阵 magic
图像处理
程序设计
输入 input
输出 disp ||同时输出字符串和数字 disp([‘’,num2str()])
把数值转换为字符串num2str(),使用fprintf或disp进行输出
函数的暂停 pause
函数取整 fix(a/b)
脚本
函数 function [输出 实参表]=fun_name(输入实参表)
函数调用中用两个 预定义变量nargin和nargout分别记录调用该函数时的输入实参和 输出实参的个数
全局变量 global
在数学中的应用
用对角阵左乘一个矩阵,就是用对角阵的对角元分别乘这个矩阵的对应各行;
用对角阵右乘一个矩阵,就是用对角阵的对角元分别乘这个矩阵的对应各列。
左除\ a\b表示矩阵a的逆乘以b
右除/ a/b表示矩阵a乘以矩阵b的逆
点左除.\ 矩阵b中的每个元素除以矩阵a的每个元素
点右除./ 矩阵a中的每个元素除以矩阵b的每个元素
求解线性方程组 其矩阵表示形式为Ax=b 则x=inv(A)*b
求解多项式的根 roots(p)
已知多项式的根,求解多项式 poly()
多项式的乘法 conv(a,b)
多项式的除法 [Q,R]=deconv(B,A) //Q是商,R是余数,有B=conv(A,Q)+R
多项式的导数 polyder()
linspace(a,b,x) //产生一个矢量,x为向量个数
inline()内联函数
矩阵排序 [Y,I]=sort(A,dim) //dim=1,列排序,dim=2,行排序,Y是排序后的矩阵,I记录Y中元素在 A中的位置
Simulink仿真
PID的封装
理想PID模型(modal)
①Create subsystem
②Mask-creat mask
icon //disp(‘PID’);plot([10 20 30 40],[10 20 10 15])
parameters pid
look mask
PID参数调整方法
1.ZN法
2.稳定边界法(这个简单,起码现在的我可以看懂)
step1:将Ti=inf,Td=0,调节Kp,使响应等幅振荡,记录此时Kp,令Km=Kp,此时周期为Tu
step2:按表设定PID初值,仿真
matlab在控制系统仿真中的应用
传递函数模型(TF模型)
conv(a,b) //两个函数的卷积
零极点模型(ZPK模型)
roots() //求解多项式的 根