2015-04-05 59 views
0

我试图解决两个耦合代数方程求解耦合在MATLAB非线性方程而不重新缩放

f1(x,y) = 0; 
f2(x,y) = 0; 

的功能f1f210^42大小的典型顺序。我跑了matlab代码,但它说没有找到解决方案。我认为这个问题是因为涉及的规模非常高。重新调整整个方程是非常繁琐的。我想在delta(f)/f < epsilon(say 1e-6)时停止根查找功能(fsolve)。这个条件如何在matlab中实现?任何替代解决方案的扩展问题也是受欢迎的。

+0

双精度浮点数可以取值10^42。 – 2015-04-05 14:59:19

回答

1

RTFM(友好的课程),https://de.mathworks.com/help/optim/ug/fsolve.html

的选项,你可以提供给求解器包含有默认值1e-6是对函数值的绝对公差参数TolFun。显然没有相对公差的规定,所以您需要从初始点或更多全局考虑来计算函数值范围,以设置TolFun = scale * epsilon

+0

我试过了。如果函数具有不同的比例,它将无法工作?例如f1〜10^32和f2〜10^14。 – 2015-04-06 16:37:08