Line integral over a 3D surface
5 ビュー (過去 30 日間)
古いコメントを表示
I have a surface defined by its x,y,z coordinates and want to find, fixed two points (x1,y1) and (x2,y2) the line integral over the surface of this two points. How can I do it?
2 件のコメント
回答 (2 件)
darova
2020 年 1 月 22 日
Here is a short example
[X,Y,Z] = peaks(20);
x = linspace(-2,2,50);
y = linspace(-1,3,50);
z = interp2(X,Y,Z,x,y);
surf(X,Y,Z)
alpha(0.2)
hold on
plot3(x,y,z,'.-r')
hold off
I don't understand what do you mean by linear integral? What do you want to calculate?
2 件のコメント
Riccardo Giaffreda
2020 年 1 月 22 日
4 件のコメント
Nick Gibson
2022 年 8 月 16 日
thanks, yeah, exactly, just integrate over a straight line.
though you've lost me in the last line of code there!
and the first line is I assume to generate an example function?
Think that would work if the data you want to integrate over is a nice function, but mine is just a sample 2-D grid of data, so not sure your suggestion will work for that - can it be adapted?
Torsten
2022 年 8 月 16 日
編集済み: Torsten
2022 年 8 月 16 日
You will have to be able to evaluate your function over the line connecting x1 and x2 - be it that you have scattered data or an explicit function definition as above. So the code applies in any case - you will have to supply the f-values somehow.
A parametrization of the line connecting x1 and x2 is given by
p(t) = x1 + s*(x2-x1) for s in [0 1].
norm(p'(t)) = norm(x2-x1)
The above formula follows if you read Line integral of a scalar field under
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!