MATLAB Answers

buxZED
0

Basic Function Error (Plot Related

Asked by buxZED
on 23 Feb 2011
y=f(x)=2.8x^3 - 3.5x^2 + 1.5x - (0.15 + 0.1*0.2529)=0
Plot this function (x in the range of [0, 1])
this is the given question following is my attempt
>> x=linspace(0,1,200);%this is to generate values for "x"
>> y=(2.8*x^3)-(-3.5*x^2)+(1.5*x)-(0.15+(0.1*stu_id))
??? Error using ==> mpower
Matrix must be square.
>> y=(2.8*.x^3)-(-3.5*.x^2)+(1.5*.x)-(0.15+(0.1*stu_id))
??? y=(2.8*.x^3)-(-3.5*.x^2)+(1.5*.x)-(0.15+(0.1*stu_id))
|
Error: Unexpected MATLAB operator.
>> y=(2.8*.x^3)-(-3.5*.x^2)+(1.5*.x)-(0.15+(0.1*stu_id))=0
??? y=(2.8*.x^3)-(-3.5*.x^2)+(1.5*.x)-(0.15+(0.1*stu_id))=0
|
Error: Unexpected MATLAB operator.
>> 0=(2.8*.x^3)-(-3.5*.x^2)+(1.5*.x)-(0.15+(0.1*stu_id))
??? 0=(2.8*.x^3)-(-3.5*.x^2)+(1.5*.x)-(0.15+(0.1*stu_id))
|
Error: The expression to the left of the equals sign is not a
valid target for an assignment.
>>
much appreciate if anyone can point in the right direction

  0 Comments

Sign in to comment.

3 Answers

Answer by Davide Ferraro on 23 Feb 2011
 Accepted Answer

You should use the element by element power elevation ".^". Without the "dot" you are trying to do the power of a matrix and this is defined only for a square matrix.
y=(2.8*x.^3)-(-3.5*x.^2)+(1.5*x)-(0.15+(0.1*stu_id))
This should work to evaluate the function (you need also to define the stu_id variable).

  1 Comment

buxZED
on 23 Feb 2011
much appriciated :D

Sign in to comment.


Answer by Matt Tearle
on 23 Feb 2011

The operator you're looking for is .^ (ie x.^2)
And similarly .* and ./

  0 Comments

Sign in to comment.


Answer by Andrew Newell
on 23 Feb 2011

You've got the dot and the star in the wrong order, and you don't need the dot anyway for multiplying by a scalar. Try this:
y=(2.8*x.^3)-(-3.5*x.^2)+(1.5*x)-(0.15+(0.1*stu_id))

  0 Comments

Sign in to comment.