Filter löschen
Filter löschen

How do I plot time vs. velocity with a matrix in Simulink ?

1 Ansicht (letzte 30 Tage)
Nuri Efe TATLI
Nuri Efe TATLI am 27 Mai 2022
Bearbeitet: Sam Chak am 27 Mai 2022
Hi everyone.
I have a 1370x2 matrix where the first column is the time and second column is velocity.
I want to plot Time vs Velocity in x and y axis respectively.
Is there any block in Simulink that can help me with that ?
Thanks.

Akzeptierte Antwort

Sam Chak
Sam Chak am 27 Mai 2022
In MATLAB, if a matrix M is given, then this would be:
t = M(:,1); % 1st column
V = M(:,2); % 2nd column
plot(t, V) % plotting V vs. t
However, in Simulink, it's a little complicated. Luckily, you can use a MATLAB Function block to do wonders.
Double-click the block and enter this code:
function plotfcn(u)
t = u(:,1);
V = u(:,2);
coder.extrinsic('plot')
plot(t, V, 'linewidth', 1.5)
grid on
xlabel('t')
ylabel('V')
  2 Kommentare
Nuri Efe TATLI
Nuri Efe TATLI am 27 Mai 2022
Bearbeitet: Nuri Efe TATLI am 27 Mai 2022
This is superb thank you very much.
Also can i create more than 1 figures with this on Simulink ?
Because only 1 figure appears when i run my simulation.
Sam Chak
Sam Chak am 27 Mai 2022
Bearbeitet: Sam Chak am 27 Mai 2022
Yes you can.
function plotfcn(u)
t = u(:,1);
V = u(:,2);
coder.extrinsic('plot')
figure(1)
plot(t, V, 'linewidth', 1.5)
figure(2)
plot(t, sqrt(V), 'linewidth', 1.5)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by