matlab运行没有图片,simulink模型运行时没报错,但scope没有图像,什么原因?

BP网络的代码:

function [sys,x0,str,ts]=BPwangluo(t,x,u,flag)

switch flag

case 0

[sys,x0,str,ts]=mdlInitializeSizes;

case 2

sys=mdlUpdates(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

sizes=simsizes;%用于设置模块参数的结构体用simsizes来生成

sizes.NumContStates=0;%模块连续状态变量的个数

sizes.NumDiscStates=6;%模块离散状态变量的个数

sizes.NumOutputs=3;%模块输出变量的个数

sizes.NumInputs=14;%模块输入变量的个数

sizes.DirFeedthrough=1;%模块是否存在直接贯通,1表示存在直接贯通,若为0,则mdlOutputs函数里不能有u

sizes.NumSampleTimes=1;%模块的采样时间个数,至少是一个

sys=simsizes(sizes);%设置完后赋给sys输出

x0=zeros(6,1);%系统状态变量设置

str=[];

<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用MATLAB的`Simulink.SimulationData.Dataset`类来保存范围数据并使用`Simulink.SimulationData.Signal`类来获取范围数据。以下是一个示例代码,它演示了如何在每次运行模型后保存范围数据以及如何获取并保存作用域数据。 ```matlab % 定义模型名称 modelName = 'myModel'; % 加载模型 load_system(modelName); % 设置模拟参数 simTime = 10; simOptions = simset('SrcWorkspace','current','DstWorkspace','current'); simOptions.OutputWorkspace = 'myWorkspace'; % 运行模型 sim(modelName, [0 simTime], simOptions); % 获取范围数据 scopeData = getVariable(myWorkspace, 'simout'); scopeTime = scopeData.time; scopeValues = scopeData.signals.values; % 保存作用域数据 save('myScopeData.mat', 'scopeTime', 'scopeValues'); ``` 在这个示例中,我们定义了模型名称并加载了模型。我们设置了模拟参数并运行模型。然后,我们使用`getVariable`函数获取了范围数据。我们将时间和值存储在单独的变量中,并使用`save`函数将它们保存到名为“myScopeData.mat”的文件中。 您可以将这段代码放在一个循环中,以便在每次运行模型后保存对应的作用域图像。例如: ```matlab % 定义模型名称 modelName = 'myModel'; % 加载模型 load_system(modelName); % 设置模拟参数 simTime = 10; simOptions = simset('SrcWorkspace','current','DstWorkspace','current'); simOptions.OutputWorkspace = 'myWorkspace'; % 运行模型 for i = 1:10 sim(modelName, [0 simTime], simOptions); % 获取范围数据 scopeData = getVariable(myWorkspace, 'simout'); scopeTime = scopeData.time; scopeValues = scopeData.signals.values; % 保存作用域数据 save(sprintf('myScopeData%d.mat', i), 'scopeTime', 'scopeValues'); end ``` 在这个示例中,我们将代码放在一个循环中,并为每次运行模型生成一个不同的文件名。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值