Matlab - declaracion de variables

   
Vista:

declaracion de variables

Publicado por Abraham (1 intervención) el 15/03/2015 10:07:26
Tengo este programa que me calculo una matriz de admitancias, pero el problema es que tengo que ingresar el valor entre cada punto, y quiero hacer qe lo tome automaticamente de excel. Tengo problemas para darle valor a Yadm, no se en que parte del ciclo debe de localizarse para que se vayan guardando sus valores. En un ciclo quiero que compare que un valor (i,1) de la matriz RE sea >0 y qe el valor(i,2) = 0 o viceversa, en caso de serlo, que se vaya guardando en la matriz x, que a su vez alimentara la matriz Ybar, pero me despliega un error:

rror in ==> Calc_Ybarra at 19
if (RE{i,1}>0)&&(RE{i,2}==0)

o

rror in ==> Calc_Ybarra at 15
Yadm(1,m)=x;


El programa es el siguiente, y donde tengo problemas es lo que esta subrayado


function Ybar=Calc_Ybarra()

format compact

RE = xlsread('matriz.xls','Hoja1','A3:B8')
Z=xlsread('matriz.xls','Hoja2','A2:A7')
Num_nodos= max(RE);
Num_ramas=factorial(Num_nodos)/(factorial(2)*factorial(Num_nodos-2));
Num_ramas=Num_nodos+Num_ramas;
Ybar=zeros(Num_nodos);

for m=1:1:Num_nodos

fprintf('Digite la impedancia de los generadores y%d0',m);

for i=1:1:Num_nodos
if (RE{i,1}>0)&&(RE{i,2}==0)
x=Z(i,1)
else
if(RE(i,1==0)&& RE(i,2)>0)
x=Z(i,1)
end
end

end
Yadm(1,m)=x;
end



n2=Num_ramas-Num_nodos;
n=n2;
k=1;
while n~=0
for m=1:1:Num_nodos
if k>=m
else
fprintf('Digite la admitancia y%d%d',k,m);
f=input(': ');
Yadm2{n2-n+1}=['y',num2str(k),num2str(m),num2str(f)];
n=n-1;
end
end
k=k+1;
end
for m=1:1:Num_nodos
for n=1:1:Num_nodos
if m==n
Ybar(m,n)=Ybar(m,n)+Yadm(1,m);
for k=1:1:length(Yadm2)
if 1==strcmp(num2str(m),Yadm2{k}(2)) || 1==strcmp(num2str(m),Yadm2{k}(3))
Ybar(m,n)=Ybar(m,n)+eval(Yadm2{k}(4:end));
end
end
else
for k=1:1:length(Yadm2)
if 1==strcmp(strcat(num2str(m),num2str(n)),Yadm2{k}(2:3)) || 1==strcmp(strcat(num2str(n),num2str(m)),Yadm2{k}(2:3))
Ybar(m,n)=Ybar(m,n)-eval(Yadm2{k}(4:end));
end
end
end
end
end
fprintf('\n');
Ybar;
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

declaracion de variables

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 15/03/2015 14:21:08
Sube tus bases de datos de Excel para poder ejecutarlo.

Saludos.
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
programador en matlab
Servicios de programación matlab
jjcc94@hotmail.com
skype: josejeremiascaballero

Estimado Usuario, el correo es para servicios de cursos, asesoría y programación. Toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com

http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
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

declaracion de variables

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 15/03/2015 16:12:46
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
>> Ybar=Calc_Ybarra
RE =
     2     0
     1     3
     5     0
     4     0
     3     3
     2     0
Z =
     4
     4
     4
     1
     3
     3
Digite la impedancia de los generadores y1x =
     4
x =
     4
x =
     1
Digite la impedancia de los generadores y2x =
     4
x =
     4
x =
     1
Digite la impedancia de los generadores y3x =
     4
x =
     4
x =
     1
Digite la impedancia de los generadores y4x =
     4
x =
     4
x =
     1
Digite la impedancia de los generadores y5x =
     4
x =
     4
x =
     1
Digite la admitancia y12: 3
Digite la admitancia y13: 4
Digite la admitancia y14: 5
Digite la admitancia y15: 6
Digite la admitancia y23: 7
Digite la admitancia y24: 3
Digite la admitancia y25: 4
Digite la admitancia y34: 5
Digite la admitancia y35: 6
Digite la admitancia y45: 7
 
Ybar =
    19    -3    -4    -5    -6
    -3    18    -7    -3    -4
    -4    -7    23    -5    -6
    -5    -3    -5    21    -7
    -6    -4    -6    -7    24




Saludos.
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
programador en matlab
Servicios de programación matlab
jjcc94@hotmail.com
skype: josejeremiascaballero

Estimado Usuario, el correo es para servicios de cursos, asesoría y programación. Toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com

http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
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