基于matlab的数值分析非线性方程求根上机试验报告1.docx

上传人:b****4 文档编号:12021543 上传时间:2023-04-16 格式:DOCX 页数:12 大小:16.02KB
下载 相关 举报
基于matlab的数值分析非线性方程求根上机试验报告1.docx_第1页
第1页 / 共12页
基于matlab的数值分析非线性方程求根上机试验报告1.docx_第2页
第2页 / 共12页
基于matlab的数值分析非线性方程求根上机试验报告1.docx_第3页
第3页 / 共12页
基于matlab的数值分析非线性方程求根上机试验报告1.docx_第4页
第4页 / 共12页
基于matlab的数值分析非线性方程求根上机试验报告1.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

基于matlab的数值分析非线性方程求根上机试验报告1.docx

《基于matlab的数值分析非线性方程求根上机试验报告1.docx》由会员分享,可在线阅读,更多相关《基于matlab的数值分析非线性方程求根上机试验报告1.docx(12页珍藏版)》请在冰豆网上搜索。

基于matlab的数值分析非线性方程求根上机试验报告1.docx

基于matlab的数值分析非线性方程求根上机试验报告1

数值分析试验报告

非线性方程求根

二分法解方程

1.题目:

用二分法求方程x3—3x-1=°的所有根

2.方法:

二分法

3.程序

functionx=erfenfa(a,b)if(a*a*a-3*a-1)*(b*b*b-3*b-1)>0

disp('区间错误,请重新调试!

');

breakelsex=(a+b)/2.0;

k=0;

while(k<=100&abs(x*x*x-3*x-1)>0.0001&b-a>0.0001)if(x*x*x-3*x-1)*(a*a*a-3*a-1)<0

b=x;

else

a=x;

end

x=(a+b)/2.0;

k=k+1;

k,x

ifk==100

display^计算方法错误,请重新调试!

end

end

end

disp(['k=',num2str(k)])

4.结果

>>formatcompact

>>erfenfa(1,2)

k=

1

x=

l.000000

');

x=

1.000000

k=

3

x=

1.000000

k=

4

k=

x=

1.000000

k=

5

x=

1.000000

k=

6

x=

1.000000

k=

7

x=

1.000000

k=

8

x=

1.500000

k=

9

x=

1.250000

k=

10

x=

1.125000k=10ans=

1.125000>>erfenfa(-1,1)k=

1

x=

-0.000000

k=

2

x=

-0.000000

k=

3

x=

-0.000000

k=

4

x=

-0.000000

k=

5

x=

-0.000000

k=

6

x=

-0.000000

k=

7

x=

-0.000000

k=

8

x=

-0.000000

k=

9

x=

-0.500000

k=

10

x=

-0.750000

k=

11

x=

-0.347

k=

12

x=

-0.937500

k=

13

x=

-0.906250k=13ans=

-0.906250

>>erfenfa(-2,-1)k=

 

-1.000000

k=

5

x=

-1.000000

k=

6

x=

-1.000000

k=

7

x=

-1.535

-1.000000

k=

2

x=

-1.000000

k=

3

x=

-1.000000

k=

4

x=

k=

8

x=

-1.500000

k=

9

x=

-1.250000

k=

10x=

-1.125000

k=

11

x=

-1.187500

k=

12x=

-1.532

k=12ans=

-1.532

5,拓展:

在程序编写完成调试过程中发现如果给出错误区间程序仍能给出一个错误答案,于是找同学讨教,讨论得出了正确的方法

不动点解方程

1.题目:

解方程x34x210x-2^0的根

2.方法:

不动点迭代法

3.程序

functionx=budongdian(x0)p=x0;

fork=1:

10

x0=p;

p=20/(x0*x0+4*x0+10);

ifabs(p-x0)<0.0001

break;

end

k

p

ifk==10

disp('计算错误')

end

end

4.结果

>>formatcompact

>>budongdian

(1)

k=

1

p=

Forpersonaluseonlyinstudyandresearch;notforcommercialuse

1.3333

k=

2

p=

1.1688

k=

3

p=

1.2468

k=

4

p=

1.2091

k=

5

p=

1.2271

k=

6

p=

1.2184

k=

7

P=

1.2226

k=

8

P=

1.2206

k=

9

P=

1.2216

k=

10

P=

1.2211

k=

11

P=

1.2213

k=

12

P=

1.2212

P=

1.2213

Newton迭代法求方程的根

32

1.题目:

求方程3x5x70=0的根

2.方法:

newton迭代法

3.程序:

functionx=newton(a)

P=a;

fork=1:

100

a=p;p=a-(3*a*a*a+5*a*a+10)/(9*a*a+10*a);

ifabs(p-a)<0.00001break;

end

ifk==100

display('计算错误');

end

k

p

end

p

4.结果

>>formatlong

>>newton(-2)

k=

1

p=

-2.000000

k=

2

p=

-2.094853

k=

3

p=

-2.142995

p=

-2.582976

>>

ok

对于不同的函数只需将文中x*x*x-3*x-1你所需求解的函数就了

仅供个人用于学习、研究;不得用于商业用途

Forpersonaluseonlyinstudyandresearch;notforcommercialuse.

Nurfurdenpers?

nlichenfurStudien,Forschung,zukommerzeiZweckenverwendetwerden.

Pourl'etudeetlarechercheuniquementadesfinspersonnelles;pasadesfinscommerciales.

to员bkog^A.nrogeHKOTOpMeno^b3ymoiflCH6yHeHuac^egoBuHHuefigo^^HM

ucno员B30BaTbCEbKOMMepqeckuxqe员ex.

以下无正文

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1