MATLAB code into SIMULINK
Ältere Kommentare anzeigen
I want to convert a MATLAB code into a SIMULINK MODEL. In the code, FOR LOOP is incorporated within a function block. Therefore, only one (last) output of For Loop is transferred to output. I need multiple outputs based on time interval. Can anyone help me in converting my loop into a SIMULINK Model. The code of FOR LOOP is given below;
Ts= 25e-6;
t1 =0.0000075 ;
t2 = 0.0000175;
for Tt=0:25e-8:Ts;
if (Tt <=t1)
Sa = 0;
Sb= 1;
Sc = 0;
else
Sa = 1;
Sb = 1;
Sc = 1;
end
end
Antworten (1)
Walter Roberson
am 11 Nov. 2019
0 Stimmen
You can use a clock signal as input to an if/then block.
4 Kommentare
Muhammad Kashif Nawaz
am 3 Dez. 2019
Walter Roberson
am 3 Dez. 2019
How can i update an output value more than once during one sampling interval of a matlab function block?
That is not possible.
matlab function block has a fixed sample time (T).
That is not a requirement. You can use variable step solvers with MATLAB Function Block.
Muhammad Kashif Nawaz
am 4 Dez. 2019
Walter Roberson
am 4 Dez. 2019
Yes you can. However, it only affects how long it takes to execute the MATLAB Function Block, nothing else about the model. You could detect that the pause() had occurred by carefully examining the real-time clock, but not by examining the clock signal (which reflects simulated time.)
For example it is valid to have a MATLAB Function block that does something like
h = msgbox('Pausing');
pause(2)
delete(h)
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!