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 Commento

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?

Accedi per commentare.

Risposte (1)

buszcini
buszcini il 4 Dic 2017
Modificato: buszcini il 4 Dic 2017

0 voti

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

Tag

Richiesto:

il 4 Dic 2017

Modificato:

il 4 Dic 2017

Community Treasure Hunt

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

Start Hunting!

Translated by