Why my program always get '0' at initialization?

function out=gett(A)
if A(1)==0
out=1;
else
out=0;
end
A(1)
end
My M-file Integrator block :initial condition=-2
Why my program always get '0' at initialization?
but workspace is correct output.
How should I avoid this case?
%

回答(1 个)

Your Matlab function is not an integrator, your output signal is 0 or 1
if A(1)==0
out=1;
else
out=0;
end
And the matlab function does not have an initial output setting

3 个评论

oh~I upload the wrong picture...sorry
What does the mean of 'initial output setting'?
Command windows is the 'matlab function' input, and the workspace is the 'matlab function' output, doesn't it?
You are displaying the output of the matlab function. According to your code it is 0 or 1
When time is [0;2;4;6] the input is [-2;0;2;4], so the answer will be [0;1;0;0], that is correct.
But the program get the '0' input that is wrong!! Because the initial input is '-2'.
'0' is the simulink at initialization, I don't want it that is my problem.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Debugging and Analysis 的更多信息

产品

提问:

YEH
2013-1-26

Community Treasure Hunt

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

Start Hunting!

Translated by