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?
%

Risposte (1)

Azzi Abdelmalek
Azzi Abdelmalek il 26 Gen 2013
Modificato: Azzi Abdelmalek il 26 Gen 2013
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 Commenti

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.

Accedi per commentare.

Categorie

Prodotti

Richiesto:

YEH
il 26 Gen 2013

Community Treasure Hunt

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

Start Hunting!

Translated by