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 Ansicht (letzte 30 Tage)
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))

Antworten (1)

Walter Roberson
Walter Roberson am 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 Kommentare
Henn
Henn am 21 Sep. 2017
Bearbeitet: Henn am 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 am 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

Melden Sie sich an, um zu kommentieren.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by