Borrar filtros
Borrar filtros

How can I join two rectangular grids of different size to make one grid?

2 visualizaciones (últimos 30 días)
I have a code for calculating flow through a tank. It works for a simple geometry (one tank, or one rectangle) that is divided into a grid made up of x and y points. For example:
Lx = 300; % Geometry length in x direction
Ly = 150; % Geometry length in y direction
Nx = 10; Ny = Nx; % Number of points in x and y direction
% Grid
x = linspace(0,Lx,Nx); y = linspace(0,Ly,Ny);
delta_x = Lx/(Nx-1); delta_y = Ly/(Ny-1);
I want to add an inlet/pipe to the tank (a second rectangle joined to the first), but I can't figure out how to do it. I have tried:
c = [0 150 150 0 ]; % x dimension of large tank
d = [0 0 150 150]; % y dimension of large tank
v = [0 20 0 20 ]; % x dimension of inlet
w = [150 200 200 0]; % y dimension of inlet
x = union(c(1,:), v(1,:));
y = union(d(1,:), w(1,:));
grid_val = 10;
figure('Color','w');
[X,Y] = meshgrid(min(x):grid_val:max(x), min(y):grid_val:max(y));
But instead of a large rectangle joined to a smaller rectangle on top, with both divided into square grid cells, I get a strange triangular grid shape. I am not very experienced with Matlab, so it is likely I'm making a simple mistake. I also tried creating grids separately and then concatenating them, but I always get dimensions errors. If anyone could help, I would be very grateful. Maybe this is not even possible in Matlab?

Respuestas (0)

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by