我對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