早教吧 育儿知识 作业答案 考试题库 百科 知识分享

matlab中如何对一个三维图形进行截面?clearxm=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)我想对下面图形

题目详情
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()或类似功能的函数对原函数插值得到在这些采样点上的值