xueyi 发表于 2006-7-9 20:07

如何画多值函数?怎么画最方便?

比如下面一个函数,x,y,z为未知数
(x-y)^2+(y-z)^2+(z-y)^2=10

xueyi 发表于 2006-7-10 08:16

!!

xueyi 发表于 2006-7-10 10:58

谢谢:)

xueyi 发表于 2006-7-10 12:41

试着做了一下,报错
??? Error using ==> surface
X, Y, Z, and C cannot be complex.

z求出来的是复数,画不出来
我去abs以后能画出来,但我觉得应该是个椭球,怎么不是呢?

bainhome 发表于 2006-7-10 13:58

用第六行语句看看x和y在什么范围内能保证根号下为正,然后再画!
function EzFunctionPlot
clc
D=solve('(x-y)^2+(y-z)^2+(z-x)^2=10','z')
a1=vectorize('1/2*y+1/2*x+1/2*(-3*y^2+6*x*y-3*x^2+20)^(1/2)');
a2=vectorize('1/2*y+1/2*x-1/2*(-3*y^2+6*x*y-3*x^2+20)^(1/2)');
% ezplot('-3*y^2+6*x*y-3*x^2+20')%确定范围
=meshgrid(3:.05:12);
z1=inline(a1,'x','y');
z=z1(x,y);
surf(x,y,z)
hold on
z2=inline(a2,'x','y');
z=z2(x,y);
surf(x,y,z)
shading flat
其中的两个切平面是取值自动带进去的,应当可以寻找某种函数规则,将不在椭球面上的点全部赋值为NaN裁掉

[ 本帖最后由 bainhome 于 2006-7-10 14:12 编辑 ]
页: [1]
查看完整版本: 如何画多值函数?怎么画最方便?