EZplot takes very long time to plot using, symbolic expression
1 次查看(过去 30 天)
显示 更早的评论
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')
0 个评论
回答(1 个)
Sourav Karmakar
2022-2-17
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!
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!