求救matlab求解含有三角函数的非线性方程组 我的程序如下 (跪求啊 折磨好几天了)

2025-03-20 18:52:22
推荐回答(1个)
回答1:

clear;clc;
syms x p
eq1='p*(sin(x)^2)+(cos(x)^2)*sin(x)-0.5';
eq2='p*cos(x)*cos(2*x)-sin(x)*cos(2*x)-(sqrt(3)-2)/8';
[p,x]=solve(eq1,eq2,p,x);
x=eval(x);
p=eval(p);
log=(x==real(x));
x1=x(log);
p1=p(log);
首先是solve函数用错了,它的返回值是按字母的顺序排列的,也就是先返回p,再返回x,你把x,p弄反了,再就是程序输出的解不止一个,不知道为什么你的程序只输出一个解,最后,如果程序是你复制粘贴过来的话,倒数第二行的‘y’是什么情况?