
Generar un vector con raices reales y positivas
Publicado por IngNella (1 intervención) el 12/06/2015 01:53:56
1.- Genero los coeficientes de un polinomio, ya q este va a depender de la varible In que va a cambiar, entonces esto me genera varios polinomios de grado 4( siempre trabajare con grado 4)
2.- a cada polinomio que genero necesito las raices, y de estas solo necesito los valores positivos y reales, alli es donde viene el problema, necesito generar un vector que solo contenga, las raices que cumpla con la condicion "Valores positivos y reales "
esta ultimo vector es el q no puedo generar
lo que he logrado es generar raicesN, y contiene al parecer las ultimas raices de la ultima evalucion
esto es lo he avanzado, agradesco su ayuda con mi duda
clc
clear all
close all
%Definiendo contantes
q = 1.6e19; %Carga elemental
A = 1e8; %Nonradiative recombination rate
B = 1e-10; %Radiative recombination coefficient
C = 3e-29; %Auger recombination coefficient
tp = 1/(0.625e-12); %Photon lifetime
f = 0.3; %Factor de confinamento
ug = 4; %Group refractive index
c = 3e8; %Light speed in a vacuum
vg=c/ug; %Velocidad de grupo
a = 2.5e-16; %Gain constant
v = 100e-6; %Volumen da region activa
no = 1e18; %Carrier density at transparency
bsp= 10e-3; %Spontaneous-emission factor
for In = 0:30e-3
%calculo de los coeficientes del polinomio
k4= (q*C*f*vg*a)/v;
k3= (f*vg*a*q*B*(1-bsp))/v-q*C*(tp-no*f*vg*a);
k2= (q*f*vg*a*((A/v)-B*no+B*bsp*no)-q*B*(tp+bsp));
k1= (In*f*vg*a)/v + q*A*no*f*vg*a - q*A*tp;
k0= (tp+(no*f*vg*a))*In;
%Guardado los valores en un vector
N=[k4 k3 k2 k1 k0];
% EN ESTA PARTE ES DONDE NECESITO GENERAR DICHO VECTOR, POR QUE ESOS VALORES LOS NECESITO LUEGO PARA EL CALCULO DEL Photon number
%calculando las raices del ecuacion grado 4
raicesN=roots(N);
%calculo del Photon number
%if raicesN>0
%bsp=10e-5;
%P4=(B*bsp*raicesN^2)/(tp-f*vg*a*(raicesN/v-no));
end
2.- a cada polinomio que genero necesito las raices, y de estas solo necesito los valores positivos y reales, alli es donde viene el problema, necesito generar un vector que solo contenga, las raices que cumpla con la condicion "Valores positivos y reales "
esta ultimo vector es el q no puedo generar
lo que he logrado es generar raicesN, y contiene al parecer las ultimas raices de la ultima evalucion
esto es lo he avanzado, agradesco su ayuda con mi duda
clc
clear all
close all
%Definiendo contantes
q = 1.6e19; %Carga elemental
A = 1e8; %Nonradiative recombination rate
B = 1e-10; %Radiative recombination coefficient
C = 3e-29; %Auger recombination coefficient
tp = 1/(0.625e-12); %Photon lifetime
f = 0.3; %Factor de confinamento
ug = 4; %Group refractive index
c = 3e8; %Light speed in a vacuum
vg=c/ug; %Velocidad de grupo
a = 2.5e-16; %Gain constant
v = 100e-6; %Volumen da region activa
no = 1e18; %Carrier density at transparency
bsp= 10e-3; %Spontaneous-emission factor
for In = 0:30e-3
%calculo de los coeficientes del polinomio
k4= (q*C*f*vg*a)/v;
k3= (f*vg*a*q*B*(1-bsp))/v-q*C*(tp-no*f*vg*a);
k2= (q*f*vg*a*((A/v)-B*no+B*bsp*no)-q*B*(tp+bsp));
k1= (In*f*vg*a)/v + q*A*no*f*vg*a - q*A*tp;
k0= (tp+(no*f*vg*a))*In;
%Guardado los valores en un vector
N=[k4 k3 k2 k1 k0];
% EN ESTA PARTE ES DONDE NECESITO GENERAR DICHO VECTOR, POR QUE ESOS VALORES LOS NECESITO LUEGO PARA EL CALCULO DEL Photon number
%calculando las raices del ecuacion grado 4
raicesN=roots(N);
%calculo del Photon number
%if raicesN>0
%bsp=10e-5;
%P4=(B*bsp*raicesN^2)/(tp-f*vg*a*(raicesN/v-no));
end
Valora esta pregunta


0