簡體   English   中英

MATLAB - 離散3D干線圖?

[英]MATLAB - discrete 3D stem plot?

我試圖繪制一個離散的 3D莖圖,其中xy是整數, z是概率。 xy對應於z值。

為了便於演示,我們假設它們具有以下對應關系。

x = [1 2 3 4 5];
y = [1 2 3 4 5];
z = [0.1 0.1 0.1 0.1 ... 0.1]; % totally 25 terms
% 1st z value corresponds to the pair (1st_x_val, 1st_y_val) 

我怎么能在MATLAB中做到這一點?

x = [1 2 3 4 5];
y = [1 2 3 4 5];
z = repmat(0.25,[1 25]);
z = reshape(z,[5 5]);

[x,y] = meshgrid(x,y);
stem3(x,y,z)

基本上使用meshgrid你在所有x和所有y之間進行線性組合,從而產生25個組合,你有25個z。

在此輸入圖像描述

編輯-1:有關如何在2D XY網格上映射線性z說明

測試代碼

x =  1:3;
y = 1:5;
z = 1:15;
z = reshape(z,[numel(y) numel(x)]);

[x,y] = meshgrid(x,y);
stem3(x,y,z)
xlabel('X -AXIS')
ylabel('Y -AXIS')

產量

在此輸入圖像描述

正如我們可以看到索引在這里如何工作 - 對於前五個值, X保持不變, y從1變為5,依此類推接下來的5個值。 因此,如果想要在2D XY網格上映射線性z ,則重新整形將具有第一元素作為y的元素數量,並且第二元素將是x對應數字。

這有什么問題?

x = [1 2 3 4 5];
y = [1 2 3 4 5];
[X,Y]=meshgrid(x,y);
Z=0.1*ones(size(X));
stem3(X,Y,Z)

我不明白連續/離散之間的區別在這里有何意義?

暫無
暫無

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

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