Sunteți pe pagina 1din 4

Alejandro Zabala Camacho

Cdigo: 223655
Campos electromagnticos


Transformacin de Coordenadas por medio de Software

De coordenadas rectangulares a cilndricas y esfricas

Px=input("ingrese coordenada x del punto");
Py=input("ingrese coordenada y del punto");
Pz=input("ingrese coordenada z del punto");
AX=input("ingrese coordenada x del vector");
AY=input("ingrese coordenada y del vector");
AZ=input("ingrese coordenada z del vector");
if Px^2+Py^2==0
phi=0;
elseif Py>0
phi=(acos(Px/(sqrt(Px^2+Py^2))));
else
phi=((2*%pi)-(acos(Px/(sqrt(Px^2+Py^2)))));
end
ro=sqrt(Px^2+Py^2);

ap=(AX*cos(phi))+(AY*sin(phi));
ao=-(AX*sin(phi))+(AY*cos(phi));
az=AZ;
disp('coordenadas cilindricas del punto');
printf('ro=%f Fi=%f z=%f] ',ro,phi*(180/%pi),Pz);
disp('componentes del vector en coordenadas cilindricas');
printf('[%fap %fafi %faz] ',ap,ao,az);

if Px^2+Py^2+Pz^2==0 then
theta=0;
else
theta=(acos(Pz/(sqrt(Px^2+Py^2+Pz^2))));
end
r=sqrt(Px^2+Py^2+Pz^2);
ar=(AX*sin(theta)*cos(phi))+(AY*sin(theta)*sin(phi))+(AZ*cos(theta));
atheta=(AX*cos(theta)*cos(phi))+(AY*cos(theta)*sin(phi))-(AZ*sin(theta));
disp('coordenadas esfericas del punto');
printf('r=%f Theta=%f Fi=%f] ',r,theta*(180/%pi),phi*(180/%pi));
disp('componentes del vector en coordenadas esfericas');
printf('[%far %fatheta %fafi] ',ar,atheta,ao);

exec('C:\Users\Alejo\Documents\coor.sce', -1)
Ingrese coordenada x del punto3
Ingrese coordenada y del punto4
Ingrese coordenada z del punto5
Ingrese coordenada x del vector3
Ingrese coordenada y del vector4
Ingrese coordenada z del vector5

Coordenadas cilndricas del punto
ro=5.000000 Fi=53.130102 z=5.000000]
Componentes del vector en coordenadas cilndricas
[5.000000ap 0.000000afi 5.000000az]
Coordenadas esfricas del punto
r=7.071068 Theta=45.000000 Fi=53.130102]
Componentes del vector en coordenadas esfricas
[7.071068ar -0.000000atheta 0.000000afi]


De coordenadas cilndricas a rectangulares y esfricas

Pro=input("Ingrese coordenada rho del punto");
Pfi=input("Ingrese coordenada phi del punto en grados");
Pz=input("Ingrese coordenada z del punto");
RO=input("Ingrese coordenada rho del vector");
FI=input("Ingrese coordenada phi del vector");
Z=input("Ingrese coordenada z del vector");
Px=Pro*cos(Pfi*%pi/180);
Py=Pro*sin(Pfi*%pi/180);
Pz=Pz;
Ax=(RO*cos(Pfi*%pi/180))-(FI*sin(Pfi*%pi/180));
Ay=(RO*sin(Pfi*%pi/180))+(FI*cos(Pfi*%pi/180));
Az=Z;
disp('Coordenadas rectangulares del punto');
printf('x=%f y=%f z=%f ',Px,Py,Pz);
disp('Componentes del vector en coordenadas rectangulares');
printf('[%fax %fay %faz] ',Ax,Ay,Az);

if Px^2+Py^2+Pz^2==0 then
theta=0;
else
theta=(acos(Pz/(sqrt(Px^2+Py^2+Pz^2))));
end
r=sqrt(Px^2+Py^2+Pz^2);
ar=(Ax*sin(theta)*cos(Pfi*%pi/180))+(Ay*sin(theta)*sin(Pfi*%pi/180))+(Az*cos(theta));
atheta=(Ax*cos(theta)*cos(Pfi*%pi/180))+(Ay*cos(theta)*sin(Pfi*%pi/180))-(Az*sin(theta));
ao=-(AX*sin(phi))+(AY*cos(phi));
disp('Coordenadas esfricas del punto');
printf('r=%f Theta=%f Fi=%f ',r,theta*(180/%pi),Pfi);
disp('Componentes del vector en coordenadas esfricas');
printf('[%far %fatheta %fafi] ',ar,atheta,ao);


Ingrese coordenada rho del punto5
Ingrese coordenada phi del punto en grados53.130102
Ingrese coordenada z del punto5
Ingrese coordenada rho del vector5
Ingrese coordenada phi del vector0
Ingrese coordenada z del vector5

Coordenadas rectangulares del punto
x=3.000000 y=4.000000 z=5.000000
Componentes del vector en coordenadas rectangulares
[3.000000ax 4.000000ay 5.000000az]
Coordenadas esfricas del punto
r=7.071068 Theta=45.000000 Fi=53.130102
Componentes del vector en coordenadas esfricas
[7.071068ar -0.000000atheta 0.000000afi]



De coordenadas esfricas a rectangulares y cilndricas

Pr=input("Ingrese coordenada r del punto");
Pt=input("Ingrese coordenada theta del punto en grados");
Pfi=input("Ingrese coordenada phi del punto en grados");
R=input("Ingrese coordenada r del vector");
THETA=input("Ingrese coordenada theta del vector");
FI=input("Ingrese coordenada phi del vector");
Px=Pr*(sin(Pt*%pi/180))*(cos(Pfi*%pi/180));
Py=Pr*(sin(Pt*%pi/180))*(sin(Pfi*%pi/180));
Pz=Pr*cos(Pt*%pi/180);
Ax=(R*sin(Pt*%pi/180)*cos(Pfi*%pi/180))+(THETA*cos(Pt*%pi/180)*cos(Pfi*%pi/180))-
(FI*sin(Pfi*%pi/180));
Ay=(R*sin(Pt*%pi/180)*sin(Pfi*%pi/180))+(THETA*cos(Pt*%pi/180)*sin(Pfi*%pi/180))+(FI*co
s(Pfi*%pi/180));
Az=(R*cos(Pt*%pi/180))-(THETA*sin(Pt*%pi/180));

disp('Coordenadas rectangulares del punto');
printf('x=%f y=%f z=%f ',Px,Py,Pz);
disp('Componentes del vector en coordenadas rectangulares');
printf('[%fax %fay %faz] ',Ax,Ay,Az);

if Px^2+Py^2==0
phi=0;
elseif Py>0
phi=(acos(Px/(sqrt(Px^2+Py^2))));
else
phi=((2*%pi)-(acos(Px/(sqrt(Px^2+Py^2)))));
end
ro=sqrt(Px^2+Py^2);

ap=(Ax*cos(phi))+(Ay*sin(phi));
ao=-(Ax*sin(phi))+(Ay*cos(phi));
az=Az;

disp('Coordenadas cilndricas del punto');
printf('ro=%f Fi=%f z=%f] ',ro,phi*(180/%pi),Pz);
disp('Componentes del vector en coordenadas cilndricas');
printf('[%fap %fafi %faz] ',ap,ao,az);



Ingrese coordenada r del punto7.071068
Ingrese coordenada theta del punto en grados45
Ingrese coordenada phi del punto en grados53.130102
Ingrese coordenada r del vector7.071068
Ingrese coordenada theta del vector0
Ingrese coordenada phi del vector0

Coordenadas rectangulares del punto
x=3.000000 y=4.000000 z=5.000000
Componentes del vector en coordenadas rectangulares
[3.000000ax 4.000000ay 5.000000az]
Coordenadas cilndricas del punto
ro=5.000000 Fi=53.130102 z=5.000000]
Componentes del vector en coordenadas cilndricas
[5.000000ap 0.000000afi 5.000000az]

Comentarios:
En general cada cdigo solicita la ubicacin del vector luego las componentes del vector en
dicho sistema y arroja como resultado las coordenadas del punto y del vector en los otros
dos sistemas. Para pasar de rectangulares a esfricas y cilndricas, de cilndricas a
rectangulares y de esfricas a rectangulares se us la tabla 1-1 de engineering
electromagnetic fields and waves 2nd edition y para pasar de cilndricas a esfricas y de
esfricas a cilndricas se hizo conexin con rectangulares es decir primero se transform a
este ltimo y luego al sistema necesario.
En el cdigo aparece unos condicionales que corresponde al caso donde el vector est en el
origen y por lo tanto no se puede hacer uso de dicha tabla ya mencionada, los otros
condicionales son necesario para la correcta ubicacin segn el octante donde est el
vector.

S-ar putea să vă placă și