什么叫做差分法?差分法的具体步骤是什么

什么叫做差分法?差分法的具体步骤是什么,第1张

差分法的定义及具体步骤如下:

一、差分法是微分方程的一种近似数值解法。具体地讲,差分法就是把微分用有限差分代替,把导数用有限差商代替,从而把基本方程和边界条件(一般均为微分方程)近似地改用差分方程(代数方程)来表示,把求解微分方程的问题改换成为求解代数方程的问题。在d性力学中,用差分法和变分法解平面问题。

二、差分法的具体步骤:

1、“差分法衫或”本身是一种“精算法”而非“估算法”,得出来的大小关系是精确的关系而非粗略的关系;

2、“伏伏差分法”与“化同法”经常联系在一起使用,“化同法紧接差分法”与“差分法紧接化同法”是资料分析速算当中经常遇到的两种情形。

3、“缺塌携差分法”得到“差分数”与“小分数”做比较的时候,还经常需要用到“直除法”。

4、如果两个分数相隔非常近,我们甚至需要反复运用两次“差分法”,这种情况相对比较复杂,但如果运用熟练,同样可以大幅度简化计算。

没有初始化low,就会报运行时错误早蚂,初始化一下low就好了

#include

"stdio.h"

#define

List_Size

20

struct

RecordType

{

int

key

//简单查找

char

otherkey

}

struct

RecordList

{

RecordType

r[List_Size+1]

int

length

}list1,*p

void

init_list()

{

int

i

//初始化数据

p=&list1

for(i=0i<List_Size+1i++)

{

p->r[i].key

=i

p->r[i].otherkey

=i+1

}

p->length

=List_Size+1

for(i=0i<List_Size+1i++)

//确认初始化数据

{

printf("list.r[%d].key=%d,list.r[%d].otherkey=%d\n",i,p->r[i].key,i,p->r[i].otherkey)

}

printf("list.length=%d\n",p->陆灶埋length)

}

int

BinSrch(RecordList

L,int

k)

//二分差算法

{

int

low,high,mid

int

i=0

low

=

0

//初始化low

high=L.length-1

while(low<=high)

{

mid=(low+high)/2

if(k==L.r[mid].key)

{

i=midbreak

}

else

{

if(k

<

L.r[mid].key)

{

high=mid-1

}

else

low=mid+1

}

}

/辩正/

if((low==high)&&(k!=L.r[mid].key))

//

{

//

return

(0)

//

}

return

(i)

}

void

main()

{

int

result=0

p=&list1

init_list()

result=BinSrch(list1,7)

printf("the

reslut=%d",result)

getchar()

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12359202.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存