我有两个变量的4个方程,想在Matlab中解决它,任何人都可以帮助我。我想要找出的等式的两个变量是\theta
和\phi
。
$\cos2\theta+sin2\theta+1=1$
$cos^2\phi cos^2\theta+cos^2\phi cos2\theta sin2\theta+cos^2\phi cos2\theta+sin2\phi cos2\phi cos2\theta sin2\theta+sin2\phi cos2\phi sin^2\theta+sin2\phi cos2\phi sin2\theta+0.4837=0$
$cos2\phi cos^2\theta sin2\phi + cos2\theta sin^2\phi sin2\theta +cos2\phi cos2\theta sin2\phi sin2\theta+cos2\phi cos2\theta sin2\phi +sin^2\phi sin2\theta=1$
$cos^2\theta sin2\phi -cos2\phi sin^2\theta-cos2\phi sin2\theta +cos2\theta sin2\phi - cos2\phi cos2\theta sin2\theta +cos2\theta sin2\phi sin2\theta=0 $
答案 0 :(得分:1)
假设我已正确翻译您的功能,问题似乎没有解决方案。尝试使用此任何起始值:
function myFcn
X = fsolve(@F, 2*pi*rand(2,1))
end
function val = F(X)
th = X(1);
ph = X(2);
val = [
cos(2*th) + sin(2*th)
cos(ph).^2.*cos(th).^2 + cos(ph).^2.*cos(2*th).*sin(2*th) + cos(ph).^2.*cos(2*th) + sin(2*ph).*cos(2*ph).*cos(2*th).*sin(2*th) + sin(2*ph).*cos(2*ph).*sin(th).^2 + sin(2*ph).*cos(2*ph).*sin(2*th) + 0.4837
cos(2*ph).*cos(th).^2.*sin(2*ph) + cos(2*th).*sin(ph).^2.*sin(2*th) + cos(2*ph).*cos(2*th).*sin(2*ph).*sin(2*th) + cos(2*ph).*cos(2*th).*sin(2*ph) + sin(ph).^2.*sin(2*th) - 1
cos(th).^2.*sin(2*ph) - cos(2*ph).*sin(th).^2 - cos(2*ph).*sin(2*th) + cos(2*th).*sin(2*ph) - cos(2*ph).*cos(2*th).*sin(2*th) + cos(2*th).*sin(2*ph).*sin(2*th)
];
end
答案 1 :(得分:0)
我认为你有一个overdetermined equations system,你应该用WLSE模型解决它们。 超定方程系统的方程式多于未知数。 WLSE模型使用一种算法来解决这些系统,该算法可以帮助您编写等式来解决问题。之后,您可以轻松地在MATLAB中编写它们