Plot returns one point

Hello everybody, I'm having problem with plotting, here's my piece of code
a=0;
b=5;
n=100;
s=zeros(1,n);
z=0;
h=(abs(b-a))/n;
x=a:h:b;
y=(x.^0.5)+sin(x)+5;
for i=1:n
t=(y(i)+y(i+1))/2;
s=s+(y(i)+y(i+1)+4*t)*h/6;
end
plot(n,s)
plot returns only one point, I can't really think of way to make 's' variable saved as vector so it could plot properly, i'd appreciate any help

1 comentario

Adam
Adam el 4 de Dic. de 2017
What are you trying to do? There doesn't seem any point to having the s on the right side of the assignment.
Storing in an array would normally just be a case of adding the obvious array index:
s(n)=s(n)+(y(i)+y(i+1)+4*t)*h/6;
but in your case it isn't obvious what value of 's' you are trying to add. Are you attempting to accumulate values?

Iniciar sesión para comentar.

Respuestas (1)

buszcini
buszcini el 4 de Dic. de 2017
Editada: buszcini el 4 de Dic. de 2017

0 votos

I'm trying to use simpsons rule to approximate integration, this is why s is on the right side of the equation. I want the program to increase accuracy each iteration, and then make a plot including approximated value dependent on number of iterations. I'm new to this, still getting white plot even tho variable 's' is 1x100 double

Categorías

Etiquetas

Preguntada:

el 4 de Dic. de 2017

Editada:

el 4 de Dic. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by