使用matlab(高斯-赛德尔迭代法)求方程的根

问题描述:

使用matlab(高斯-赛德尔迭代法)求方程的根


clear all;
i=1;
x(i)=4/9;
g(i)=4/9;
error(i)=4/9;
while error(i)>=0.1
g(i)=-(1/9)*(g(i)^3-6*g(i)^2-4);
error(i)=error(i)-0.11;
disp(g(i));
disp(error(i));
end
我是这么写的但是为什么出现
index exceeds matrix dimensions.
1个回答 分类:综合 2014-10-11

问题解答:

我来补答
clc;clear
f=inline('-1/9*(x^3-6*x^2-4)');
x0=0;
dx=1;
while abs(dx)>1e-6
x1=feval(f,x0);
dx=x1-x0;
x0=x1;
end
x1
再问: 能看下我的写法为什么出错吗?谢谢
再答: 你的程序语法没错不会出现index exceeds matrix dimensions.(数组下标超限)运行结果如下: 0.5664 0.3344 0.6381 0.2244 0.6870 0.1144 0.7231 0.0044 但很遗憾你的程序逻辑上是不对的,用error(i)=error(i)-0.11迭代直至,
 
 
展开全文阅读
剩余:2000