matlab中如何對一個三維圖形進行截面?

題目:

matlab中如何對一個三維圖形進行截面?
clear
xm=2.5;ym=2.5;
x=-xm:0.1:xm;y=-ym:0.1:ym;
x=linspace(-xm,xm,40);y=linspace(-ym,ym,40);
[X,Y]=meshgrid(x,y);
R1=sqrt((X+1).^2+Y.^2);R2=sqrt((X-1).^2+Y.^2);
U=1./R1-1./R2;
mesh(x,y,U)
我想對下面圖形的一個剖面,比如x+y=0這個面的截面 該如何修改程序?

解答:

因爲數據是離散的,你的截面上的點不一定都有定義,這涉及到插值的問題.
建議用多維插值.你可以定義一些點(比如用你提到的meshgrid())來對你要的截面進行採樣,再通過griddata()或類似功能的函數對原函數插值得到在這些採樣點上的值
再問: 差值這塊不太熟悉,如果我需要對U=5這個平面進行剖面,語句該添加什麼?

添加新評論

暱稱
郵箱
網站