Mirror of countourf on X, Y axis

4 views (last 30 days)
ayoub
ayoub on 7 Aug 2014
Commented: Sara on 7 Aug 2014
Hello everyone,
I'm working on 2d unsteady heat transfer modeling using Fortran. i have my results (temperature field) but only on 1/4 of my rectangel because i have (symetrical Boundary conditions).
I drew the results using matlab (countourf (x,y,z...), z=temperature, on 1/4 of the rectangle. can anyone of you explain me how to draw the temperature field on the entire rectangle ?? because it's symetrical, i would like to use mirror effect on x y axis. (-x-y) (-x+y) (x-y)
i don't wanna to multiply dimension of each vector *4, i tried it, it worked but very very slow.
there is my code : close all; clear;clc; a=load('new4.txt'); N=100
x=a(:,1); x coord y=a(:,2); y coord z=a(:,3);% temperature vetor
methode='v4'; Xmin = min(x); Xmax = max(x); Ymin = min(y); Ymax = max(y);
X =linspace(Xmin,Xmax,N); Y =linspace(Ymax,Ymin,N);
[X,Y] = meshgrid(X,Y);
Z = griddata(x,y,z,X,Y, methode); [c]=contourf(+X,+Y,Z,10); .
Thank you in advance.

Accepted Answer

Sara
Sara on 7 Aug 2014
Look at the following example. If x and y start from 0, you can repeat the contour command 4 times. otherwise, you need to translate your coords.
x = 0:0.1:10;
y = -0:0.1:10;
[x,y]= meshgrid(x,y);
z = x.^2+y.^2;
figure
hold on
contourf(x,y,z)
contourf(-x,y,z)
contourf(x,-y,z)
contourf(-x,-y,z)
xlim([-10 10])
ylim([-10 10])
  2 Comments
ayoub
ayoub on 7 Aug 2014
Thank you,
I did it finally figure
hold on %X =linspace(Xmin,Xmax,N); %Y =linspace(Ymax,Ymin,N);
[X,Y] = meshgrid(X,Y);
Z = griddata(x,y,z,X,Y, methode);
[c]=contourf(+X,-Y,Z,10); [c]=contourf(+X,-Y,Z,10); [c]=contourf(-X,-Y,Z,10); [c]=contourf(-X,+Y,Z,10); [c]=contourf(+X,+Y,Z,10);
axis equal tight
but the grid is gone :(. why?
Sara
Sara on 7 Aug 2014
Add this at the end
set(gca,'layer','top');
grid on

Sign in to comment.

More Answers (0)

Categories

Find more on Contour Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!