早教吧作业答案频道 -->其他-->
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函数我...的网友还看了以下:
已知全集U,集合A、B为U的两个非空子集,若“x∈A”y与“x∈B”是一对互斥事件,则称A与B为一 2020-06-05 …
水平地面上放一物体A,它与地面间的滑动摩擦力为u.现加一恒力F,欲使物体A有最大加速度,则恒力F与 2020-07-21 …
simulink中的s函数我用simulink搭建了一个模块,用到了s函数,用来实现以下功能:对于 2020-07-23 …
函数的运算:已知函数f(x)的定义域为R,对任意实数u,v满足f(u+v)=f(u)+f(v),且 2020-07-27 …
已知全集U,集合A、B为U的两个非空子集,若“x∈A”y与“x∈B”是一对互斥事件,则称A与B为一 2020-07-29 …
lim[cos(u/4n)+cos(3u/4n)+.+cos(2n-1)u/4n]/n这里n趋于无穷 2020-11-01 …
诺贝尔经济学奖得主、美国经济学家西蒙:库兹涅茨的“倒U曲线”通常被用来解释许多经济现象。用“倒U曲线 2020-12-16 …
用“倒U曲线”来考察民营企业,会发现在原始创业阶段,企业业绩与规模呈现正常上升趋势,但发展到一定规模 2020-12-16 …
麻黄素又称黄碱,是我国特定u中药材麻黄中所含有u一种生物碱.经我国科学家研究发现其结构如4:(1)麻 2020-12-22 …
1.某本书中写道:欧姆定律并不是只是用于线性元件的.我质疑!以下是我的推导:线性元件的I-U图像是一 2021-01-13 …