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 件)

Azzi Abdelmalek
Azzi Abdelmalek 2013 年 1 月 26 日
編集済み: Azzi Abdelmalek 2013 年 1 月 26 日

0 投票

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 件のコメント

YEH
YEH 2013 年 1 月 26 日
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?
Azzi Abdelmalek
Azzi Abdelmalek 2013 年 1 月 26 日
You are displaying the output of the matlab function. According to your code it is 0 or 1
YEH
YEH 2013 年 1 月 27 日
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.

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

カテゴリ

製品

質問済み:

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