Matlab - Error using trapz

 
Vista:

Error using trapz

Publicado por andres (7 intervenciones) el 05/09/2016 16:54:14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
%---------------------------------------------------------------------------------------------------
tengo este codigo de un convertidor, me presenta un error usando la funcion trapz y no he podido corregir el
error, cualquier ayuda les agradeceria.
%---------------------------------------------------------------------------------------------------
V= 220;
R= 10;
L= 0.02;
Ls= 0.002;
Vc= 50;
f= 60;
%------------------------------------------------------------------------
% Constantes
L=L+Ls;
m=Vc/( sqrt (2)*V);
Z= sqrt (R ^2+(2* pi*f*L) ^2);
fi= atan ((2* pi*f*L)/R);
alfa1 = asin (m); % Alfa mínimo
alfa2 =pi - alfa1 ; % Alfa máximo
disp ('Limite de Controlabilidad en grados ');
[ alfa1 *180/ pi , alfa2 *180/ pi]
alfa = 30; % ángulo de disparo en grados
alfa = alfa *pi /180;
% Limite de controlabilidad
if (alfa1 > alfa )|| (alfa > alfa2 )
   disp ('El ángulo de disparo está fuera del límite de contrabilidad se fijo en alfa minimo ');
   alfa = alfa1 ;
end
%------------------------------------------------------------------------
 t0 = pi;
 funx = @(t) sin(t-fi)-m/cos(fi)+(m/ cos (fi)-sin(alfa -fi))* exp (-(t-alfa )/tan(fi));
 b = fzero(funx,t0) ;
 g = b- alfa; % Angulo de Conducción
 a= alfa ;
 %------------------------------------------------------------------------
t= linspace (a,b ,1000) ;
i= sqrt (2)*V/Z*( sin(t-fi)-m/ cos (fi)+(m/cos(fi)-sin(a-fi)*exp (-(t-a)/tan(fi))));
v= sqrt (2)*V*sin(t);
tdes = linspace (b,pi+a ,300) ;
t=[t, tdes ];
v=[v,Vc* ones ( size ( tdes ))];
i=[i, zeros ( size ( tdes ))];
%------------------------------------------------------------------------
I_ave =1/pi* trapz (t,i);
Vo_ave =1/pi* (trapz (t,v));
%------------------------------------------------------------------------
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Error using trapz

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 10/09/2016 15:16:35
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
%---------------------------------------------------------------------------------------------------
% tengo este codigo de un convertidor, me presenta un error usando la funcion trapz y no he podido corregir el
% error, cualquier ayuda les agradeceria.
%---------------------------------------------------------------------------------------------------
clear all
V= 220;
R= 10;
L= 0.02;
Ls= 0.002;
Vc= 50;
f= 60;
%------------------------------------------------------------------------
% Constantes
L=L+Ls;
m=Vc/( sqrt (2)*V);
Z= sqrt (R ^2+(2* pi*f*L) ^2);
fi= atan ((2* pi*f*L)/R);
alfa1 = asin (m); % Alfa mínimo
alfa2 =pi - alfa1 ; % Alfa máximo
disp ('Limite de Controlabilidad en grados ');
[ alfa1 *180/ pi , alfa2 *180/ pi]
alfa = 30; % ángulo de disparo en grados
alfa = alfa *pi /180;
% Limite de controlabilidad
if (alfa1 > alfa )|| (alfa > alfa2 )
   disp ('El ángulo de disparo está fuera del límite de contrabilidad se fijo en alfa minimo ');
   alfa = alfa1 ;
end
%------------------------------------------------------------------------
 t0 = pi;
 funx = @(t) sin(t-fi)-m/cos(fi)+(m/ cos (fi)-sin(alfa -fi))* exp (-(t-alfa )/tan(fi));
 b = fzero(funx,t0) ;
 g = b- alfa; % Angulo de Conducción
 a= alfa ;
 %------------------------------------------------------------------------
t= linspace (a,b ,1000) ;
i= sqrt (2)*V/Z*( sin(t-fi)-m/ cos (fi)+(m/cos(fi)-sin(a-fi)*exp (-(t-a)/tan(fi))));
v= sqrt (2)*V*sin(t);
 
tdes = linspace (b,pi+a ,300) ;
t=[t, tdes ];
v=[v,Vc* ones(1,length( tdes))];
i=[i, zeros(1,length(tdes))];
%------------------------------------------------------------------------
I_ave =1/pi* trapz (t,i)
Vo_ave =1/pi* (trapz (t,v))
%------------------------------------------------------------------------

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>> convertidor
Limite de Controlabilidad en grados
 
ans =
 
    9.2479  170.7521
 
 
I_ave =
 
   16.0206
 
 
Vo_ave =
173.6121







Saludos.
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
Programador en Matlab
Servicios de programación matlab
[email protected]
El correo es para servicios de programación, toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com
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