Effacer les filtres
Effacer les filtres

construct meshgrid matrices without using function meshgrid.

5 vues (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.

Community Treasure Hunt

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

Start Hunting!

Translated by