Everytime I run specific fplot function, for some reason my entire matlab program freezes. If I run anything else, it works just fine. Why does this happen?

1 vue (au cours des 30 derniers jours)
syms t(y)
t(y) = (3.8e6)/(16.1070*1.466*y)*((6.9607*y*95.2e6)/(3.8e6*(6.9607*(1-y)-1)))^(1-y)
fplot(t(y))

Réponses (1)

Walter Roberson
Walter Roberson le 21 Sep 2017
You need to control the bounds. For all y values less than 0, the expression is complex; and for all y values greater than 59607/69607, the expression is complex except at integers.
fplot() with default bounds is spending a lot of time trying to figure out where the real-valued locations are in order to plot them.
  2 commentaires
Henn
Henn le 21 Sep 2017
Modifié(e) : Henn le 21 Sep 2017
I know its not in my code but I have limited these boundaries to 0.5<y<0.85, and it still does the same thing for some reason.
This is what my code looks like, and it just keeps on running for like an hour and still nothing. I end up having to close matlab and restart it.
syms t(y)
t(y) = (3.8e6)/(16.1070*1.466*y)*((6.9607*y*95.2e6)/(3.8e6*(6.9607*(1-y)-1)))^(1-y)
fplot(t(y),[0.5 0.85])
Walter Roberson
Walter Roberson le 21 Sep 2017
I am not sure. I know that fplot does a lot of background processing looking for discontinuities, but there should not be any in that range.
In the meantime, switch to ezplot

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by