基于matlab的数值分析非线性方程求根上机试验报告1.docx
- 文档编号:12021543
- 上传时间:2023-04-16
- 格式:DOCX
- 页数:12
- 大小:16.02KB
基于matlab的数值分析非线性方程求根上机试验报告1.docx
《基于matlab的数值分析非线性方程求根上机试验报告1.docx》由会员分享,可在线阅读,更多相关《基于matlab的数值分析非线性方程求根上机试验报告1.docx(12页珍藏版)》请在冰豆网上搜索。
基于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.
以下无正文
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 matlab 数值 分析 非线性 方程 求根 上机 试验报告