乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 求教:如何用matlab求解超越方程tanh(x)=tan(...-超越方程excel,如何用excel解方程

求教:如何用matlab求解超越方程tanh(x)=tan(...-超越方程excel,如何用excel解方程

作者:乔山办公网日期:

返回目录:excel表格制作


方程的数值解为 x=-226.24
>> syms x
>> x=solve(tan(x)-10/x)
x =
matrix([[-226.238843381060948111]])

数值解法只能得到一个解,想得到不同解必须改变初始解。例如:
clear all; close all;
f1 = @(x) tan(x);
f2 = @(x) tanh(x);
eqn = @(x) f1(x)-f2(x);
result_x1 = fzero(eqn, 4) % 初始4
result_y1 = f1(result_x1)
result_x2 = fzero(eqn, 7) % 初始解7
result_y2 = f1(result_x2)
不断改变初始解就可以得到不同的解


  
  mathematica 如何解超越方程copy看  




  
  对于这个方程:2*x*ArcSin[12/(2 x)] - 20=0,我用FindRoot求解时,提示:
FindRoot::cvmit: 无法在 100 次迭代中收敛到要求的准确度或者精度.
如果我把12换成13或者更大的数,不超过20,那么就可以解




  
  结论是12的时候确实无解。
  首先从数学角度说明一下为什么12无实根,而13以上有。设此常数为zdc。首先发现此函数为偶函数,只考虑正半段。再观察其导数发现函数递减。考虑到定义域, 函数最大值为。临界条件为, 。大于这个值的有解,小于这个值的无解。
  如果想用mathematica对于多个c值分别求解的话,可以
  FindRoot[2 x ArcSin[#/(2 x)] - 20, {x, 10}] & /@ Range[12, 19]
  



用excel吧?每个电脑都自带表格excel。e799bee5baa6e78988e69d83364

用牛顿切线法收敛比较快。
f(x)=tan(x)-1/x
f `(x)=1/(cosx)^2 +1/x²

那么迭代求解函数式就是
X[n+1]=Xn-f(Xn)/ f `(Xn)

那么可以把A1单元格相对引用,
在A2输入公式,如下,等号要写进去哦。
=A1-(tan(A1)-1/A1)/((1/cos(A1))^2+1/A1^2)
填好公式之后,复制A2单元格,不是复制公式,往下粘贴。

根据函数图象和周期性可知,无数组解。

A1输入1,

1
0.87404692032193
0.86040016299097
0.86033359041179
0.86033358901938
0.86033358901938
0.86033358901938
0.86033358901938
0.86033358901938
0.86033358901938
0.86033358901938
第四次已经收敛到正确的近似值了。

A1输入 =100*pi()+0.1
就是100π+0.1的表达式。
那么就是求在100π附近的近似解。

=100*PI()+0.1
314.16308202883700
314.16244841628800
314.16244841484000
314.16244841484000
314.16244841484000
314.16244841484000
314.16244841484000
314.16244841484000
314.16244841484000
314.16244841484000

第三次就收敛到正确近似值。
-1
-0.87404692032193
-0.86040016299097
-0.86033359041179
-0.86033358901938
-0.86033358901938
-0.86033358901938
-0.86033358901938

负数也有解答,你输入想得到解的附近数值,就会返回这点附近的一个近似解。

希望能解决你的疑问O∩_∩O~

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网