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


1 Answer

Answer by Matt Fig
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.


Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi test

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!