Matlab - Resolución de sistema de ecuaciones con variable iterativa.

 
Vista:
sin imagen de perfil
Val: 2
Ha aumentado su posición en 32 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Resolución de sistema de ecuaciones con variable iterativa.

Publicado por luciano (1 intervención) el 31/01/2021 15:44:47
Muy buenos días, quisiera exponer mi problema ya que debido a mi poca familiarización en programación no he podido resolver en dias! jeje :c . Resulta que tengo un sistema de ecuaciones a resolver, donde una de mis variables varía entre más de 630 valores distintos, por ende mi sistema de ecs. tiene muchos posibles resultados que dependen de estas variables que mencióne (m_d0 y m_q0), a esto se le llama región de operación de un rectificador. A continuación dejaré el código en el cual he trabajado cuando solo eran 3 unicas soluciones de mi sistema..
Espero que alguien pueda ayudarme, ya que intenté implementar un ciclo for en el modelo descrito en el código pero no lo logré hacer..
Gracias de ante mano

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
%código para determinar punto de operación de un rectificador VSC con filtro de entrada LR
pkg load symbolic
warning off
 
 
display('------------Parametros de simulación Lado AC y DC--------')
display('-Lado AC--------')
Vrms=10;
fr=50; %Frecuencia de la red
w=2*pi*fr; %frecuencia angular
Lr=2E-3 ;%inductor del filtro 2mH
R=0.5; %ohm
display('---Lado DC----')
Gac=0.8666; %Ganancia ac SPWM
Rdc=10; %ohm
Cdc=500E-6; %microfaradio
display('---Entrada----')
M=1; %Amplitud señal de referencia/moduladora
 
 
%%%%%%R.O Moduladoras
t=0:0.01:2*pi;
m_d0=M*sqrt(3)/sqrt(2)*cos(t);%Moduladora directa
m_q0=M*sqrt(3)/sqrt(2)*sin(t);%Moduladora en Cuadratura
 
 
%%%%%%%%%%%%%%%%%%%%%%Fin R.O Moduladoras
 
 
%%Valores en eje DQ
 
vsd= Vrms*sqrt(2) *sqrt(3)/sqrt(2);
vsq=0;
 
%definiendo variables simbolicas
 
dVdc    =sym('dVdc'); %variación de voltaje dc
Vdc     =sym('Vdc');
Vs_d    =sym('Vs_d');
Vs_q    =sym('Vs_q');
dis_d   =sym('dis_d'); %variación de corriente isd
dis_q   =sym('dis_q'); %variación de corriente isq
isd     =sym('isd');
isq     =sym('isq');
m_d     =sym('mvd');
m_q     =sym('mvq');
%EXPRESIONES Aplicando transformación DQ, al modelo VSC de carga pasiva
%utilizando variables simbolicas, parámetros AC y DC
 
%display('-------Expresiones modelo VSR  expresadas a través del modelo Ecuaciones diferenciales----------------')
 
dis_d= (+w*isq) + (1/Lr)* ( (-isd*R) + (Vs_d) - Gac/sqrt(3)*m_d*Vdc);
dis_q = (-w*isd) + (1/Lr)* ( (-isq*R) + (Vs_q) - Gac/sqrt(3)*m_q*Vdc);
dVdc  = (1/Cdc)  * (  Gac/sqrt(3)*(m_d*isd  +  m_q*isq) - Vdc/Rdc ) ;
 
arg = {Vs_d  Vs_q  m_d  m_q}; %argumentos conocidos(variable generalizada)
arg_val ={vsd  vsq  m_d0  m_q0};  % puntos de cálculo
 
%A continuación se sustituyen los valores simbolicos para encontrar soluciones
x1=subs(dis_d, arg, arg_val);
x2=subs(dis_q, arg, arg_val);
x3=subs(dVdc, arg, arg_val);
 
%solucionando el sistema de ecuaciones
sol =solve (x1 == 0, x2 == 0, x3 == 0, isd,isq,Vdc);
 
display('--------------------------')
%mostrando los resultados
 
 
display('----Solución ejes DQ----------------------')
 
isd= double(sol.isd)
isq= double(sol.isq)
Vdc= double(sol.Vdc)
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

Resolución de sistema de ecuaciones con variable iterativa.

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 01/02/2021 19:07:46
1
2
3
4
5
>> sistemas_foro_01_02_21
Unrecognized function or variable 'pkg'.
 
Error in sistemas_foro_01_02_21 (line 2)
pkg load symbolic
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
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

Resolución de sistema de ecuaciones con variable iterativa.

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 01/02/2021 21:10:31
1
2
3
4
5
6
7
8
9
10
11
12
%solucionando el sistema de ecuaciones
for i=1:length(x1)
sol =solve (x1(i) == 0, x2(i) == 0, x3(i) == 0, isd,isq,Vdc);
Isd(i,1)= double(sol.isd);
Isq(i,1)= double(sol.isq);
vdc(i,1)= double(sol.Vdc);
clear sol
end
disp('  i       isd          isq          Vdc')
for i=1:length(Isd)
fprintf('%3d %12.4f%12.4f%12.4f\n',i,Isd(i),Isq(i),vdc(i))
end

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
>> sistemas_n_foro_01_02_21
------------Parametros de simulación Lado AC y DC--------
-Lado AC--------
---Lado DC----
---Entrada----
  i       isd          isq          Vdc
  1       3.4335     -4.3147     21.0398
  2       3.4361     -4.5725     20.7744
  3       3.4438     -4.8303     20.5069
  4       3.4567     -5.0878     20.2373
  5       3.4747     -5.3450     19.9657
  6       3.4979     -5.6018     19.6921
  7       3.5262     -5.8581     19.4166
  8       3.5597     -6.1138     19.1391
  9       3.5982     -6.3687     18.8596
 10       3.6418     -6.6229     18.5783
 11       3.6905     -6.8761     18.2952
 12       3.7443     -7.1283     18.0102


Saludos
JOSE JEREMIAS CABALLERO
Asesoría Online en Matlab
Asesorías online en Métodos Numéricos con Matlab, Octave, Java, Freemat, Scilab , Python y Excel.
[email protected]


https://programacioncaballero.blogspot.com
https://www.facebook.com/programacioncaballero
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