PDA

查看完整版本 : [求助]如何在圆形区域中画三维曲线(曲面)


locksmith
2008-12-10, 22:10
[求助]
各位高手:
小弟初学,遇到一个MATLAB三维绘图问题,请教:
X,Y是自变量,且X.^2+Y.^2<=r.^2,
即在半径为r的圆形区域内,已知Z=f(X,Y)的解析式为:
Z=(r-y)[x^2-(r-y)^2]/{[x^2+(r-y)^2]^2}+(r+y)[x^2-(r+y)^2]/{[x^2+(r+y)^2]^2}
想在此圆形区域内画出其曲线(曲面)图,
请问如何画?
谢谢!

slgu
2008-12-11, 09:26
clear
[x,y]=meshgrid(-3:.05:3);
r=4;n=size(x)
for i=1:n
for j=1:n
if x(i,j)^2+y(i,j)^2>r^2
x(i,j)=nan;y(i,j)=nan;
end
end
end
z=(r-y).*(x.^2-(r-y).^2)./((x.^2+(r-y).^2).^2)+(r+y).*(x.^2-(r+y).^2)./((x.^2+(r+y).^2).^2)
figure(1)
surf(x,y,z)
shading interp

locksmith
2008-12-11, 11:47
太好了,非常感谢热心的slgu大牛:-)