How to create a non-uniform 2d grid?

67 ビュー (過去 30 日間)
Ganesh kumar Badri narayan
Ganesh kumar Badri narayan 2018 年 1 月 24 日
コメント済み: Abdalrhaman Koko 2020 年 12 月 5 日
Hi all, I have created a grid as shown in below image
But my aim is to create a grid in the following way
Can anyone help me in creating this type of mesh. Please find below code,
clear all
clc
L=1;
nx=50;
ny=50;
x1=linspace(0,0.4,10);
x2=linspace(0.42,1,40);
x=cat(2,x1,x2);
y1=linspace(0,0.4,10);
y2=linspace(0.42,1,40);
y=cat(2,y1,y2);
[X,Y]=meshgrid(x,y);
plot(X,Y,'k',Y,X,'k');
Thank you all.

回答 (2 件)

Gregory Gargioni
Gregory Gargioni 2020 年 9 月 24 日
編集済み: Gregory Gargioni 2020 年 9 月 24 日
clear all; close all;
alx3 = 1.0; %LENGTH X
aly3 = 0.5; %LENGTH Y
nx = 50; %NODES X
ny = 50; %NODES Y
str3 = 1.2; %STRETCH
%HYPERBOLIC TANGENT-TYPE CLUSTERING
nxm=nx-1;
tstr3=tanh(str3);
xc(1)=0.0;
for kc=2:nx;
z2dp=(2*kc-nx-1)/(nxm);
xc(kc)=(1+tanh(str3*z2dp)/tstr3)*0.5*alx3;
end
nym=ny-1;
yc(1)=0.0;
for kc=2:ny;
z2dp=(2*kc-ny-1)/(nym);
yc(kc)=(1+tanh(str3*z2dp)/tstr3)*0.5*aly3;
end
[X,Y]=meshgrid(xc,yc);
hold on;
plot(X,Y,'k');
plot(X.',Y.','k');
axis equal;
xlim([0.0 alx3]);
ylim([0.0 aly3]);
You have an infinity different ways to difine how you will strach your mesh (uniform, HYPERBOLIC TANGENT-TYPE, CLIPPED CHEBYCHEV-TYPE and much more...), I picked up one method, because the trick is the last part of the code:
hold on;
plot(X,Y,'k'); %Creates the VERTICAL lines
plot(X.',Y.','k'); %Creates the Horizontal lines --> I am using the transpose matrices here
The code will give you the following mesh:
Hopefully it will help you
  1 件のコメント
Abdalrhaman Koko
Abdalrhaman Koko 2020 年 12 月 5 日
can you name and reference more methods please

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


Venkata Siva Krishna Madala
Venkata Siva Krishna Madala 2018 年 2 月 5 日
Hi Ganesh,
I understand that you are trying to create a Mesh(2nd image) with non-uniform width between the lines. My understanding is that you would like to change/increase the line width when compared to the first image. Please correct me if I am wrong.
  7 件のコメント
Paul Safier
Paul Safier 2020 年 3 月 31 日
How about for a non-uniform 3D mesh?
darova
darova 2020 年 4 月 1 日
Do you have a picture?

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

Community Treasure Hunt

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

Start Hunting!

Translated by