MATLAB解方程

来源:百度知道 编辑:UC知道 时间:2024/06/01 02:47:30
请教一个问题:
b=3a1*sinx+[2a2-a3-a1*(1-cosx)]*cotx,其中,a1,a2,a3已知,想给定b值时求出对应的x值。matlab中需要用哪个命令?如何解决?急!谢谢!

syms a1 a2 a3 b x;
b=3*a1*sin(x)+[2*a2-a3-a1*(1-cos(x))]*cot(x) ;
solve(b,x)

clc;
% 可在下面修改b,a1,a2,a3的值
b=1;
a1=1;
a2=1;
a3=1;

%-----------------------------------------------------------------------
f=sprintf('%f=3*%f*sin(x)+(2*%f-%f-%f*(1-cos(x)))*cot(x)',b,a1,a2,a3,a1);
ANSWER=eval(solve(f,'x'))

syms x;
>> a1=1;a2=1;a3=1;%根据实际情况输入这三个变量的值
>> b=3*a1*sin(x)+(2*a2-a3-a1*(1-cos(x)))*cot(x) ;
>> solve(b,x)

结果:
ans =

i*atanh(1/3*3^(1/2))
-i*atanh(1/3*3^(1/2))