信息

这个问题是关闭的。重新编辑或回答。

我做错了什么(牛顿方法?)

1视图(30天)
码头代表
码头代表 2020年5月10日
关闭:MATLAB回答机器人 2021年8月20日
命令窗口说我有一个错误在第10行。我不知道什么毛病我的代码。

答案(2)

克里斯·拉皮埃尔
克里斯·拉皮埃尔 2020年5月10日
更有帮助如果你复制/粘贴整个错误的代码。
我最初的猜测是,你得到了一个错误,该指数必须是一个正整数吗?在for循环,循环计数器我从1开始。在你在第10行条件语句,您使用x(张)。我=我时,它试图提取值x (0)。然而,在MATLAB中,索引从1开始,而不是0。
最简单的解决方案是让你的for循环指数从2开始。

沃尔特·罗伯森
沃尔特·罗伯森 2020年5月10日
我= 1:Nmax
所以 从1开始。
如果分钟(abs (x (i) - x(张)))< xtol | | min (abs (f1 (x (i)))) < ftol
是一个标量。(我)和x(张)是标量。减去两个标量的abs()将一个标量。的目的是什么一个标量的min () ?
在第一次迭代中, 是1。(i) - x(张)x (1) - x(1 - 1),这是x (1) - x (0)。但是x(0)不是一个法律在MATLAB下标。
注意,当你有这条线,你刚刚计算x (i + 1),但你不 使用 x (i + 1)如果你已经完成了在您的测试。

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!