construct meshgrid matrices without using function meshgrid.

Hi, I am going to construct meshgrid matrices1 x(i, j), y(i, j), given the grid points x=[0: 0.1:10], y=[0:0.2:10]. when I try x.*y.'. It can't go through. I know I can produce an mn matrix C with elements C(i, j) = x(i)y(j), i=1:m, j= 1:n. But I dunno how can I start with.

 採用された回答

Image Analyst
Image Analyst 2014 年 12 月 14 日

1 投票

Try this:
% Sample data.
x = [0 : 1 : 10] % Change the middle "step" number if you want.
y = [0 : 2 : 10]
% Traditional way using meshgrid().
[X, Y] = meshgrid(x, y)
% Alternate way using loop.
rows = length(y);
columns = length(x);
xLoop = zeros(rows, columns);
yLoop = zeros(rows, columns);
for column = 1 : length(x)
xLoop(:, column) = x(column);
yLoop(:, column) = y;
end
% Print to command window.
xLoop
yLoop

その他の回答 (1 件)

Mert Yiyit
Mert Yiyit 2018 年 12 月 5 日

0 投票

function [A,B] = mgrid(x,y)
m = length(x);
n = length(y);
for i= 1:n
for j= 1:m
A(i,j) = x(1,j);
end
end
for q = 1:m
for z = 1:n
B(z,q) = y(1,z);
end
end

1 件のコメント

Stephen23
Stephen23 2018 年 12 月 5 日
編集済み: Stephen23 2018 年 12 月 5 日
Note that the outputs A and B should be preallocated, as Image Analyst's answer from four years ago shows.

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

カテゴリ

ヘルプ センター および File ExchangeResizing and Reshaping Matrices についてさらに検索

質問済み:

2014 年 12 月 14 日

編集済み:

2018 年 12 月 5 日

Community Treasure Hunt

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

Start Hunting!

Translated by