Line integral over a 3D surface
조회 수: 30 (최근 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
참고 항목
카테고리
Help Center 및 File Exchange에서 Discrete Data Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!