# error when substituting value

2 views (last 30 days)
Hao Ming Low on 24 Mar 2020
Commented: Hao Ming Low on 24 Mar 2020
what is the meaning of the code below?
>> f(x) = -0.5.*(x.^2)+2.5*x+4.5
x = 4
f =
0 0 0 0 4.5000 1.5000 -2.5000 -7.5000 -13.5000 -20.5000
x =
4
i typed the quadratic equation and wish to find the value from 0<x<20 ,but the table emerges. can anyone explain the table for me?

Geoff Hayes on 24 Mar 2020
Hao - your code above code is creating an array (this is your f) and not a table. So when you say something like
x = 3;
f(x) = -0.5.*(x.^2)+2.5*x+4.5;
you are setting the third element to the evaluation of -0.5.*(x.^2)+2.5*x+4.5 for x=3. If you have not previously assigned anything to the first or second elements, then they are set to zero. I'm not sure if that is your intent, but an alternative approach might be to use an anonymous function for your quadratic:
f = @(x)-0.5.*(x.^2)+2.5*x+4.5;
x = 1:1:19;
result = f(x);
where result is an array where the kth element is f(k). (Note that is only true when k is an integer - if the x data contains non-integer values, then the kth element of the results array would correspond to f(x(k)).)

Hao Ming Low on 24 Mar 2020
hi, i have tried to copy your entire code nut nothing appear....... do i need to enter anything else except the codes u send me here?
Geoff Hayes on 24 Mar 2020
Hao - all you need is the three lines. I'm not sure what you mean by nothing appear. It could be that semi-colon at the end of the third line is suppressing output that you are expecting to see. Either remove the semi-colon or just do
f = @(x)-0.5.*(x.^2)+2.5*x+4.5;
x = 1:1:19;
result = f(x);
result
to see what result contains.
Hao Ming Low on 24 Mar 2020
thank you!!! it works after semicolon removed