MATLAB命令备忘

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');

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值