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?
Use trapezoidal method to find the deflection at each measurement point.
1 回表示 (過去 30 日間)
古いコメントを表示
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 件)
James Tursa
2022 年 9 月 30 日
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 件のコメント
Torsten
2022 年 10 月 1 日
編集済み: Torsten
2022 年 10 月 1 日
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).
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!