sim command clears the workspace in a for loop

Hi I have a simulink model. There are two blocks in it which need to be updated. So I use "sim command" in a for loop in order to get data from previous step for the next one. But it seems that sim command clears the workspace in each iteration. So there is nothing in workspace. I tried
options = simset('SrcWorkspace','current', 'DstWorkspace', 'current');
but it wasn't helpful. I appreciate it if you could help me. Thanks. This is the code I use to run the model.
clc
clear all
T=100;
q=zeros(T,3);
m=zeros(T,2);
%M=tf([0.5],[1 1]);
%Q=tf([1 1],[2 1]);
for i=1:T
Q = tf([q(i,1) q(i,2)],[1 q(i,3)]);
M = tf([m(i,1)],[1 m(i,2)]);
options = simset('SrcWorkspace','current', 'DstWorkspace', 'current');
sim('adp_imc_1',[i i+1],options)
end

3 件のコメント

Omur Bas
Omur Bas 2017 年 10 月 2 日
The sim command does not clear the workspace. It might be overwriting some variables depending on your model configuration. Try to use sim with output arguments (look up the documentation for syntax) and you can get an idea of what's going wrong.
Mohammad
Mohammad 2017 年 10 月 2 日
編集済み: Mohammad 2017 年 10 月 2 日
@Omur Bas : Thanks for your comment but I think it's the sim command. because even when it's used out of the for loop for an interval like [1 2]and you want to do the simulation again without any "clear all command" the data related to the [1 2] is cleared. and we have the new data related to the new interval.
@ Stephen Cobeldick: I already used the piece of code mentioned in these posts. Nothing happened!

サインインしてコメントする。

回答 (0 件)

カテゴリ

質問済み:

2017 年 9 月 30 日

編集済み:

2017 年 10 月 2 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by