Why is my plot blank ?
Show older comments
>> syms y
>> syms U
>> A=(-U-U*exp(-y))./(exp(-y)-1)
A =
-(U + U*exp(-y))/(exp(-y) - 1)
>> B=(2*U)./(exp(-y)-1)
B =
(2*U)/(exp(-y) - 1)
>> f(U,y)= A+B*exp(-y)
f(U, y) =
(2*U*exp(-y))/(exp(-y) - 1) - (U + U*exp(-y))/(exp(-y) - 1)
>> plot(f(U,0.01),f(U,100))
Error using plot
Data must be numeric, datetime, duration or an array convertible to double.
((Trying to plot two versions of the function. One with y=0.01 and y=100.))
3 Comments
David Hill
on 3 Dec 2019
What is U? You will need to vary U to be able to plot it.
Rik
on 3 Dec 2019
I'm on mobile so I can't test it, but you probably need to divide this into 2 calls to plot. And is there a reason why you're using symbolic variables instead of anonymous functions (and fplot)?
Blake Walkowiak
on 3 Dec 2019
Answers (1)
Walter Roberson
on 3 Dec 2019
0 votes
U is a symbolic variable, so f(U,0.01) is a symbolic expression involving the symbolic variable U
plot() can never plot symbolic expressions that contain unresolved symbolic variables.
Try fplot()
1 Comment
Walter Roberson
on 3 Dec 2019
Though now that I look at it again, you should probably be using fplot3(), like
fplot3( f(U, 0.01), f(U, 100), 0)
Provided, that is, that the idea is that you want to plot a parametric curve as the U values change.
Categories
Find more on Line Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!