Filter löschen
Filter löschen

EZplot takes very long time to plot using, symbolic expression

2 Ansichten (letzte 30 Tage)
Wilhelm Dahlin
Wilhelm Dahlin am 14 Feb. 2022
Beantwortet: Sourav Karmakar am 17 Feb. 2022
Hi all,
I'm having some difficult plotting graphs using EZplot. I dont know why but it has something to do with the matrix Ab. Before changing one element from "0" to "k1" in Ab, everything worked as it should and the plot appeard after 2 seconds - but after that small change it takes roughly 5 minutes for EZplot to plot the graphs. The script runs smoothly all the way to the start of the ezplot, I checked using "steps".
Below is the code. Am i missing something obvious or do I need to rewrite some of it?
m1=9;
m2=9;
m3=1;
k1=1;
k2=10;
k3=6;
syms t
Ab=[0 1 0 0 0 0; -k1/m1 0 k1/m1 0 0 0; 0 0 0 1 0 0; k1/m2 0 -(k1+k2)/m2 0 k2/m2 0; 0 0 0 0 0 1; 0 0 k2/m3 0 -(k2+k3)/m3 0];
x0=[1; 0; 0; 0; 0; 0];
eta=expm(t.*Ab);
ut=eta*x0;
u1=ut(1);
u2=ut(2);
v1=ut(3);
v2=ut(4);
w1=ut(5);
w2=ut(6);
%x1=u1, x2=v1, x3=w1
%Plot
figure(2)
ezplot(u1, [0, 50]);
ylim([-1.1, 1.1]);
hold on
ezplot(v1, [0, 50]);
ylim([-1.1, 1.1]);
ezplot(w1, [0, 50]);
ylim([-1.1, 1.1]);
legend('x(1)', 'x(2)', 'x(3)', 'Location', 'southeast')

Antworten (1)

Sourav Karmakar
Sourav Karmakar am 17 Feb. 2022
Hey Wilhelm ,
When you are using ‘0’ instead of ‘k1’ in Ab matrix then your ‘u1’,’v1’,’w1’ will contain simpler symbolic expressions in comparison to other value of ‘k1’. That’s why, using “EZplot”, you will get your plot figures within few seconds.
While using ‘k1’, the symbolic expressions will be complex for those variables. Then, it will take longer time to plot the respective figures. “ezplot is not recommended, use fplot or fimplicit instead .
Hope this helps!

Produkte


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by