我应该使用牛顿迭代:xi + 1 = (xi-f (xi)) / f ' (xi)来确定根源,但它一直告诉我(错误在MuPAD命令:指数超过矩阵维度。)我做什么来解决这个问题吗?还有这是什么意思?
1 Ansicht(30天)的
Altere Kommentare anzeigen
函数(根、ea、iter) =问题2(函数、dfunc tr, es,麦克斯特,变长度输入宗量)
如果输入参数个数< 3,错误,结束
如果输入参数个数< 4 | isempty (es), es = 0.0001;结束
如果输入参数个数< 5 | isempty(麦克斯特),麦克斯特= 50;结束
iter = 0;
而(1)
ttold = tr;
tr = tr-func (tr) / dfunc (tr);
iter = iter + 1;
如果tr ~ = 0, ea = abs ((tr-ttold) / tr) * 100;结束
如果麦克斯特,ea < = es | iter > =打破,结束
结束
根= tr;
> > y
y =
@ (t) 500 * 4.905 t - * t ^ 2 + 1500
> > dy
dy =
500 - (981 * t) / 100
问题2 (y, dy, 140, 0.00001)
? ? ?错误使用= = > mupadmex
错误MuPAD命令:指数超过矩阵维度。
错误在= = > sym.sym >符号。subsref在1381
B = mupadmex (“symobj:: subsref”、主导者——第1 {:});
错误在= = >问题2 8
tr = tr-func (tr) / dfunc (tr);
0 Kommentare
Antworten (2)
wrewr erwerfsd
我2021年11月18日
Bearbeitet:沃尔特·罗伯森
我2021年11月18日
函数(根、ea、iter) =问题2(函数、dfunc tr, es,麦克斯特,变长度输入宗量)
如果输入参数个数< 3,错误,结束
如果输入参数个数< 4 | isempty (es), es = 0.0001;结束
如果输入参数个数< 5 | isempty(麦克斯特),麦克斯特= 50;结束
iter = 0;
而(1)
ttold = tr;
tr = tr-func (tr) / dfunc (tr);
iter = iter + 1;
如果tr ~ = 0, ea = abs ((tr-ttold) / tr) * 100;结束
如果麦克斯特,ea < = es | iter > =打破,结束
结束
根= tr;