Matlab - ayuda con el codigo

   
Vista:

ayuda con el codigo

Publicado por edu (4 intervenciones) el 21/08/2009 14:02:46
hola me han pasado un codigo para pintar el diagrama de radiacion de una antena pero no logro enterder bien como lo consigue, asi que soy incapaz de realizar algo parecido si alguien le puede exar un ojo y aclararme un poco el codigo se lo agradezco aqui os lo dejo a ver q tal.

function diagrama_antena_lineal(Lmax)

Lmin=Lmax
n = 2^7;
N=1;

if Lmin>=1.5
lz=2.6+0.77*(Lmax-1.5);
elseif (Lmin>=1.26)&(Lmax<=1.5)
lz=3.5
elseif (Lmax<1.5)
lz=1.7+2.37*(Lmax-0.5);
else
lz=3.3+0.667*Lmax;
end

if Lmin>=1.54
lx=2.65+0.054*Lmax;
else
lx=3.5;
end

theta = pi*(-n:2:n)'/n;
phi = (pi/2)*(-n:2:n)/n;

f2=zeros(size(theta));
f21theta=zeros(size(theta));
f22theta=zeros(size(theta));
J=zeros(1,N);
D=zeros(1,N);
Rrad=zeros(1,N);
Z0=zeros(1,N);
teta=zeros(1,N);

for j=1:N
L=(Lmax-Lmin)*(j-1)/N+Lmin;

Lc=sprintf('%.3g',L);

F2s = inline(['abs((cos(2*pi*(' Lc '/2).*cos(x))-cos(2*pi*(' Lc '/2)))' ...
'./sin(x)).^2.*sin(x)']);

Rrad(j)=60*quadl(F2s,0.01,pi-0.01);
Z0(j)=120*pi;

K = 120/Rrad(j);
for i=1:length(theta)
f2(i)=K*abs((cos(2*pi*(L/2)*cos(theta(i)))-cos(2*pi*(L/2)))/sin(theta(i))).^2;
f21theta(i)=f2(i)*sin(theta(i));f22theta(i)=f2(i)*cos(theta(i));
end
J(j)=L;
D(j)=max(f2);



[ymax Imax]=max( f2(n/2+1:3*n/4+1) );

teta(j)=180*theta(Imax+n/2+1)/pi;


%figure(1)
subplot(1,2,1)
X = f21theta*cos(phi);
Y = f21theta*sin(phi);
Z = f22theta*ones(size(phi));
surf(X,Y,Z,'FaceColor','blue','EdgeColor','none');
View(-37.5,14)
camlight left; lighting phong
axis([-lx lx -lx lx -lz lz])

subplot(1,2,2)
g=K*abs((cos(2*pi*(L/2).*cos(theta))-cos(2*pi*(L/2)))./sin(theta)).^2;
polar(theta,g,'b')
View(90,90)

end
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ayuda con el codigo

Publicado por fismat (391 intervenciones) el 21/08/2009 15:48:09
Hola,

Se trata de un diagrama de radiación de una antena lineal, con ese programa puedes visualizar las propiedades directivas de una antena lineal en función de su longitud.

Saludos
Fismat
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con el codigo

Publicado por edu (4 intervenciones) el 21/08/2009 17:27:20
Muchas gracias por tu respuesta, pero eso mas o menos ya lo sabia, lo que queria preguntar es si alguien es capaz de explicarme el porque hace esas operaciones para yo poder hacer algo parecido y que no sea el copiar y pegar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con el codigo

Publicado por fismat (391 intervenciones) el 07/11/2009 23:32:53
Hola Edu,

Para comprender el codigo o lo que hacen los programas, debes de tener claro la teoria,

Saludos
Fismat
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar