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


0