主题:[原创]球与面交线画图求助
biagee
[专家分:0] 发布于 2008-10-27 09:29:00
我在做这两个函数的相交曲线 图始终画出来不对,同时画出这两个图形,他的交线在图里面也表现的不清楚。怎样才能很好的作出这两个函数的相交曲线,请能人指点。
假定
球方程x^2+y^2+z^2=1
面方程x- 0.5y+3z=0
回复列表 (共4个回复)
沙发
biagee [专家分:0] 发布于 2008-10-28 11:33:00
是我没有把问题说清楚吗?[em10]
板凳
永恒的回忆 [专家分:810] 发布于 2008-10-28 23:17:00
用solve求解这由两个方程组成的方程组,再用plot3画
3 楼
书影526 [专家分:10] 发布于 2008-10-29 12:05:00
貌似应该用fsolve吧
4 楼
永恒的回忆 [专家分:810] 发布于 2008-10-30 14:33:00
fsolve——是求非线性方程组的数值解,所以无论是线性还是非线性方程组都肯定能用来解决。但这里如果用就必须先自己给x,y,z中某一个变量赋值,作为已知数来看待,才能解出相对应的另外两个变量的值。因为它所求的是数值解,而不是解析解,所以不能用符号来代替其中一个量。
solve——用来求多项式方程组的准解释解(意思是能解出解释解的就给出解释解,不能的给出高精度数值解),且最大区别是可以用符号变量代替其中的变量。所以这里用solve应该会方便一点。
[x,y]=solve('x^2+y^2+z^2=1','x-0.5*y+3*z=0');
zz=-1:0.1:1;
a1=subs(s.x(1),'z',zz);a2=subs(s.x(2),'z',zz);
b1=subs(s.y(1),'z',zz);b2=subs(s.y(2),'z',zz);
plot3(a1,b1,zz,a2,b2,zz);
这就可以得出相交线,有一点要注意的是由于zz我是随意给的,所以得出的线可能有一部分不是两个图形相交的部分
我来回复