我想以圖形方式查找兩個曲面和x-y平面之間的交點。 (表面z1與xy平面和交點z2與xy平面的交點)MATLAB - 數組交集
我已經創建了代表曲面z1 = 3 + x + y和z2 = 4-2x-4y的數組以及xy平面的z3使用meshgrid。無處不在,似乎我可以用來查找數組之間交集的唯一命令是A和B是數組的交叉(A,B)命令。但是,當輸入相交(z1,z3)時,出現錯誤「A和B必須是矢量,或者'行'必須指定。」當我嘗試相交(z1,z2,'rows')時,我返回了一個0×21的空矩陣。我在這裏做錯了什麼?
我的代碼:
x = -10:10;
y = -10:10;
[X,Y] = meshgrid(x,y);
z1 = 3+X+Y;
z2 = 4-2.*X-4.*Y;
z3 = 0.*X+0.*Y; %x-y plane
surf(X,Y,z1)
hold on
surf(X,Y,z2)
surf(X,Y,z3)
int1 = intersect(z1,z3,'rows');
int2 = intersect(z2,z3,'rows');
難道你不能找到'z1 == 0'和'z2 == 0'的地方嗎?那將是與x-y平面的交點。或者如果你的網格中沒有確切的(X,Y),你的意思是你想要插值嗎? (另外,你的意思是「以圖形方式」找到交點?你可以用數學方法計算出交點 - 不難 - 然後將它們繪製在圖上?) –
我可以通過分析來做到這一點。但是我正在使用MATLAB的數值方法課程,我假設我的導師希望我使用MATLAB函數查找相交曲線。 – photon
閱讀'contour3d'或'contour'的幫助,看看其中一個函數是否可以幫助您以圖形方式確定兩個陣列的z == 0曲線。 –