Why is my MATLAB plot wrong?

Hi! I just started my Matlab course and i have run into a little problem which i hope you can help me with. I am suppose to write a function which integrates a function e^(-t^2) from 0 to some x which is a variable in the function. I did that like this:
function y = simpson_method(x)
y1 = exp(-0.^2);
y2 = exp(-(x).^2);
c = 0;
d = 0;
incr = 0.1;
for i = 1 : (x - 0)/incr - 0.5
y = exp(-(0 + i*incr).^2);
if i/2 == floor(i/2)
d = d + y;
continue
else
c = c + y;
continue
end
end
y = incr/3 * (y1 + 4*c + 2*d + y2);
The function integrates correctly and gives me a desired output for every x. But the problem is when i try to plot it:
x = 0:0.1:15;
y = simpson_method(x);
plot(x,y)
It gives me the wrong graph which i find weird because all the outputs are correct. I get this which is nonsense. Whats happening?
%

5 个评论

What is the right graph?
And what are the values of y that you get out?
This is the right plot and my function outputs y as very close to 0 when x=0 and reaches 0.884.. when x goes larger which is exactly the plot of the function when integrated on https://www.integral-calculator.com/ with input e^(-x^2) from 0 to your chosen upper limit.
@Edward Lisa: can you please confirm the ambiguous syntax:
  1. e^((-t)^2)
  2. e^(-(t^2))
Its e^(-(t^2))
If your y values are correct I can see no reason at all why plot would not give the correct answer so your y values cannot be correct if you are literally just calling plot.

请先登录,再进行评论。

回答(1 个)

KALYAN ACHARJYA
KALYAN ACHARJYA 2018-5-21
编辑:KALYAN ACHARJYA 2018-5-21

0 个投票

Shown Graph the x ranges are different

类别

帮助中心File Exchange 中查找有关 Programming 的更多信息

产品

版本

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by