%--- close all clear all hold on %--- %========= % interpolation in a rectangular cavity % % confined in ax0.0001) egv1_x(i,j) = 0.0; egv1_y(i,j) = 1.0; else egv1_x(i,j) = 1.0; egv1_y(i,j) = 0.0; end if(abs(Exx(i,j)-strain2(i,j))>0.0001) egv2_x(i,j) = 0.0; egv2_y(i,j) = 1.0; else egv2_x(i,j) = 1.0; egv2_y(i,j) = 0.0; end else % E is not diagonal egv1_x(i,j) = 1.0; egv1_y(i,j) = -(Exx(i,j)-strain1(i,j))/Exy(i,j); egv2_x(i,j) = 1.0; egv2_y(i,j) = -(Exx(i,j)-strain2(i,j))/Exy(i,j); end %--- % normalize eigenvectors %--- fc1 = 1/sqrt(egv1_x(i,j)^2+egv1_y(i,j)^2); egv1_x(i,j) = fc1*egv1_x(i,j); egv1_y(i,j) = fc1*egv1_y(i,j); fc2 = 1/sqrt(egv2_x(i,j)^2+egv2_y(i,j)^2); egv2_x(i,j) = fc2*egv2_x(i,j); egv2_y(i,j) = fc2*egv2_y(i,j); end end figure mesh(glx,gly,omega') xlabel('x','fontsize',15) ylabel('y','fontsize',15) zlabel('\omega','fontsize',15) set(gca,'fontsize',15) box figure mesh(glx,gly,roe') xlabel('x','fontsize',15) ylabel('y','fontsize',15) zlabel('\alpha','fontsize',15) set(gca,'fontsize',15) box figure mesh(glx,gly,strain1') xlabel('x','fontsize',15) ylabel('y','fontsize',15) zlabel('s_1','fontsize',15) set(gca,'fontsize',15) box figure mesh(glx,gly,strain2') xlabel('x','fontsize',15) ylabel('y','fontsize',15) zlabel('s_2','fontsize',15) set(gca,'fontsize',15) box %--- % eigenvector 1 %--- figure hold on [glx,gly,gx,gy] = grid_2d (ax,bx,ay,by,Nx,Ny); for i=1:Nx+1 for j=1:Ny+1 vector = draw_arrow_2d ... ... (gx(i,j),gy(i,j),egv1_x(i,j)/Ny,egv1_y(i,j)/Ny); plot(vector(:,1),vector(:,2)); end end xlabel('x','fontsize',15) ylabel('y','fontsize',15) set(gca,'fontsize',15) box %--- % eigenvector 2 %--- figure hold on [glx,gly,gx,gy] = grid_2d (ax,bx,ay,by,Nx,Ny); for i=1:Nx+1 for j=1:Ny+1 vector = draw_arrow_2d ... ... (gx(i,j),gy(i,j),egv2_x(i,j)/Ny,egv2_y(i,j)/Ny); plot(vector(:,1),vector(:,2)); end end xlabel('x','fontsize',15) ylabel('y','fontsize',15) set(gca,'fontsize',15) box