我对Matlab没有太多经验。我知道你可以用这样的2个变量绘制方程:
ezplot(f1)
hold on
ezplot(f2)
hold off;
如何使用三个符号变量绘制三个方程?
示例系统将是:
x^2+y^2+z^2-1=0
2*x^2+y^2-4*z=0
3*x^2-4y+z^2=0
如果有办法绘制3个方程的任何系统,那将是理想的。
答案 0 :(得分:4)
我相信ezsurf
接近你想要的。您首先必须求解z
的每个等式,然后为该等式创建一个函数并用ezsurf
绘制它。以下是如何使用上面的第一个等式:
func1 = @(x, y) sqrt(1-x.^2-y.^2);
ezsurf(func1);
这应显示球体的上半部分。
要同时显示所有三个方程式,您可以执行以下操作:
func1 = @(x, y) sqrt(1-x.^2-y.^2);
func2 = @(x, y) 0.5.*x.^2+0.25.*y.^2;
func3 = @(x, y) sqrt(4.*y-3.*x.^2);
ezsurf(func1, [-1 1 -1 1]);
hold on;
ezsurf(func2, [-1 1 -1 1]);
ezsurf(func3, [-1 1 -1 1]);
axis([-1 1 -1 1 0 1]);
,结果情节将如下所示:
通过旋转绘图,您会注意到所有三个曲面相交的地方似乎有两个点,为您提供两个方程组的解。
答案 1 :(得分:0)
“坚持”只是说不要删除现有的线路&当前轴上的标记。你应该能够做到
ezplot(f1);
hold on;
ezplot(f2);
ezplot(f3);
hold off;
我从未使用过ezplot,所以无法帮助你。