Matlab - SUSTITUCIONES REGRESIVAS MATLAB

   
Vista:

SUSTITUCIONES REGRESIVAS MATLAB

Publicado por jaime (4 intervenciones) el 03/12/2014 00:22:37
Hola. El siguiente código para resolver un sistema triangular superior por sustituciones regresivas me da resutados erróneos en matlab. Si alguien viese algún error en el código se lo agradecería.
Adjunto el código:

1
2
3
4
5
6
7
8
9
10
11
12
13
function [x]=regresivas(A,b)
[f,c]=size(A);
if f~=c
    error('la matriz de coeficientes no es cuadrada')
end
x=zeros(f,1);
for i=f-1:-1:1
    x(i)=b(i);
    for j=i+1:f
        x(i)=x(i)+A(i,j)*x(j);
    end
    x(i)=x(i)/A(i,i);
end



Gracias y un saludo.
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

SUSTITUCIONES REGRESIVAS MATLAB

Publicado por Jordi (1 intervención) el 03/12/2015 13:09:30
No es un más, en teoría debería ser
1
2
3
4
5
6
7
8
9
10
11
12
13
function [x]=regresivas(A,b)
[f,c]=size(A);
if f~=c
    error('la matriz de coeficientes no es cuadrada')
end
x=zeros(f,1);
for i=f-1:-1:1
    x(i)=b(i);
    for j=i+1:f
        x(i)=x(i)-A(i,j)*x(j); %es aquí donde me refiero que deberías tener un menos, y no un más.
    end
    x(i)=x(i)/A(i,i);
end
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