# I am trying to plot a contour graph with with x,y and z points

1 ビュー (過去 30 日間)
RAPHAEL OKECHUKWU NWALOZIE 2021 年 4 月 25 日
コメント済み: DGM 2021 年 4 月 26 日
Hi I am a newbie in matlab. I tried plotting x,y and z values (which are column vectors) with contourf function but the I get an error message that "Z must be at least a 2x2 matrix". How do I make z a 2x2 matrice?
##### 2 件のコメント表示非表示 1 件の古いコメント
Adam Danz 2021 年 4 月 25 日
> How do I make z a 2x2 matrice
z(i,j) defines the z-value at x(i) and y(j).

サインインしてコメントする。

### 回答 (1 件)

Clayton Gotberg 2021 年 4 月 26 日

It sounds like the problem is that you haven't made these functions into a grid.
You started with x and y, then found z as a function of x and y. However, I'd guess that when you did that, you just said z = f(x,y).
% What I think you have:
x = [1 2 3 4];
y = [4 3 2 1];
z = x+y; % This equals [5 5 5 5]
% This matches up each element in x with the element in the same location in y
%what I think you want:
z = x+y; % Except now it equals [5 6 7 8; 4 5 6 7; 3 4 5 6; 2 3 4 5].
% Now, every element in x is matched with every element in y.
% How to get what you want:
[X,Y] = meshgrid(x,y); % Now X = [1 2 3 4; 1 2 3 4; 1 2 3 4; 1 2 3 4]
% and Y = [4 4 4 4; 3 3 3 3; 2 2 2 2; 1 1 1 1]
Z = X+Y;
##### 3 件のコメント表示非表示 2 件の古いコメント
DGM 2021 年 4 月 26 日
Yeah, prior to R2016b, trying to do things with orthogonal vectors often devolves into a complicated mess requiring bsxfun(). Since I'm usually running R2015b still, meshgrid is a big convenience, even if it can be slow.

サインインしてコメントする。

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by