# Graph of function not match y(variable)

9 views (last 30 days)
Gabriel Boiling on 15 Mar 2018
Commented: Gabriel Boiling on 15 Mar 2018
I wrote a non-polynomial function as y and made a plot graph from it but when I try to find a value of x from the function (simply using y(x)) it never seems to match what the value would be from the graph? For instance I can see that when x = 10 then y=-100 from the graph, but using y(10) I get the value x = -188.9. Relevant graph: and y(10): relevant code:
a5 = -2 * 10 ^ -5; %assign values of the equation variables
a4 = 3 * 10^ -5;
a3 = 2 * 10^ -2;
a0 = -50;
b1 = -10^ 2;
b2 = 10;
c1 = 2 * 10^ -1;
c2 = 10^ -1;
x= -37:37; %define the range of x for the graph
y = (a5.*x.^5 + a4.*x.^4 + a3.*x.^3 + a0 + b1.*(sin(c1.*x)) + b2.*exp(c2.*x)); %assign the y function
plot(x,y); %plot the graph
xlabel ('X axis'); %add the title, axis and grid to the graph
ylabel ('Y axis');
title ('Figure 1 - Function y as a function of x');
grid on;
end

Michelangelo Ricciulli on 15 Mar 2018
Hi Gabriel, you are mixing up the indexes of the vector and the argument of a mathematical function. y(10) means the 10th value memorized in the array y. y is made of 37*2+1=75 values and you associated the 1st with x=-37, the 2nd with x=-36 ... So y(10) in matlab, is equivalent to y(-37+10)=y(-27). And if you look at your plot, the value in x=-27 is -188.9 .
Gabriel Boiling on 15 Mar 2018
Ok then, thank you for all the help