概述
1.延迟函数pade();
下图为带有延迟环节的一节惯性系统
clc;clear all;close all; nump=[0,0.179]; denp=[6,1]; Gp=tf(nump,denp); [numd,dend]=pade(0.6,5);%纯延迟部分使用5阶pade近似 G=Gp*tf(numd,dend);%重构近似传函,得到G(s) [num,den]=tfdata(G,'v');%提取近似传函的分子和分母多项式系数向量 [A,B,C,D]=tf2ss(num,den)%转换为状态空间模型 |
2.把系数数组转换成符号多项式:poly2sym();
pretty()将有理分式写成上下形式。
例:
syms x;
a=poly2sym([3 5 4],x)
a =
3*x^2 + 5*x + 4
>> pretty(a)
2
3 x + 5 x + 4
3.将符号多项式的系数从高阶到低阶提取出来
例:
syms x;
b=x^3+2*x^2-4*x-9
sym2poly(b)
b =
x^3 + 2*x^2 - 4*x - 9
ans =
1 2 -4 -9
4.将用tf()函数输出的传递函数写成符号形式
例:
num=[1];den=[1 1 0];
G=tf(num,den);
[num1,den1]=tfdata(G,'v'); %'v'的作用是提取传递函数的分子和分母系数。如果没有'v'则提取的是元胞格式,需用num1{1}提 ...取。
poly2sym(num1)/poly2sym(den1)
ans =
1/(x^2 + x)
5.ilaplace()拉普拉斯逆变换,要求()内是符号形式。故由G=tf(num,den)生成的G,使用ilaplace(G)不能完成。
syms s;
num=[0.1 0.2 1];
den=[1 1 1 0];
g=poly2sym(num,s)/poly2sym(den,s)
g_t=ilaplace(g)
pretty(g_t)
g =
(s^2/10 + s/5 + 1)/(s^3 + s^2 + s)
g_t =
1 - (9*exp(-t/2)*(cos((3^(1/2)*t)/2) + (7*3^(1/2)*sin((3^(1/2)*t)/2))/27))/10
/ / sqrt(3) t
| sqrt(3) sin| --------- | 7 |
/ t | / sqrt(3) t 2 / |
exp| - - | | cos| --------- | + -------------------------- | 9
2 / 2 / 27 /
1 - --------------------------------------------------------------
10
模糊推理规则列表函数
a = addrule(a,ruleList)
其中 ruleList 是一个矩阵,每一行为一条规则,他们之间是 ALSO 的关系。
假定该 FIS 有 N 个输入和 M 个输出,则每行有 N+M+2 个元素,前 N 个数分别表示 N 个输入变量的某一个语言名称的 index,没有的话用 0 表示,后面的 M 个数也类似,最后两个分别表示该条规则的权重和各个条件的关系,1 表示 AND,2 表示 OR。
例如,当“输入1” 为“名称1” 和 “输入2” 为“名称3” 时,输出为 “ 输出1” 的“状态2”,则写为:
[1 3 2 1 1]
writefis(a,'fuzzpid'); 将模糊推理网络a以文件名fuzzpid保存,格式是:fis。
a=readfis('fuzzpid'); 将fuzzpid.fis读取到工作区间,以网络a表示
plotfmf(a,'input',1); 输出 网络a 输入1 的隶属度函数图形
plotmf(a,'output',1); 输出 网络a 输出1 的隶属度函数图形
addrule('list');
最后
以上就是激情煎饼为你收集整理的MATLAB命令备忘的全部内容,希望文章能够帮你解决MATLAB命令备忘所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复