Not enough input arguments when trying to plot function.
1 view (last 30 days)
Show older comments
I'm trying to plot a function which I created on editor, but am having trouble doing so. This is the function file I created on editor:
function z=f(y);
global B C D Tr c4 Beta gamma
z= (1 + B./y + C./(y.^2) + D./(y.^5) + c4./(Tr.^3*y.^2).*(Beta + gamma./(y.^2)).*exp( gamma./(y.^2)));
end
The values for the variables B, C, D, Tr, c4, Beta, and gamma have already been saved onto my workspace. The function itself works when I type f(y), where y is any number, into the command window. The problem is, every time I try to use the ezplot function to plot a graph of "f", I get an error which states:
Error using f (line 3)
Not enough input arguments.
Can anyone here please help me plot this function?
0 Comments
Accepted Answer
Paul
on 28 Feb 2014
Edited: Paul
on 28 Feb 2014
ezplot is for expressions with a symbolic variable. You have a function file with a function in it which returns a value for every y you give it. So what you should do is define some values for y you want to use for the plot and get z from f(y). So:
y=1:100; % 1,2,3... 99,100. or 1:0.01:2 --> 1, 1.01, 1.02 .. 1.99, 2
z=f(y);
plot(y,z)
To use ezplot you can do:
%declare constants (B C D etc)
syms y;
z= (1 + B./y + C./(y.^2) + D./(y.^5) + c4./(Tr.^3.*y.^2).*(Beta + gamma./(y.^2)).*exp( gamma./(y.^2)));
ezplot(z)
0 Comments
More Answers (0)
See Also
Categories
Find more on Surface and Mesh 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!