如何在matlab(mfile)中将传感器输入到PID

如何在matlab(mfile)中将传感器输入到PID,matlab,Matlab,我尝试在matlab(mfile)中实现以下系统: 我的系统有两部分:图像处理(传感器)和控制系统。这段代码是: clear,close %your model and its input output mot=tf(1,[1 1]), model=ss(mot); [F,h,c,d]=ssdata(model); %your pid controller r=pid(5,1/0.05,10) sys.inputname='u' sys.outputname='y' Ci.inputname=

我尝试在matlab(mfile)中实现以下系统:

我的系统有两部分:图像处理(传感器)和控制系统。这段代码是:

clear,close
%your model and its input output
mot=tf(1,[1  1]),
model=ss(mot);
[F,h,c,d]=ssdata(model);
%your pid controller
r=pid(5,1/0.05,10)
sys.inputname='u'
sys.outputname='y'
Ci.inputname='e';
Ci.outputname='u';
som1 = sumblk('e = r - y');
%global model with all conneection
modelg=connect(som1,r,model,'r','y')
%simulation
step(modelg)
上面的代码是表示PID的模型,然后是状态空间,然后是作为反馈的输出
我必须从我的传感器(图像处理部分,如3)输入,并将其与我的参考值进行比较。我需要知道在这个代码中输入值将在哪里调整。任何指导都将不胜感激。

系统的模拟输出为“y”,因此您要做的是将此“y”与传感器的输出进行比较。这将用于获得e,即实际误差。您这样做是为了对“y”有更多的了解,因为系统描述从来都不是完美的。我想这更多的是一个与控制系统相关的问题,而不是一个实际的matlab问题,或者我有什么问题吗?

是的,这是一个控制系统问题,但我有语法问题。假设我有一个输出形式为y1的传感器。我想把这个值y1和y(控制系统的输出)的平均值取为(y+y1)/2。如何在我的代码中包含此平均值。很抱歉,我没有得到。我从未使用过这些命令,但通过阅读“connect”的帮助,我想说您需要另一个块SYS2,它将y和传感器数据作为输入,您将很容易获得反馈。只需检查“帮助连接”。对不起,我不能告诉你更多。