shuitumu 发表于 2006-7-27 18:06

请教求解方程组的多组根问题

现有非线性的二元二次方程组,一般情况下是给一个初值就会有一组解.
而我现在想得到某个范围内的所有实根,是不是只有通过循环给初值来得到?

但循环的话,由于有两个变量x和y,所以会面临二重循环,假设下标为i,j的话,返回值x的维数该如何确定?

即通常会是这样:
=fsolve(@fun,)
现在怎么表示比较好:
=fsolve(@fun,)

如果不应该采用这种表示方法的话,请教用什么方法会合理一些?

还有,如果可行的话,求出的根必然会有重复的,在二维情况下,如何才可以实现unique的功能?
请教有没有可以防止失根或多根的方法?

谢谢!

grta 发表于 2006-7-28 20:54

fsolve对初值要求很严格,不推荐;用solve试试看呢

shuitumu 发表于 2006-7-28 21:57

原帖由 grta 于 2006-7-28 20:54 发表
fsolve对初值要求很严格,不推荐;用solve试试看呢

就是因为solve不能给初值,我才选择用fsolve的.
如果用solve,只能得到它给出的解,而不能求出我想得到的范围内的解

谢谢!

grta 发表于 2006-7-29 08:18

solve能够给出复数域内的所有根,得出所有根之后,看看哪些是你需要的不就行了

shuitumu 发表于 2006-7-29 12:55

原帖由 grta 于 2006-7-29 08:18 发表
solve能够给出复数域内的所有根,得出所有根之后,看看哪些是你需要的不就行了

因为试过了,得不到所有解,才不得不用其它命令的
页: [1]
查看完整版本: 请教求解方程组的多组根问题