Matlab - Matlab-Error Subscripted assignment dimension mismatch.

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

Matlab-Error Subscripted assignment dimension mismatch.

Publicado por Jordy (7 intervenciones) el 11/06/2020 04:13:03
Tengo un incoveniente que no puedo arreglar sobre las dimensiones de la matriz para que me de el valor de arm_cos(i,:)

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
close all
nmax=100;
n=2:1:nmax;
forma = input(['Forma de onda:',...
 
    '\n1) Onda cuadrada ciclo variable (V=10V) ',...
    '\n ']);
switch forma
 
        case 1
            tipo=('Rectificador controlado Convertidor monofasico')
        V=input('Ingrese del valor del voltaje RMS: ');
        Vm=V*sqrt(2)
        vcc=10
        R=10
        L=0.02
        w=377
        alfag=input('Ángulo de disparo en grados: ');
        alfa=alfag*pi/180;
        a0=2*Vm/pi;
        io=((a0-vcc)/R)
        %an=2*Vm/pi*(cos((2*n+1)*alfa)./(2*n+1)-cos((2*n-1)*alfa)./(2*n-1))
        %bn=2*Vm/pi*(sin((2*n+1)*alfa)./(2*n+1)-sin((2*n-1)*alfa)./(2*n-1))
        den2=(n>1).*(n-1)+1*(n==1);% n-1 controlado para que en n=0 no salga cero sino 1.
        fac=((-1).^n+1)/2; % para que solo salgan armónicos pares
        Vn=(2*(Vm/pi))*(((1./(n-1))-(1./n+1))./den2).*fac;
        Zn=(sqrt((R^2)+(n*w*L)));
       an=((Vn./Zn)).*fac
 
 
 
 
end
 
% Reconstrucción
wt=0:0.0407*pi:4*pi
armsin= sin(n'*wt);
armcos= cos(n'*wt);
for i=1:1:nmax
   arm_cos(i,:)=an(i)*armcos(i,:);
end
vt=sum(arm_cos)+i0;
 
wtgrad=wt*180/pi;% están dos períodos de onda
plot(wtgrad,vt)
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

Matlab-Error Subscripted assignment dimension mismatch.

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 11/06/2020 16:24:31
El filtro está basado en el error de sintaxis y lógica del código pero no en la parte teórica del código.
Es decir que el código al ejecutar muestra una respuesta, pero eso no indica que la respuesta esté correcta.


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
close all
nmax=100;
n=2:1:nmax;
forma = input(['Forma de onda:',  '\n1) Onda cuadrada ciclo variable (V=10V) ',    '\n ']);
switch forma
         case 1
            tipo=('Rectificador controlado Convertidor monofasico')
        V=input('Ingrese del valor del voltaje RMS: ');
        Vm=V*sqrt(2)
        vcc=10
        R=10
        L=0.02
        w=377
        alfag=input('Ángulo de disparo en grados: ');
        alfa=alfag*pi/180;
        a0=2*Vm/pi;
        i0=((a0-vcc)/R)
        %an=2*Vm/pi*(cos((2*n+1)*alfa)./(2*n+1)-cos((2*n-1)*alfa)./(2*n-1))
        %bn=2*Vm/pi*(sin((2*n+1)*alfa)./(2*n+1)-sin((2*n-1)*alfa)./(2*n-1))
        den2=(n>1).*(n-1)+1*(n==1);% n-1 controlado para que en n=0 no salga cero sino 1.
        fac=((-1).^n+1)/2; % para que solo salgan armónicos pares
        Vn=(2*(Vm/pi))*(((1./(n-1))-(1./n+1))./den2).*fac;
        Zn=(sqrt((R^2)+(n*w*L)));
       an=((Vn./Zn)).*fac
 
end
% Reconstrucción
wt=0:0.0407*pi:4*pi
armsin= sin(n'*wt);
armcos= cos(n'*wt);
for i=1:1:nmax-1
   arm_cos(i,:)=an(i)*armcos(i,:);
end
vt=sum(arm_cos)+i0;
wtgrad=wt*180/pi;% están dos períodos de onda
plot(wtgrad,vt)


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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
>> rectificador_de_convertidor_monofasico
Forma de onda:
1) Onda cuadrada ciclo variable (V=10V)
 1
 
tipo =
 
    'Rectificador controlado Convertidor monofasico'
 
Ingrese del valor del voltaje RMS: 20
 
Vm =
 
   28.2843
 
 
vcc =
 
    10
 
 
R =
 
    10
 
 
L =
 
    0.0200
 
 
w =
 
   377
 
Ángulo de disparo en grados: 10
 
i0 =
 
    0.8006
 
 
an =
 
  Columns 1 through 15
 
   -0.8393         0   -0.4823         0   -0.2889         0   -0.1995         0   -0.1494         0   -0.1177         0   -0.0961         0   -0.0805
 
  Columns 16 through 30
 
         0   -0.0688         0   -0.0597         0   -0.0525         0   -0.0466         0   -0.0418         0   -0.0378         0   -0.0343         0
 
  Columns 31 through 45
 
   -0.0314         0   -0.0289         0   -0.0267         0   -0.0247         0   -0.0230         0   -0.0215         0   -0.0201         0   -0.0189
 
  Columns 46 through 60
 
         0   -0.0178         0   -0.0168         0   -0.0159         0   -0.0151         0   -0.0143         0   -0.0136         0   -0.0130         0
 
  Columns 61 through 75
 
   -0.0124         0   -0.0118         0   -0.0113         0   -0.0109         0   -0.0104         0   -0.0100         0   -0.0096         0   -0.0093
 
  Columns 76 through 90
 
         0   -0.0089         0   -0.0086         0   -0.0083         0   -0.0080         0   -0.0077         0   -0.0075         0   -0.0072         0
 
  Columns 91 through 99
 
   -0.0070         0   -0.0068         0   -0.0066         0   -0.0064         0   -0.0062
 
 
wt =
 
  Columns 1 through 15
 
         0    0.1279    0.2557    0.3836    0.5115    0.6393    0.7672    0.8950    1.0229    1.1508    1.2786    1.4065    1.5344    1.6622    1.7901
 
  Columns 16 through 30
 
    1.9179    2.0458    2.1737    2.3015    2.4294    2.5573    2.6851    2.8130    2.9408    3.0687    3.1966    3.3244    3.4523    3.5802    3.7080
 
  Columns 31 through 45
 
    3.8359    3.9637    4.0916    4.2195    4.3473    4.4752    4.6031    4.7309    4.8588    4.9867    5.1145    5.2424    5.3702    5.4981    5.6260
 
  Columns 46 through 60
 
    5.7538    5.8817    6.0096    6.1374    6.2653    6.3931    6.5210    6.6489    6.7767    6.9046    7.0325    7.1603    7.2882    7.4160    7.5439
 
  Columns 61 through 75
 
    7.6718    7.7996    7.9275    8.0554    8.1832    8.3111    8.4389    8.5668    8.6947    8.8225    8.9504    9.0783    9.2061    9.3340    9.4618
 
  Columns 76 through 90
 
    9.5897    9.7176    9.8454    9.9733   10.1012   10.2290   10.3569   10.4848   10.6126   10.7405   10.8683   10.9962   11.1241   11.2519   11.3798
 
  Columns 91 through 99
 
   11.5077   11.6355   11.7634   11.8912   12.0191   12.1470   12.2748   12.4027   12.5306


Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab
Servicio de Asesoría Online Personalizada en Matlab
[email protected]


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