2011年12月22日 星期四 14:15
大家好!
最近用fsolve解非线性方程组时,有个问题:
x=[x1,x2,x3] #初始值
发现方程组的解总是和初始值有关系,不同的初始值得到不同的解(有正确的有错误的)
请教大家:
1、初始值如何确定?
2、可以对方程组的解加约束?比如:x1>0,x2>0,x3>0
急切~谢谢大家!
2011年12月22日 星期四 19:50
你可以用一个循环用多个初值求解,然后选出误差最小的那个。
fsolve没有办法指定范围,你可以试试当x1<0, x2<0, x3<0时,返回较大的误差值,看能不能找到正确的解。
不过如果你用多个初值计算的话,可以从中找到满足条件的解。
2011年12月23日 星期五 13:37
我试试,感谢若愚!
Zeuux © 2024
京ICP备05028076号