我正在尝试解决矢量为极坐标形式的矢量方程
等式是
100 * exp((pi / 3)* j)+ 200 * exp(x(1) j) - 300 (x(2)* j) - 315 = 0;
正如你所看到的,在这个等式x(1)和x(2)中有两个未知数,因为它是一个复杂的等式,我应该能够通过等式将实部和虚部得到它们。
我尝试使用fsolve,但准确性非常差,并且随着我的增加它没有变得更好
我的剧本:
function F = myfun(x)
F = [real(100*exp((pi/3)*1i) + 200*exp(x(1)*1i) - 300*exp(x(2)*1i) - 315); imag(100*exp((pi/3)*1i) + 200*exp(x(1)*1i) - 300*exp(x(2)*1i) - 315)];
我的matlab代码:
x0 = [0,0];
options = optimset(optimset('fsolve'), 'TolFun', 1.0e-25, 'TolX',1.0e-25);
[x,fval] = fsolve(@myfun,x0,options);
x(2)的给定答案是2.1246,但真正的答案是2.1237,这个差异对我来说太大了。
任何想法?
提前致谢
答案 0 :(得分:0)
Matlab工作正常,我的代码中有一个错字,正确的等式是
100 * exp((pi / 3)* j)+ 200 * exp(x(1)j) - 300(x(2)* j) - 315 = 0,pi / 3不是3 / pi
谢谢大家