- #1
UR_Correct
- 37
- 0
First off, I know I can use the trapz or quad functions on matlab, but I want to derive my own numerical integration code.
The problem is more complicated than this, but basically I need to be able to numerically integrate in MATLAB to continue with the homework assignment.
If y = x^2 is the function of interest to be numerically integrated from 0 to 4, this is what I have so far:
x_step = 0.1;
x = 0:x_step:4;
y = x.^2;
y2 = (x.^3)/3;
N = length(y)
for i=1:N-1
int_y(i) = ((y(i)+y(i+1))./2)*x_step %employing trapezoidal rule
end
plot(x,y), hold on, plot(x(1:N-1),y_int,'r'), hold on, plot(x,y2,'g') %just to see if I'm right
It doesn't work. Any suggestions? Can anyone link me to the code for the trapz function for matlab? I looked for a little bit, but couldn't find it. I'm not sure if we can just use trapz, so just to be safe, I wanted to develop the code myself. I can take a numerical derivative pretty easily with matlab, so I don't understand why this won't work for me!
Thanks for any help.
The problem is more complicated than this, but basically I need to be able to numerically integrate in MATLAB to continue with the homework assignment.
If y = x^2 is the function of interest to be numerically integrated from 0 to 4, this is what I have so far:
x_step = 0.1;
x = 0:x_step:4;
y = x.^2;
y2 = (x.^3)/3;
N = length(y)
for i=1:N-1
int_y(i) = ((y(i)+y(i+1))./2)*x_step %employing trapezoidal rule
end
plot(x,y), hold on, plot(x(1:N-1),y_int,'r'), hold on, plot(x,y2,'g') %just to see if I'm right
It doesn't work. Any suggestions? Can anyone link me to the code for the trapz function for matlab? I looked for a little bit, but couldn't find it. I'm not sure if we can just use trapz, so just to be safe, I wanted to develop the code myself. I can take a numerical derivative pretty easily with matlab, so I don't understand why this won't work for me!
Thanks for any help.