Graph of function not match y(variable)

2 views (last 30 days)
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

Accepted Answer

Michelangelo Ricciulli
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 .
  5 Comments
Michelangelo Ricciulli
Michelangelo Ricciulli on 15 Mar 2018
Edited: Michelangelo Ricciulli on 15 Mar 2018
yes, it is right... But I guess that if you are going to use bisection method, you are also going to change the spacing between x values (now they are spaced by 1, so, for example, you can't evaluate y in 10.33). Then you should modify accordingly the values xu and xl. In the end, is far more convenient to use the method proposed by Steven Lord
Gabriel Boiling
Gabriel Boiling on 15 Mar 2018
Ok then, thank you for all the help

Sign in to comment.

More Answers (0)

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!