Octave中Gauss Jordan方法出错。

时间:2016-02-16 22:07:42

标签: functional-programming octave gaussian

矩阵

a=[1,1,1,9; 2,-3,4,13; 3,4,5,40] 

行操作

e=a(2,1);
for j = (1:4)
b=a(1,j)/a(1,1);
c=e*b;
d=a(2,j) -c;
a(2,j)= d;
endfor

行操作

e1=a(3,1);
for j = (1:4)
b=a(1,j)/a(1,1);
c=e1*b;
d=a(3,j) -c;
a(3,j)= d;
endfor

行操作

e2=a(3,2) 
for j = (2:4)
b=a(2,j)/a(2,2);
c=e2*b;
d=a(3,j) -c;
a(3,j)= d;
endfor

行操作

e3=a(2,3)
f=a(1,3)
for j = (2:4)
b=a(3,j)/a(3,3);
c=e3*b;
g=f*b
d=a(2,j) -c;
h=a(1,j)-g
a(2,j)= d;
a(1,j)=h
endfor

行操作

e4=a(1,2)
for j = (2:4)
b=a(2,j)/a(2,2);
c=e4*b;
d=a(1,j) -c;
a(1,j)= d;
endfor

a

b1=a(1,4)/a(1,1);
printf('\nx = ', b1);
b2=a(2,4)/a(2,2)
printf('\ny = ',b2);
b3=a(3,4)/a(3,3)
printf('\nz = ',b3);

在我的八度音阶终端中,该程序仅提供一次右输出。 z的值不是打印 x的值表示y的值 y的值显示z的值

1 个答案:

答案 0 :(得分:1)

上层程序中几乎没有错误 比如我正在使用变量'f',这也是文件名,这就是程序没有再次运行的原因。同样在printf部分'%d'也丢失了。