Plotting a vector field in an annulus

조회 수: 4 (최근 30일)
Avishek Mukherjee
Avishek Mukherjee 2021년 8월 9일
댓글: Avishek Mukherjee 2021년 8월 9일
Here is the problem:
Suppose I have an annulus with inner radius 0.71392 and the outer radius 1. I want to plot a vector field on the annulus, where the vectors are unit tangent vectors to the concentric circles within the annulus. Here is the geometry I am talking about:
t=0:0.001:2*pi;
x=cos(t);
y=sin(t);
x1=0.71392*cos(t);
y1=0.71392*sin(t);
x2=cos(t);
y2=sin(t);
plot(x,y,'r',x1,y1,'b',x2,y2,'g');
axis equal
Any suggestion would be greatly appreciated.

채택된 답변

KSSV
KSSV 2021년 8월 9일
편집: KSSV 2021년 8월 9일
clc; clear all ;
t=0:0.001:2*pi;
x=cos(t);
y=sin(t);
x1=0.71392*cos(t);
y1=0.71392*sin(t);
x2=cos(t);
y2=sin(t);
% Unit tangent vectros
dx1 = gradient(x1) ;
dy1 = gradient(y1) ;
modv1 = sqrt(dx1.^2+dy1.^2) ;
Tx1 = dx1./modv1 ;
Ty1 = dy1./modv1 ;
dx2 = gradient(x2) ;
dy2 = gradient(y2) ;
modv2 = sqrt(dx2.^2+dy2.^2) ;
Tx2 = dx2./modv2 ;
Ty2 = dy2./modv2 ;
plot(x1,y1,'b',x2,y2,'g');
axis equal
hold on
idx = 1:200:length(x1) ;
quiver(x1(idx),y1(idx),Tx1(idx),Ty1(idx),'r')
quiver(x2(idx),y2(idx),Tx2(idx),Ty2(idx),'r')
  댓글 수: 5
KSSV
KSSV 2021년 8월 9일
Generate the radii, make circel and follow the same.,
Avishek Mukherjee
Avishek Mukherjee 2021년 8월 9일
@KSSV, I can do it manually. But instead of manually doing it, I created a sequence of radii and created a vector field for each of the radii inside the annulus. The code I implented is this:
t=0:0.001:2*pi;
r = 0.71392:4.5526e-05:1;
x=cos(t);
y=sin(t);
x1=r.*cos(t);
y1=r.*sin(t);
x2=cos(t);
y2=sin(t);
% Unit tangent vectros
dx1 = gradient(x1) ;
dy1 = gradient(y1) ;
modv1 = sqrt(dx1.^2+dy1.^2) ;
Tx1 = dx1./modv1 ;
Ty1 = dy1./modv1 ;
dx2 = gradient(x2) ;
dy2 = gradient(y2) ;
modv2 = sqrt(dx2.^2+dy2.^2) ;
Tx2 = dx2./modv2 ;
Ty2 = dy2./modv2 ;
plot(x1,y1,'b',x2,y2,'g');
axis equal
hold on
idx = 1:200:length(x1) ;
quiver(x1(idx),y1(idx),Tx1(idx),Ty1(idx),'r')
quiver(x2(idx),y2(idx),Tx2(idx),Ty2(idx),'r')
which produces a spiral:

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by