Você está na página 1de 1

clear all close all %dados de entrada para calcular delta x:dx2) xf=input('digite o valor de de xf micrometros: '); xi=input('digite

o valor de xi micrometros: '); np=input('digite o numero de pontos: '); Dx=(xf-xi)/(np-1); Dx2=Dx*Dx; %clculo de K0 l=input('digite o valor do comprimento de onda em micrometros: '); L0=l; k0=(2*pi)/L0; k02=k0*k0; %criao das 4 matrizes necessrias para resolver o problema A=zeros(np); B=zeros(np); C=zeros(np); D=zeros(np); %iteraes para criao de A em funo de C e D, e alocao dos valores %corretos em B r=1; while( r <= np) if( r == 1) C(1,1)=-2; C(1,2)=1;; r=r+1; end if( 1 < r < np) C(r,r-1)=1; C(r,r)=-2; C(r,r+1)=1; r=r+1; end if( r == np) C(r,r-1)=1; C(r,r)=-2; r=r+1; end end k=1; n=1:np; while (k <= np) n(k)=input('digite o valor de n: '); n(k)=n(k)*n(k); D(k,k)=n(k); k=k+1; end j=1; while(j <= np) B(j,j)=k02; j=j+1; end A=((1/Dx2)*C) + (k02*D); %X=auto vetores e Y=auto valores [X,Y]=eig(A,B); X Y

Você também pode gostar