怎样用matlab求解这样的函数?我想求解方程:0.133=x*tanh(10*x),输入指令 x=solve('0.133=x*tanh(10*x)','x')后却得到了结果x = matrix([[-0.14764608060024211252258489022291]])因为式中的x是具有物理意义的,应该是一

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 20:11:11

怎样用matlab求解这样的函数?我想求解方程:0.133=x*tanh(10*x),输入指令 x=solve('0.133=x*tanh(10*x)','x')后却得到了结果x = matrix([[-0.14764608060024211252258489022291]])因为式中的x是具有物理意义的,应该是一
怎样用matlab求解这样的函数?
我想求解方程:
0.133=x*tanh(10*x),
输入指令
x=solve('0.133=x*tanh(10*x)','x')
后却得到了结果
x =

matrix([[-0.14764608060024211252258489022291]])
因为式中的x是具有物理意义的,应该是一个正实数,所以这个结果肯定有问题.
跪求高人指点一下我的指令哪里有问题,应该怎么写才能得出我想要的结果?

怎样用matlab求解这样的函数?我想求解方程:0.133=x*tanh(10*x),输入指令 x=solve('0.133=x*tanh(10*x)','x')后却得到了结果x = matrix([[-0.14764608060024211252258489022291]])因为式中的x是具有物理意义的,应该是一
我做的结果
输入指令
x=solve('0.133=x*tanh(10*x)','x')
后得到的结果
x =
.14764608060024211252258489022291
是个符号结果
再用x=double(x);
就可以转化成数值型
x =
0.1476
可以验证这就是结果

solve不擅长解三角函数的符号方程,可以用fsolve解数值解

如下:

eq=@(x) 0.133-x*tanh(10*x);

ezplot(eq,[-0.5 0.5])   % 先画出图像可以看出方程正根在0.1附近,然后用fsolve

x=fsolve(eq,0.1)