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

4 views (last 30 days)
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.

Accepted Answer

Sam Chak
Sam Chak on 27 May 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 Comments
Nuri Efe TATLI
Nuri Efe TATLI on 27 May 2022
Edited: Nuri Efe TATLI on 27 May 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 on 27 May 2022
Edited: Sam Chak on 27 May 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)

Sign in to comment.

More Answers (0)

Categories

Find more on General Applications in Help Center and File Exchange

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!