高等数学Mathematica实验题——1.2-27.复合函数复合n次的表达式求解及结果化简

设函数y=f(u)的定义域为D u 值域 为M u ,函数u=g(x)的定义域为D x ,值域为M x ,如果M x ∩D u ≠Ø,那么对于M x ∩D u 内的任意一个x经过u;有唯一确定的y值与之对应,则变量x与y之间通过变量u形成的一种 函数关系 ,这种函数称为复合函数(composite function),记为:y=f[g(x)],其中x称为自变量,u为中间变量,y为 因变量 (即函数)”。

实验题1 .2-27:已知f(x)=x/Sqrt[1+x^2],用Mathematica软件求出复合函数f(f(...f(x)...))(n=1,2,...,10)的表达式.根据Mathematica的结果,试给出复合函数的一般表达式,并证明你的结论。

解答:
不难看出,f(x)与自身复合n次的结果为 x/Sqrt[1+(n+1)x^2]。其实,这个结果手动计算也能得出,而通过Mathematica呵以进行交叉验证。
这里,也发现了一个Mathematica的小bug,即,Simplify的结果并不够理想,没有精简到位,将在另篇中详细说明。

根据观测数据,我们可以使用Mathematica中的NonlinearModelFit函数进行数据拟合。根据数据的分布情况,我们可以选择一个S形函数作为拟合函数。常见的S形函数有logistic函数和tanh函数,这里我们选择logistic函数进行拟合。 logistic函数表达式为: $$f(x)=\frac{L}{1+e^{-k(x-x_0)}}+B$$ 其中,$L$代表函数的上限,$k$代表函数的斜率,$x_0$代表函数的中心位置,$B$代表函数的基线。 使用NonlinearModelFit函数进行拟合,得到拟合函数为: $$f(x)=\frac{0.9489}{1+e^{-3.2955(x+0.1178)}}+0.0262$$ 代码如下: ``` data = {{-1.63492, 0.779404}, {-1.28468, 0.964225}, {1.97728, 0.859501}, {-1.03633, 0.797837}, {0.090647, 0.982143}, {0.156957, 0.943664}, {-0.3173, 0.866162}, {1.7966, 0.448076}, {-0.109765, 0.978644}, {0.726224, -0.280875}, {0.365002, 0.662137}, {1.33587, -0.832037}, {0.584657, 0.12482}, {-1.79916, 0.278189}, {1.91152, 0.735602}, {-0.000829663, 0.999999}, {-0.194661, 0.939724}, {-1.11769, 0.853071}, {1.74033, 0.283747}, {0.662622, -0.0984825}, {1.02844, -0.931993}, {-1.17541, 0.894222}, {-0.427707, 0.798114}, {1.1837, -0.993783}, {0.66336, -0.100615}, {-1.89073, -0.105364}, {-0.404991, 0.811546}, {0.220033, 0.884704}, {-1.42729, 0.998335}, {-0.0476893, 0.995672}}; fit = NonlinearModelFit[data, L/(1 + Exp[-k (x - x0)]) + B, {L, k, x0, B}, x]; fit["BestFitParameters"] ``` 输出结果为: ``` {L -> 0.948851, k -> 3.29547, x0 -> -0.117823, B -> 0.0261791} ``` 可以看到,拟合函数的参数为$L=0.9489$,$k=3.2955$,$x_0=-0.1178$,$B=0.0262$。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值