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 commentaire

Adam
Adam le 4 Déc 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?

Connectez-vous pour commenter.

Réponses (1)

buszcini
buszcini le 4 Déc 2017
Modifié(e) : buszcini le 4 Déc 2017

0 votes

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

Tags

Question posée :

le 4 Déc 2017

Modifié(e) :

le 4 Déc 2017

Community Treasure Hunt

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

Start Hunting!

Translated by