construct meshgrid matrices without using function meshgrid.

1 vue (au cours des 30 derniers jours)
jarvan
jarvan le 14 Déc 2014
Modifié(e) : Stephen23 le 5 Déc 2018
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.

Réponse acceptée

Image Analyst
Image Analyst le 14 Déc 2014
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

Plus de réponses (1)

Mert Yiyit
Mert Yiyit le 5 Déc 2018
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 commentaire
Stephen23
Stephen23 le 5 Déc 2018
Modifié(e) : Stephen23 le 5 Déc 2018
Note that the outputs A and B should be preallocated, as Image Analyst's answer from four years ago shows.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Resizing and Reshaping Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by