How can I plot my function?

My program is supposed to plot a function, but every time I try this I either end up with an empty plot or with an error. The code is this:
function Q = hydrogenusage(P)
Q = (120*P)-(P^2);
plot(P,Q)
xlabel('Power')
ylabel('Usage')
title('Hydrogen usage')
grid on
end
The error I get is 'Not enough input arguments'. Okay, I thought, it needs some kind of input. So I entered:
hydrogenusage(0)
But if I try that it gives me an empty plot. I tried varying the 0 value I added as input, but it didn't work. How can I make this work?

 Risposta accettata

Youssef  Khmou
Youssef Khmou il 14 Gen 2014
You need to provide a vector as the input to get a result of the equation Q , but you need to use element wise operations , alter your function :
function Q = hydrogenusage(P)
Q = (120*P)-(P.^2);
plot(P,Q)
xlabel('Power')
ylabel('Usage')
title('Hydrogen usage')
grid on
end

2 Commenti

Thank you! It worked. But can I make it so that I just have to type in 'hydrogenusage' (so not hydrogen (0:120) ? I tried using:
axis([xmin xmax ymin ymax])
But alas, that only sets the limits of the axis itself. I'd like to preset the number of data points it should calculate before plotting. Is that possible?
the question is not clear yet, you mean a function without input? or only axis adjustment ? inside the function put this line :
axis([P(1) P(end) Q(1) Q(end)])

Accedi per commentare.

Più risposte (1)

It is plotting, but it is only plotting a single point because you only asked it to plot a single point. You need to pass in a vector of points such as
hydrogenusage(0:10)
You will find you also need to change P^2 to P.^2

Categorie

Scopri di più su Surfaces, Volumes, and Polygons in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by