簡體   English   中英

在MATLAB中繪制x = y平面

[英]Plot x=y plane in MATLAB

我沒想到我應該如何繪制具有2x2x2空間的x=y平面。

我創建了一個2x2網格

[X,Y]=meshgrid(-1:0.1:1,-1:0.1:1);

然后我來定義Z - 我被卡住了

我的想法是這樣的

  1. 我需要為Z創建一個21x21數組(我使用surf功能..並且X,Y,Z的尺寸必須匹配。對吧?)。
  2. 我只需要填充x==y的Z值
  3. 現在對於每個這樣的點,即x==y Z將變化-1:0.1:1 ..這是否需要我在x==y上一次又一次地迭代並且使用-1:0.1:1值繼續繪制Z?

我是否正確地繪制這架飛機? 請幫助。

您只需要定義XZY根據定義等於X

[X Z] = meshgrid(-1:.1:1,-1:.1:1);
figure;
surf(X,X,Z);xlabel('x');ylabel('y');zlabel('z');

結果用
在此輸入圖像描述

你實際上是想在三維設置中做二維​​的事情。

有點不直觀,但這並不意味着它無法完成,例如:

[X,Y]=meshgrid(-1:0.1:1,-1:0.1:1);
Z = zeros(size(X)); % Perhaps you want NaN rather than zeros
idx = X==Y;
Z(idx)=X(idx).^2+Y(idx)  % Of course identical to X(idx).^2+X(idx)
surf(Z)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM