Use trapezoidal method to find the deflection at each measurement point.

3 visualizaciones (últimos 30 días)
Sean Flanagan
Sean Flanagan el 30 de Sept. de 2022
Editada: Torsten el 1 de Oct. de 2022
Hi,
I have the following 21x2 matrix
I need to use loops and trapezoidal method to find the deflection at each measurement point. By using the trapz command I can find the overall result but I need guidance with how to find the deflection at each measurement point.
  1 comentario
Sean Flanagan
Sean Flanagan el 1 de Oct. de 2022
cumtrapz gives me each answer for [f(x0)...f(x20]. Is there a way to write the code to give [f(x0)+f(x1)] = ans, [f(x0)+f(x1)+f(x2)] = ans, [f(x0)+f(x1)+f(x2)+f(x3)] = ans .....[f(x0)+f(x1)....+f(x19)+f(x20)] = ans, using for loops?

Iniciar sesión para comentar.

Respuestas (1)

James Tursa
James Tursa el 30 de Sept. de 2022
Sounds like you want the cumtrapz( ) function. If the assignment requires you to use loops, just code up the formula found in the trapz( ) doc:
  4 comentarios
Torsten
Torsten el 1 de Oct. de 2022
Editada: Torsten el 1 de Oct. de 2022
Why
[f(x0)+f(x1)] = ans,
[f(x0)+f(x1)+f(x2)] = ans,
[f(x0)+f(x1)+f(x2)+f(x3)] = ans
.....
[f(x0)+f(x1)....+f(x19)+f(x20)] = ans ?
Don't you need
[f(x0)+f(x1)]/2 * (x1-x0) = ans
[f(x0)+f(x1)] / 2 *(x1-x0) + [f(x1)+f(x2)]/2 * (x2-x1) = ans,
[f(x0)+f(x1)] / 2 *(x1-x0) + [f(x1)+f(x2)]/2 * (x2-x1) + [f(x2)+f(x3)]/2 * (x3-x2) = ans
...
[f(x0)+f(x1)] / 2 *(x1-x0) + [f(x1)+f(x2)]/2 * (x2-x1) + [f(x2)+f(x3)]/2 * (x3-x2) + ... + [f(x19) + f(x20)]/2 * (x20-x19) = ans
?
That's what cumtrapz does.
Otherwise, use cumsum(f) instead of cumtrapz(x,f).
Sean Flanagan
Sean Flanagan el 1 de Oct. de 2022
Thanks mate I must have done something wrong

Iniciar sesión para comentar.

Categorías

Más información sobre Numerical Integration and Differentiation en Help Center y File Exchange.

Productos


Versión

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by