Matlab - Error al ejecutar scripts en Octave

 
Vista:
sin imagen de perfil

Error al ejecutar scripts en Octave

Publicado por Moises (2 intervenciones) el 15/10/2017 18:36:23
Hola. El error que les muestro se presenta en la versión de octave para windows (instalada), no así en la versión online donde ejecuta totalmente y de forma correcta.

Al ejecutar este script;

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
%Sistemas de ecuaciones 3x3 complatible indeterminado
%{ 
  Dado el sistema de ecuaciones:
 
   x + 2y - z = 1
   2x +  y -2z = 2
   x -  y - z = 1
 
%}
vars=['x','y','z'];
A=[1,2,-1;2,1,-2;1,-1,-1]; % Matriz de los coeficientes
b=[1;2;1];  % Terminos independientes
n=length(b); % Dimensión del vector
d=det(A);
Amp=[A b];
fprintf(' Orden del sistema de ecuaciones n = %d \n',n);
fprintf(' Determinante de la matriz de los coeficientes |A| = %d \n',d);
r1= rank(A);
fprintf(' Rango de la matriz de los coeficientes A rang(A)= %d \n',r1);
r= rank(Amp);
fprintf(' Rango de la matriz de los ampliada rang(Ab)= %d \n\n',r);
x=zeros(n,1);
if (d !=0)
   fprintf('  Como |A| es diferente de cero el sistema es determinado y tiene solucion unica \n\n  ');
   % Solucion del Sistema aplicando Cramer
   disp('   Solucion del sistema aplicando Cramer ');
   for i=1:n
       Ab=[A(:,1:i-1),b,A(:,i+1:n)];
       v=det(Ab);
       if d!=0
          x(i)=v/d;
          fprintf('\n %s = %f / %f = %f ', vars(i),v,d,x(i));
       end
    end
else
   if r1<n
        fprintf('  Como |A|=0 y Rango(A)=Rango(Ab) < n el sistema es compatible indeterminado y tiene infinitas soluciones\n\n  ');
         % Solucion del Sistema aplicando Cramer
        disp('   Solucion del sistema aplicando Cramer ');
        for i=1:n
           Ab=[A(:,1:i-1),b,A(:,i+1:n)];
           v=det(Ab);
           fprintf('\n %s = %f / 0 = indeterminado \n', vars(i),v);
       end
     elseif r==n
       fprintf('  Como |A|=0 y Rango(A)<Rango(Ab) = n el sistema es incompatible y no tiene infinitas solucion\n\n  ');
         % Solucion del Sistema aplicando Cramer
        disp('   Solucion del sistema aplicando Cramer ');
        for i=1:n
           Ab=[A(:,1:i-1),b,A(:,i+1:n)];
           v=det(Ab);
           fprintf('\n %s = %f / 0 = indefinido \n', vars(i),v);
       end
   end
end
disp('');
disp('   Matriz ampliada ');
disp('');
disp(Amp);
disp('');
disp('   Llevando a la forma escalonada ');
disp('');
mes = rref(Amp);
disp(mes);


Se presenta el error que le muestro:

error

Por qué no culmina correctamente la ejecución?

Saludos

Gracias
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
sin imagen de perfil

Error al ejecutar scripts en Octave

Publicado por Moises (2 intervenciones) el 16/10/2017 01:06:38
De acuerdo, si se da foward o varias veces enter, el programa termina, pero mi pregunta es, ¿si todo esta correcto en el código, por qué no termina como otros programas?.

Gracias por responder.

Saludos
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

Error al ejecutar scripts en Octave

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 16/10/2017 01:37:21
Tu pregunta al inicio es:" en la versión octave instalada hay error pero en la versión online se ejecuta correctamente".
Ese no es error, sino como muestra octave los resultados tanto en la version online y la version instalada. Por eso te digo, solo haz varias veces enter y vas a ver los resultados restantes.


Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


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