how will i get a mesh in 2d region

6 visualizaciones (últimos 30 días)
ekrem yilmaz
ekrem yilmaz el 30 de Dic. de 2019
Comentada: Aman Jaiswal el 21 de Sept. de 2020
Hi community,
I need to create a mesh data like in this image, mesh will be cartesian mesh in rectangular part and polar mesh in circular part, how can i do it in matlab?
Any help will be appreciated, thanks.
  2 comentarios
darova
darova el 1 de En. de 2020
Did you try create circular and rectangular part in cartesian system? And then just concantenate matrices?
What have you tried?
ekrem yilmaz
ekrem yilmaz el 1 de En. de 2020
Hi darova,
I tried to create a coeff. matrix but i couldn't get it since i m new to matlab
As you said, i need to concatenate rectangular grid's coeff. matrix and circular grid's coeff. matrix to get whole system's coeff. matrix so i think i can solve my problem (it is a heat conduction problem).

Iniciar sesión para comentar.

Respuestas (1)

darova
darova el 2 de En. de 2020
I tried to simplify the task (plain rectangle instead of ellipse(cylinder))
Here is what i got
clc,clear
data = load('simple.txt.');
x = data(:,1);
y = data(:,2);
z = data(:,3);
dx = diff(x);
dy = diff(y);
dL = hypot(dx,dy);
[X,Y] = meshgrid([-1 1]);
cla
plot3(x,y,z,'-')
axis equal
hold on
for i = 1:length(x)-1 -4000 % too much rectangles
X1 = X/2; % rectangle width is 1
Y1 = Y*dL(i)/2; % rectangle height is dL
% rotation matrix
R = [dx(i) -dy(i); dy(i) dx(i)]/dL(i);
V = R*[Y1(:) X1(:)]';
X1 = reshape(V(1,:),[2 2])+x(i)+dx(i)/2;
Y1 = reshape(V(2,:),[2 2])+y(i)+dy(i)/2;
Z = [z(i) z(i); z(i+1) z(i+1)];
surf(X1,Y1,Z)
% pause(0.5)
end
hold off
  1 comentario
Aman Jaiswal
Aman Jaiswal el 21 de Sept. de 2020
what is simple.txt has in it? can you upload it here.

Iniciar sesión para comentar.

Categorías

Más información sobre Surface and Mesh Plots en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by