EDA365电子论坛网
标题:
关于fsolve求解范围的问题
[打印本页]
作者:
qian211111
时间:
2023-1-13 10:33
标题:
关于fsolve求解范围的问题
目标:
* L& E \3 o4 ]6 i; h
求解一个如下非线性方程组的解,并想将该解限定在纯虚数的范围内;
" U# U9 ]0 L! i
示例代码如下:
, Q5 @# e1 k1 ]( G( ?- q# @
funHd=@(Zvec)func(Zvec);
x0=[13.7472i 13.7472i 0.0020i];
% options = optimoptions('fsolve','Display','none','PlotFcn',@optimplotfirstorderopt);
[zV,fv] = fsolve(funHd,x0)
function f=func(Zvec)
f=[
Zvec(3)^2 - ((- Zvec(3)^2 + Zvec(1)*Zvec(2) + 1)^2 - 4*Zvec(1)*Zvec(2))^(1/2)/(2*Zvec(2)) - Zvec(1)*Zvec(2) - (1 + 6632178539682017i/17592186044416)
Zvec(3)^2 - ((- Zvec(3)^2 + Zvec(1)*Zvec(2) + 1)^2 - (Zvec(1)/2 + Zvec(2)/2 + Zvec(3))*(2*Zvec(1) + 2*Zvec(2) - 4*Zvec(3)))^(1/2)/(Zvec(1) + Zvec(2) - 2*Zvec(3)) - Zvec(1)*Zvec(2) - (1 + 6632160806443741i/17592186044416)
Zvec(3)^2 - ((- Zvec(3)^2 + Zvec(1)*Zvec(2) + 1)^2 - 4*Zvec(1)*Zvec(2))^(1/2)/(2*Zvec(1)) - Zvec(1)*Zvec(2) - (1 + 6632178539682017i/17592186044416)
];
end
Q+ D8 u" Z6 t% x! t
( ]6 R. ^8 P. ?9 O
复制代码
7 @ B! g9 Z$ J- q: ?
请问有无限定解范围为纯虚数的的限定设置?
: O! F9 E6 Z; P7 C. x2 R8 H) e5 X
作者:
like_22you
时间:
2023-1-13 11:20
带约束的非线性方程组可能对你会有帮助。
作者:
qian211111
时间:
2023-1-13 13:11
暂时想到的方法是取变量实部的平方附加到求解函数上去,即原目标函数变为f=abs(f)+addCondtion^2;
. r+ c8 s5 X* F U
暂未找到其他方法;
. a4 J$ c* ?0 P) T# X% h* P
但是这样带来的问题是,目标函数变复杂,fsolve求解结果不收敛,残差很大;
2 A/ _3 m1 ]9 W& v: D: J' k
暂未解决该问题。
作者:
qian211111
时间:
2023-1-13 13:17
like_22you 发表于 2023-1-13 11:20
( m2 F7 K. y6 }
带约束的非线性方程组可能对你会有帮助。
- j" T: _6 ^6 b
很有帮助,多谢;但是还是存在残差很大的问题。
: P; W) l( k) ^2 x7 f9 Y" w
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2