① 数值微分的举例说明
根据函数在一些离散点的函数值,推算它在某点的导数或某高阶导数的近似值。通常用差商代替微商,或用一能近似代替该函数的较简单的函数(如多项式、样条函数)的相应导数作为所求导数的近似值。例如,对带余项的插值公式ƒ(x)=I(x)+R(x)取k阶导数就得到带余项的数值微分公
这里插值函数I(x)的k阶导数I(k)(x)即为所求k阶导数 ƒ(k)(x)的近似值,而插值函数余项R(x)的k阶导数R(k)(x)则给出此近似值的截断误差。
通常利用多项式插值进行数值微分。设函数ƒ(x)在n+1个等距点xv=α+vh(v=0,1,…,n)上的值ƒv=ƒ(xv)为已知,则通过低次插值可导出一些最基本和常用的数值微分公式,例如,两点公式 三点公式等等。此外,利用具有n+1个等距节点的拉格朗日插值公式,还可导出在节点xj(i=0,1,…,n)上的较为一般的数值微分公式
这里Ai,v、Bi,v仅与 n、i、v有关,而相应的截断误差可分别表成式中因此,当节点的个数n+1固定时,间距h愈小, 则截断误差也愈小。但是这时系数绝对值之和随h的变小而剧增,所以函数值ƒv的舍入误差对近似导数的影响也随h的变小而剧增。因此,h并非愈小愈好,而是要适中,这是数值微分不同于某些插值之处。如果函数ƒ(x)有很好的可微性,即存在绝对值不太大的较高阶导数,则宁取间距稍大而个数稍多的节点。当ƒ(x)在节点分布的整个区间上的可微性不太好时,利用样条插值进行数值微分比利用多项式插值更适宜,只是计算量要大得多。
如果数据ƒv带有不容忽视的随机误差,而其对应的自变量分布甚密,就应该用曲线拟合代替上述函数插值,然后用拟合曲线的导数作为函数ƒ(x)的导数的近似值。这样求得的导数叫做磨光的导数。
② 微分公式是什么
基本微分公式是dy=f'(x)dx。
微分公式的推导设函数y = f(x)在某区间内有定义,x0及x0+△x在这区间内,若函数的增量Δy = f(x0 +Δx)−f(x0)可表示为Δy = AΔx + o(Δx),其中A是不依赖于△x的常数,o(Δx)是△x的高阶无穷小,则称函数y = f(x)在点x0是可微的。
学习微积分的方法有:
1、课前预习
一个老生常谈的话题,也是提到学习方法必将的一个,话虽老,虽旧,但仍然是不得不提。虽然大家都明白该这样做,但是真正能够做到课前预习的能有几人,课前预习可以使我们提前了解将要学习的知识,不至于到课上手足无措,加深我们听课时的理解,从而能够很快的吸收新知识。
2、记笔记
这里主要指的是课堂笔记,因为每节课的时间有限,所以老师将的东西一般都是精华部分,因此很有必要把它们记录下来,一来可以加深我们的理解,好记性不如烂笔头吗,二来可以方便我们以后复习查看。
3、认真听讲
对于大学生,特别是大一新生,学习方式与上高中时有了很大不同,上课时老师基本都用PPT来讲课,但是,千万不要认为上课不用听,下课把老师的PPT拷贝下来学习就可以了,老师上课会渗透很多PPT上没有的内容,如果错过了,在PPT上是找不到的。
4、课后复习
同预习一样,是个老生常谈的话题,但也是行之有效的方法,课堂的几十分钟不足以使我们学习和消化所学知识,需要我们在课下进行大量的练习与巩固,才能真正掌握所学知识。
③ 数值微分法用通俗的语言解释一下它的实现方法
就是求导了!
作差,求商,求极限呗
参考:http://ke..com/view/295773.htm
数学分析里面有的
根据函数在一些离散点的函数值,推算它在某点的导数或高阶导数的近似值的方法。通常用差商代替微商,或者用一个能够近似代替该函数的较简单的可微函数(如多项式或样条函数等)的相应导数作为能求导数的近似值。例如一些常用的数值微分公式(如两点公式、三点公式等)就是在等距步长情形下用插值多项式的导数作为近似值的。此外,还可以采用待定系数法建立各阶导数的数值微分公式,并且用外推技术来提高所求近似值的精确度。当函数可微性不太好时,利用样条插值进行数值微分要比多项式插值更适宜。如果离散点上的数据有不容忽视的随机误差,应该用曲线拟合代替函数插值,然后用拟合曲线的导数作为所求导数的近似值,这种做法可以起到减少随机误差的作用。数值微分公式还是微分方程数值解法的重要依据。
另请参考:http://www.fjtu.com.cn/fjnu/courseware/0329/course/_source/web/lesson/char7/j1.htm
下面是一个包含了简单差商的C代码,是我写给别人的,椐说有点错误,但我因为这不影响你理解差商
0 0.5 1.0 1.5 2.0 2.5
0.84147 0.85770 0.89924 0.94898 0.98777 0.99955
要求:
1.根据上表,计算差商表,并打印出来.
2.打印出Newton插值多项式.
3.计算f(1.673),用3次Newton插值多项式.
4.计算f(0.618),用5次Newton插值多项式.
根据以上要求,请用C或C++编写个程序.
#include<math.h>
#include<stdio.h>
#include<stdlib.h>
typedef struct data
{float x;
float y;}Data;
void scan(Data* a)
{float x,y;
scanf("%f%f",&x,&y);
(*a).x=x;
(*a).y=y;}
float f(Data *d,int s,int t)
{
if(t==s+1) return (d[t].y-d[s].y)/(d[t].x-d[s].x);
else return (f(d,s+1,t)-f(d,s,t-1))/(d[t].x-d[s].x);
}
float Newton(Data *d,float x)
{float t=1.0;
float y=d[0].y;
float yt=0;
int j,n;
while(1){
printf("\ninput n:");
scanf("%d",&n);
if(n<20) break;
else system("cls");}
for(j=1;j<=n;j++){
t=(x-d[j-1].x)*t;
yt=f(d,0,j)*t;
printf("%f\n",f(d,0,j));
y=y+yt;}
return y;
}
main(){
Data d[20];
Data *p=d;
int i,n;
float y,x;
printf("\ninput arrey ( <20 ):" );
scanf("%d",&n);
for(i=0;i<n;i++) scan(p+i);
printf("\ninput x:");
scanf("%f",&x);
y=Newton(d,x);
printf("\nji guowei:%f",y);
}
④ 一般来讲,解决问题有经验方法、理论方法、经验对比法等,请问数值计算的方法
摘要 您好,很高兴为您解答:
⑤ 怎么算啊
具体计算的时候,如果选择的是带肋类型,公称直径超过了25毫米,计算锚固长度的时候,需要乘以1.15,这个1.15就是指它的修正系数...
如果抗震等级达到了一级或者二级,这个系数就按照1.15来计算。 如果达到了三级,系数就按照1.05。 如果达到了四级,系数就会按照...
如果是纵向的起到了受力的作用,钢筋的尾部需要采取弯钩措施,同时它的锚固长度可以按照基本值的60%来计算。
(1x6%+1x8%)/(2x44%+2x6%+1x42%+1x8%)x100% =(0.06+0.08)/(2x0.44+2x0.06+1x0.42+1x0.08)x100% =0.093x100% =9.3% ∴选D 答案正确,请【采纳答案】,非常感谢。详情>>
知乎,中文互联网高质量的问答社区和创作者聚集的原创内容平台,于2011 年1月正式上线,以“让人们更好地分享知识、经验和见解,找到...
进行数字加减时,把复杂的数字转换成容易加减的各位数位零的数字.如,465+654=(400+600)+(50+50)+15+4=1119, ...
计算方法又名数值分析,是为各种数学问题的数值解答研究提供最有效的算法。计算方法主要内容包括函数逼近论、数值微分、数值积分、误差分析等,常用方法有迭代法、差分法、插值法、有限元素法等,现代计算方法要求适应电子计算机的特点。计算方法又称“数值分析”。是为各种数学问题的数值解答研究提供最有效的算法。主要内...
⑥ 数值微分的一阶导数和二阶导数公式在具体计算时
答:本题是算是问对人了,
如果你要想深入分析,需要用到函数的泰勒展开。
1) 你说的两种方法都可以用,但是后面的方法精度更高。
f''(x)=[f(x+h)-2f(x)+f(x-h)]/h^2 方法是等效与 f''(x)=[f'(x+h/2)-f'(x-h/2)]/h 是2阶精度
2) 先求其一阶导数值,然后再用一阶的差分公式求出2阶的导数,是1阶精度。
就好比 f'(x)=[f(x+h)-f(x-h)]/2h 是2阶精度,
f'(x)=[f(x+h)-f(x)]/h 是1阶精度。
关键就是在泰勒展开方面
f(x+h)=f(x)+f'(x)*h+b*f''(x)*h^2+c*f'''(x)*h^3 b,c为泰勒展开的系数
f(x-h)=f(x)-f'(x)*h+b*f''(x)*h^2-c*f'''(x)*h^3
可以看出 如果用 [f(x+h)-f(x)]/h =f'(x)+b*f''(x)*h+c*f'''(x)*h^2 后面的是误差项。
如果用 [f(x+h)-f(x=h)]/2h =f'(x) + c*f'''(x)*h^2 可以明显看出第二种方法的误差更小。
同理可以推导二阶导数的精度问题。
望采纳,如果有不明白的,可以进一步沟通
⑦ 求函数微分
使用diff命令
符号运算
diff函数用以演算一函数的微分项,相关的函数语法有下列4个:
diff(f) 传回f对预设独立变数的一次微分值
diff(f,'t') 传回f对独立变数t的一次微分值
diff(f,n) 传回f对预设独立变数的n次微分值
diff(f,'t',n) 传回f对独立变数t的n次微分值
也即matlab求导命令diff调用格式:
diff(函数) , 求的一阶导数;
diff(函数, n) , 求的n阶导数(n是具体整数);
diff(函数,变量名), 求对的偏导数;
diff(函数, 变量名,n) ,求对的n阶偏导数;
数值微分函数也是用diff,因此这个函数是靠输入的引数决定是以数值或是符号微分,如果引数为向量则执行数值微分,如果引数为符号表示式则执行符号微分。如果输入一个长度为n的一维向量,则该函数将会返回长度为n-1的向量,向量的值是原向量相邻元素的差,于是可以计算一阶导数的有限差分近似。
先定义下列三个方程式,接着再演算其微分项:
>>S1 = '6*x^3-4*x^2+b*x-5';
>>S2 = 'sin(a)';
>>S3 = '(1 - t^3)/(1 + t^4)';
>>diff(S1)
ans=18*x^2-8*x+b
>>diff(S1,2)
ans= 36*x-8
>>diff(S1,'b')
ans= x
>>diff(S2)
ans=cos(a)
>>diff(S3)
ans=-3*t^2/(1+t^4)-4*(1-t^3)/(1+t^4)^2*t^3
>>simplify(diff(S3))
ans= t^2*(-3+t^4-4*t)/(1+t^4)^2