我对Matlab没有太多的经验。我知道,你可以绘制方程2个变量是这样的:如何在MATLAB中绘制3个具有3个符号变量的3个方程的非线性系统?
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个方程组的任何系统的一种方式。
我对Matlab没有太多的经验。我知道,你可以绘制方程2个变量是这样的:如何在MATLAB中绘制3个具有3个符号变量的3个方程的非线性系统?
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个方程组的任何系统的一种方式。
我相信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]);
,并将所得的情节看起来是这样:
通过旋转的情节,你会发现看起来有三个表面相交的两点,给出了方程组的两个解。
“hold on”只是说不擦除当前轴上的现有线标记&。你应该只是能够做
ezplot(f1);
hold on;
ezplot(f2);
ezplot(f3);
hold off;
我从来没有使用ezplot所以不能帮助你与那一个。
不幸的是ezplot只能用于不超过两个符号变量的函数。我正在寻找的是一种绘制3个变量函数的方法。它不需要是ezplot。 – miloshadzic 2009-05-29 14:08:55
糟糕,我抓到了“3个方程式”,但错过了“3个变量”部分。 – 2009-05-29 14:10:12