MATLAB Answers


plotting anonymous functions with multiple variables

Asked by eternal
on 24 Apr 2011

I was given a polynomial similar to deltaP=F(q,v)=(u1+u2*v)*(n1+n2*q+n3*q.^2+n4*q.^3) where a linear and cubic polynomial are multiplied together. also I was given 2 arrays of data in order to solve for the n's and q's using polyfit or some other method. My question is how do I plot the deltaP? My current code solves for all the variables, then I define the function, but when I go to plot it I get an undefined q error message, does fplot work for this type of function, as it is still a 2d graph? or perhaps I am doing something wrong.

cfm = [0 17.8 25.2 30.9 35.7 39.9 43.7 47.2 48.5]';
h20 = [.095 .06 .045 .043 .035 .03 .02 .008 0]';
f=@(v, q)(u(1)+u(2)*v)*(n(1)+n(2)*q+n(3)*q.^2+n(4)*q.^3);
fplot(f,[0 48.5]);
thanks for any help


Log in to comment.

1 Answer

Answer by Loginatorist on 24 Apr 2011

This is confusing to me. If I plot your vectors:


It doesn't look cubic, though you could fit a cubic polynomial to this data. Part looks linear and part looks maybe quadratic, perhaps you meant that you need a piecewise fit? In your solution, u and n are switched, i.e., u should have two values and n should have 4 if we believe your function definition. Also, you have mixed up the order of the coefficients returned from POLYFIT.

I don't see how the function f can be related to your data. Is this homework?

Use EZPLOT to plot implicitly defined functions.


Log in to comment.

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today