matlab部分工具箱用法的整理

文章介绍了MATLAB中几个重要的矩阵函数,如size用于获取矩阵的行数和列数,prod进行乘积运算,zeros和ones生成特定大小的零矩阵和全一矩阵。此外,还展示了如何使用evalfis进行模糊推理,以及建立模糊控制器的例子,用于根据温度和压力控制阀门角度增量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

size( ):获取矩阵的行数和列数
( 1 )s=size(A),
当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时矩阵的行数,第二个元素是矩阵的列数。
( 2 )[r,c]=size(A),
当有两个输出参数时,size函数将矩阵的行数返回到第一个输出变量r,将矩阵的列数返回到第二个输出变量c.
( 3 ) size(A,n)如果在size函数的输入参数中再添加一项n,并用1或2为n赋值,则 size将返回矩阵的行数或列姿其中r=size(A,1)该语句返回的时矩阵A的行数,c=size(A,2)该语句返回的时矩阵A的列数。


prod():对矩阵行/列元素进行乘积运算

(1)prod(A),

当A矩阵为行/列矩阵时,返回一个数,数的大小为该矩阵所有元素的乘积。当A为非行/列矩阵时,返回一个列矩阵,每一列的数为矩阵A每一列元素的乘积的大小。

(2)prod(A,1/2),

为1时,仍然是按照列进行相乘,为2时,对矩阵A按行相乘。

例:a=[1 2 3 4],prod(a)=24;

a=[1 2;3 4],prod(a)=[3 8]

a=[1 2;3 4],prod(a,1)=[3 8]

a=[1 2;3 4],prod(a,2)=[2 12]

zeros():生成零矩阵

zeros(n):生成n行n列的每一个元素都为零的矩阵

zeros(m,n):生成m行n列的每一个元素都为零的矩阵

ones():生成全1矩阵

用法与zeros函数一样

evalfis(输入,模糊控制规则):进行模糊推理

模糊推理规则有三条:
If  温度“冷”and压力“高”,then阀门角度增量为“正”

If  温度“热”and 压力“高”,then阀门角度增量为“负”

If  压力“正常” then阀门角度增量为“零”
根据上述要求可设计出模糊控制器,MATLAB程序如下:
pc1=newfis('pc1')
pc1=addvar(pc1,'input','温度',[0 30];

pc1=addvar(pc1,'input','压力',[0 3]);

pc1=addvar(pc1,'output','增量’,[-10,10]),
pc1=addmf(pc1, ' input',1,'冷','trapmf' ,[0 0 10 20l);

pc1=addmf(pc1, ' input',1,'热' ,'trapmf',[10 20 30 30]),

pc1=addmf(pc1, ' input',2,'正常’,' trimf',[0 1 2]),

pc1=addmf(pc1,'input',2 '高','traprmf',[1 2 3 3]);
pc1=addmf(pc1,'output',1,'负',‘trimf’,[-10 -5 0]);

pc1=addmf(pc1,'output',1,'零','trimf',[-5,0,5]);

pc1=addmf(pc1,'otput',1,'正','trimf',[0 5 10]);

rulelist[1 2 3 1 1;2 2 1 1 1;0 1 2 1 2];

pc1=addrule(pc1,rulelist);

这样就得到了模糊控制器(名为pc1的FIS结构),然后可以根据过程的温度和压力通过模糊控制器计算出过程控制的输入,例如,当t=5 ℃,P=2,则
evalfis([5 2],pc1)

ans=5

这说明模糊控制器的输出为5 ℃。
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值