常用的降压药有哪些迈克劳林展开式有哪些

在处的泰勒级数展开式为
时对应的泰勒级数即迈
()n,fx()n0,,fxxx()()f(x)在处的泰勒级数展开式为,当=0时对应的泰勒级数即
xx,000n!n,0
迈克劳林级数。
首先要知道迈克劳林幂级数常用的七个展开式:
利用ln(1+x)的迈克劳林幂级数展开式(公式如果不记得的话,可以查看相关
,x2n1,,,,,,,,2ln(5)2(ln5ln(1))2ln5xx,n1,,55(1)nn0,
2122x所以:(n=0,对应于x系数)(n=1,对应于)(n=2,对
134xx应于系数)(n=3,对应于系数)C,,4452,
,annaxx(),R=5(,求幂级数的收敛半径R有三种方法,limR,n0,,nan,01,n
n,1axx(),n,101.求极限,令&1可以得到,()xx,,()limxx,,00n,,naxx(),n0
xx,&m,则收敛半径R=m0
an2.若不等于0,则a,limRn,,na1,n
nnxx,3.求极限,令&1可以得到&m,,()xx,,()lim()xxaxx,,,0000,,nn
则收敛半径R=m)
在此题中用到第二种方法,=0)x0
(window.slotbydup=window.slotbydup || []).push({
id: '4540225',
container: s,
size: '910,250',
display: 'inlay-fix'
该用户的其他资料
在此可输入您对该资料的评论~
(window.slotbydup = window.slotbydup || []).push({
id: '4540180',
container: s,
size: '250,200',
display: 'inlay-fix'
添加成功至
资料评价:
所需积分:0项目中需要快速求解Asin(x) 的近似值,原以为用泰勒展开式会快一些,结果比原生的慢一倍。
Math.ASin&&&&&&& Time Elapsed:&& 9ms&&&&&&& Gen 0:&&&&&&&&& 0&&&&&&& Gen 1:&&&&&&&&& 0&&&&&&& Gen 2:&&&&&&&&& 0Maclaurin.ASin&&&&&&& Time Elapsed:&& 17ms&&&&&&& Gen 0:&&&&&&&&& 4&&&&&&& Gen 1:&&&&&&&&& 0&&&&&&& Gen 2:&&&&&&&&& 0
各位,谁有能力改进?
using System.Collections.G
using System.L
using System.Runtime.Remoting.M
using System.T
namespace Asin
class Program
static void Main(string[] args)
int count = 100000;
List&double& values = new List&double&(count);
Random r = new Random();
for (var i = 0; i &= ++i)
values .Add(r.NextDouble() * 2 - 1);
CodeTime.Init();
int? iter = 0;
CodeTime.Timer("Math.ASin", count, () =&
var i = iter.Value + 1;
Math.Asin(values[i]);
CodeTime.Timer("Maclaurin.ASin", count, () =&
var i = iter.Value + 1;
Maclaurin.Asin(values[i],3);
while (true)
CodeTime.Timer("Math.ASin", count, () =&
var i = iter.Value + 1;
Math.Asin(values[i]);
CodeTime.Timer("Maclaurin.ASin", count, () =&
var i = iter.Value + 1;
Maclaurin.Asin(values[i], 3);
//var ret = Maclaurin.Asin(0.5, 3);
//var ret2 = Math.Asin(0.5);
//Console.WriteLine(ret);
//Console.WriteLine(ret2);
Console.ReadLine();
class Maclaurin
class ASinImpl
private List&double& quotieties = new List&double&();
private IEnumerator&double& computeQuotieties =
public ASinImpl()
puteQuotieties = ComputeQuotiety();
public double Calc(double v, int precision = 2)
if (quotieties.Count & precision)
for (var i = quotieties.C i & ++i)
computeQuotieties.MoveNext();
quotieties.Add(computeQuotieties.Current);
double ret = 0;
var values = ComputeValues(v);
for (int i = 0; i & ++i)
values.MoveNext();
ret += quotieties[i]*values.C
private IEnumerator&double& ComputeValues(double v)
double ret = 1;
double q = v*v;
for(int i = 0;;++i)
if (i == 0)
throw new NotImplementedException();
private IEnumerator&double& ComputeQuotiety()
for (int i = 0;; i++)
double up = Factorial(2*i);
double down = Math.Pow(Math.Pow(2, i)*Factorial(i), 2)*(2*i + 1);
double quotiety = up/
throw new NotImplementedException();
private long Factorial(long v )
if( v & 0)
throw new ArgumentOutOfRangeException("v");
if (v == 0)
if (v == 1)
long ret = 1;
for (int i = 2; i &= ++i)
private static ASinImpl asinImpl = new ASinImpl();
/// &summary&
/// &/summary&
/// &param name="v"&&/param&
/// &param name="precision"&&/param&
/// &returns&&/returns&
public static double Asin(double v, int precision)
if (v & -1 || v & 1)
throw new ArgumentOutOfRangeException("v");
return asinImpl.Calc(v, precision);
通过一下优化:基本持平
class ASinImpl
private readonly int _
private double[] _quotieties =
private long[] _factorials =
public ASinImpl(int precision = 3)
_precision =
_quotieties = new double[precision + 1];
_factorials = new long[(precision + 2)*2 + 1];
Factorial();
ComputeQuotiety();
public double Calc(double v)
double retVal = 0;
double vVal = 1;
double q = v *
fixed (double* pq = _quotieties)
for (int i = 0; i & _ ++i)
if (i == 0)
retVal += pq[i] * vV
retVal += pq[i] * vV
return retV
private void ComputeQuotiety()
int precision = _quotieties.L
for (int i = 0; i & i++)
double up = _factorials[2*i];
double down = Math.Pow(Math.Pow(2, i)*_factorials[i], 2)*(2*i + 1);
double quotiety = up/
_quotieties[i] =
private void Factorial()
int precision = _factorials.L
long ret = 1;
for (long v = 0; v & ++v)
if (v == 0)
this._factorials[v] = 1;
else if (v == 1){
this._factorials[v] = 1;
this._factorials[v] =
阅读(...) 评论()扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
下载作业帮安装包
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
求高数高人解惑,五个初等函数迈克劳林的展开式,它们是以x等于零得到的,尤其是正弦和余弦展开式,一旦脱离零的基础,当x很大的时候,个人感觉正弦余弦展开式就不管用了,如果这样,那么就肯定不能用正弦与余弦和e之间迈克劳林展开式关系得到欧拉公式.那么欧拉公式岂不是有问题?可能是我的书介绍不全吧,唉,感觉高数后面太乱了.习题完全是为了公式而存在的,一堆公式里面一般只有一个能轻松解出答案,其余的要么不管用,要么计算过程让人感觉恶心.是不是偶高数没学到家?这个e展开式倒是能理解,主要就是正弦余弦
说谎要吞针°澲
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
正弦,余弦,e^x的展开式中的x是可以为任意数的.这主要是因为每一项中阶乘n!的增长远比x^n来得快,因此无论x多大,最终都收敛.另外,展开式可以不以0为基础,可以用任意数为基础.比如展开成(x-a)^ne^x=e^(x-a+a)=e^a *e^(x-a)=e^a[1+(x-a)+(x-a)^2/2!+...(x-a)^n/n!+.], 也同样是关于任意x都收敛的.
为您推荐:
其他类似问题
扫描下载二维码扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
下载作业帮安装包
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
会高数的帮下忙(1)1/2-x 的迈克劳林展开式 (2)求三个微分方程的通解y' - xcosx = y/x,y'=2xy,y'' + y' = 2e-x(后面这点是2乘以e的-x次方)
乖乖787hbo
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
(1)1/(2-x)=1/[1-(x/2)]=1+(x/2)+(x/2)^2+(x/2)^3+……=1+(1/2)x+[1/(2^2)](x^2)+[1/(2^3)](x^3)+……+[1/(2^n)](x^n)+……(2)①伯努利方程?忘了怎么求了②化为y'=dy/dx则dy/y=2xdx两边积分解得lny=x^2+C'所以y=C×e^(x^2),C=e^C’;③对应的齐次方程为y"+y'=0,其特征方程为a^2+a=0,特征解为a=0或-1通解为y(0)=C(0)+C(1)e^(-x);观察方程,其特解形式为y*=Axe^(-x)则y*'=Ae^(-x)-Axe^(-x)y*"=-Ae^(-x)-Ae^(-x)+Ae^(-x)代入原方程得-Ae^(-x)=2e^(-x),A=-2故特解为y*=-2xe^(-x)所以,原方程通解为y=y(0)+y*=C(0)+C(1)e^(-x)-2xe^(-x)=e^(-x)[C(1)-2x]+C(0)
为您推荐:
其他类似问题
扫描下载二维码

我要回帖

更多关于 常用的降压药有哪些 的文章

 

随机推荐