早教吧作业答案频道 -->其他-->
simulink中的s函数我用simulink搭建了一个模块,用到了s函数,用来实现以下功能:对于一个给定的连续信号u,输出y(t)=(u(t)+u(t+T)+u(t+2*T)+u(t+3*T)+u(t+4*T)+u(t+5*T)+u(t+6*T)+u(t+7*T)+u(t+8*T)+u(t+9*T))/10,其中T是采
题目详情
simulink中的s函数
我用simulink搭建了一个模块,用到了s函数,用来实现以下功能:对于一个给定的连续信号u,输出y(t)=(u(t)+u(t+T)+u(t+2*T)+u(t+3*T)+u(t+4*T)+u(t+5*T)+u(t+6*T)+u(t+7*T)+u(t+8*T)+u(t+9*T))/10,其中T是采样时间(T=0.1s),其主要目的是使有噪声的信号u变的平滑,请问实现这一功能如何用s函数实现,并希望能附带必要的解释,
我用simulink搭建了一个模块,用到了s函数,用来实现以下功能:对于一个给定的连续信号u,输出y(t)=(u(t)+u(t+T)+u(t+2*T)+u(t+3*T)+u(t+4*T)+u(t+5*T)+u(t+6*T)+u(t+7*T)+u(t+8*T)+u(t+9*T))/10,其中T是采样时间(T=0.1s),请问实现这一功能如何用s函数实现,并希望能附带必要的解释,
我用simulink搭建了一个模块,用到了s函数,用来实现以下功能:对于一个给定的连续信号u,输出y(t)=(u(t)+u(t+T)+u(t+2*T)+u(t+3*T)+u(t+4*T)+u(t+5*T)+u(t+6*T)+u(t+7*T)+u(t+8*T)+u(t+9*T))/10,其中T是采样时间(T=0.1s),其主要目的是使有噪声的信号u变的平滑,请问实现这一功能如何用s函数实现,并希望能附带必要的解释,
我用simulink搭建了一个模块,用到了s函数,用来实现以下功能:对于一个给定的连续信号u,输出y(t)=(u(t)+u(t+T)+u(t+2*T)+u(t+3*T)+u(t+4*T)+u(t+5*T)+u(t+6*T)+u(t+7*T)+u(t+8*T)+u(t+9*T))/10,其中T是采样时间(T=0.1s),请问实现这一功能如何用s函数实现,并希望能附带必要的解释,
▼优质解答
答案和解析
function [sys,x0,str,ts] = filter(t,x,u,flag)
switch flag,
case 0,
[sys,x0,str,ts]=mdlInitializeSizes; %调用初始化函数
case 2,
sys=mdlUpdate(t,x,u); %调用离散函数
case 3,
sys=mdlOutputs(t,x,u); %调用输出函数
case {1,4,9},
sys=[];
otherwise
error(['Unhandled flag = ',num2str(flag)]);
end
function [sys,x0,str,ts]=mdlInitializeSizes %定义10个离散变量及初值,1个输入,1个输出
sizes = simsizes;
sizes.NumContStates = 0;
sizes.NumDiscStates = 10;
sizes.NumOutputs = 1;
sizes.NumInputs = 1;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
x0=[0 0 0 0 0 0 0 0 0 0];%依次用来保存u(t)到u(t-9T)
str = [];
ts = [1e-4];
function sys=mdlUpdate(t,x,u)
for i=9:-1:1
x(i+1)=x(i);%每调用依次s-function,则将x中的数值向右移动,为计算做准备
end
x(1)=u(1);
sys=x;
function sys=mdlOutputs(t,x,u)
sys=sum(x)/10;%计算平均值
switch flag,
case 0,
[sys,x0,str,ts]=mdlInitializeSizes; %调用初始化函数
case 2,
sys=mdlUpdate(t,x,u); %调用离散函数
case 3,
sys=mdlOutputs(t,x,u); %调用输出函数
case {1,4,9},
sys=[];
otherwise
error(['Unhandled flag = ',num2str(flag)]);
end
function [sys,x0,str,ts]=mdlInitializeSizes %定义10个离散变量及初值,1个输入,1个输出
sizes = simsizes;
sizes.NumContStates = 0;
sizes.NumDiscStates = 10;
sizes.NumOutputs = 1;
sizes.NumInputs = 1;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
x0=[0 0 0 0 0 0 0 0 0 0];%依次用来保存u(t)到u(t-9T)
str = [];
ts = [1e-4];
function sys=mdlUpdate(t,x,u)
for i=9:-1:1
x(i+1)=x(i);%每调用依次s-function,则将x中的数值向右移动,为计算做准备
end
x(1)=u(1);
sys=x;
function sys=mdlOutputs(t,x,u)
sys=sum(x)/10;%计算平均值
看了 simulink中的s函数我...的网友还看了以下:
物理题,关于受力质量分别为Ma,Mb的AB两物块用轻绳连接放在倾角为r 的斜面上用始终平行于斜面向 2020-05-17 …
● TCP 是互联网中的传输层协议,使用 (23) 次握手协议建立连接。这种建立连接的方法可以防止 2020-05-25 …
TCP协议通过建立连接为用户提供可靠传输,与数据链路层的建立连接不同, TCP要经过(62)才能确定 2020-05-26 …
如图,这是一个供滑板爱好者使用的U型池,该U型池可以看作是一个长方体去掉一个“半圆柱”而成,中间可 2020-06-20 …
用一句话概括下面语段中所透露的信息。继在上海、青岛、大连、杭州开办多家建材连锁超市后,世界上最大的 2020-06-25 …
用活茬连续搭建三角形和正方形,若搭建三角形和正方形公用77根火柴,且三角形的个数比正方形的个数少5 2020-07-10 …
为了移动一座古建筑,施工人员将建筑四周挖深,把古建筑连同地基挖起.再用四个推力均为8×100000 2020-07-27 …
函数的运算:已知函数f(x)的定义域为R,对任意实数u,v满足f(u+v)=f(u)+f(v),且 2020-07-27 …
关节u结构和功能:关节指u是骨与骨之间能活动u连接,大部分骨连接属于关节.(4)关节由[4]关节面、 2020-11-25 …
多个函数单调区间之间用什么连接我知道不能用U,或连接那么请问是用逗号连接还是用和要很认真的回答啊~ 2020-12-12 …