Info

此问题已关闭。 请重新打开它进行编辑或回答。

Store and pass on variables

1 次查看(过去 30 天)
Brage Mothes
Brage Mothes 2019-3-10
关闭: MATLAB Answer Bot 2021-8-20
I would like to store a value to be passed on in Simulink, whenever certain conditions is met. Preferrably using a Matlab function block.
The code i've written is the following:
function prev_tan = fcn(input)
persistent tangent;
persistent prev_tangent;
% Initial values
if isempty(prev_tangent)
prev_tangent = [1; 1];
tangent = [1; 1];
% When u changes
elseif tangent ~= input
prev_tangent = tangent;
tangent = input;
end
prev_tan = prev_tangent;
end
Anyone know how to do this or something similar, storing old values to be passed on?
Thanks in advance!

回答(1 个)

Patel Mounika
Patel Mounika 2019-3-12
System Objects are designed specifically for implementing and simulating dynamic systems with inputs that change over time and System objects use internal states to store that past behavior, which is used in the next computational step which is applicable in your case. Therefore, I suggest you use System Objects rather than functions. And MATLAB System Block will enable you to use System Objects in Simulink. Please refer to the links to know more about System Objects and System block.
Hope this helps.

此问题已关闭。

产品

Community Treasure Hunt

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

Start Hunting!

Translated by