声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1282|回复: 0

请教高手:帮忙看看

[复制链接]
发表于 2007-4-26 19:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
始终不是很明白s函数的运行原理,本来我的目的是想使用s函数得到差值一定的输出,就如下面脚本文件输出一样:
global m
m=0;
while m<20
   
    sys=(m+1)*0.05;
    m=m+1;
    for i=0:50000000;
        d=i;
    end
   end
运行这个脚本文件,输出是以0.05递增的值,直到sys=1为止
如果使用s函数,如下所示:
function [sys,x0,str,ts]=ercichazhi(t,x,u,flag)
  global P m D1 D2 D3 P1 P2 P3 D
  P=0;
  m=0;
  D=0.5;
  D1=0;D2=0.5;D3=1;P1=0;P3=0;
  switch flag,
        case 0,
            [sys,x0,str,ts]=mdlInitializeSizes(P,m,D1,D2,D3,P1,P2,P3,D);
        case 3,
              sys=mdlOutputs(t,x,u,P,m,D1,D2,D3,P1,P2,P3,D);
        case 4
           sys=mdlGetTimeOfNextVarHit(t,x,u);
       case {1,2,9}
            sys=[];
        otherwise
            error(['Unhandled flag=',num2str(flag)]);
    end
    function [sys,x0,str,ts]=mdlInitializeSizes(P,m,D1,D2,D3,P1,P2,P3,D)
        sizes=simsizes;  % 调用simsizes获得一个用于存放长度信息的结构
        sizes.NumContStates=0; %设置连续状态的个数
        sizes.NumDiscStates=0; %设置离散状态的个数
        sizes.NumOutputs=1;  %设置输出信号的个数
        sizes.NumInputs=0; %设置输入信号的个数
        sizes.DirFeedthrough=0;
        %设置直接反馈的状态:0表示没有直接反馈,1表示存在直接反馈
        sizes.NumSampleTimes=1; %设置抽样时间的个数(大于等于1)
        sys=simsizes(sizes);  %通过simsizes把sizes结构返还给sys
        x0=[];  %设置S函数的初始状态x0
        str=[]; %设置S函数的保留参数str(应该设置为空向量)
        ts=[1 0]; %初始化抽样时间
  %========================================================  
function sys=mdlOutputs(t,x,u,P,m,D1,D2,D3,P1,P2,P3,D)
              
               while m<20
               for i=0:50000000;%延时循环
                  d=i;
               end
                    m=m+1
                    sys=m*0.05;
              
               end
               %计算S函数的输出信号并且通过sys参数返还给Simulink
        %========================================================
         function sys=mdlGetTimeOfNextVarHit
             %sys=[];   
             sampleTime=0.025;
                sys=t+sampleTime;
结果输出就是一个恒定的值,是不是我采样的时间有问题啊,麻烦高手帮忙看看啊
谢谢!!
回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-16 09:18 , Processed in 0.061025 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表