1、不动点迭代法非线性方程求解不动点迭代法非线性方程求解MATLAB程序设计实践课程考核 1、编程实现以下科学计算算法,并举一例应用之。(参考书籍精通MATLAB科学计算,王正林等著,电子工业出版社,2009年) “不动点迭代法非线性方程求解” 2、编程解决以下科学计算问题。 7.某工厂2005年度各季度产值(单位:万元)分别为:450.6、395.9、410.2、450.9,试绘制折线图和饼图,并说明图形的实际意义。 22xy 8.根据绘制平面曲线,并分析参数对其形状的影响。 ,,1a22a25,a2.按要求对指定函数进行插值和拟合。 0 (1)按表6.4用3次样条方法插值计算范围内整数点的正弦
2、值和0900范围内整数点的正切值,然后用5次多项式拟合方法计算相同的函数值,075并将两种计算结果进行比较。 表6.4 特殊角的正弦与正切值表 (度) 0 15 30 45 60 75 90 asina 0 0.2588 0.5000 0.7071 0.8660 0.9659 1.0000 tana 0 0.2679 0.5774 1.0000 1.7320 3.7320 (2)按表6.5用3次多项式方法插值计算1100之间整数的平方根。 表6.5 1100内特殊值的平方根表 N 1 4 9 16 25 36 49 64 81 100 1 2 3 4 5 6 7 8 9 10 N 1、不动点迭
3、代非线性方程求解 解: 算法说明: 在Matlab中编程实现不动点迭代法的函数为StablePoint 功能:用不动点迭代法求函数的一个零点。 调用格式:root,n=StablePoint(f,x0,eps)。 其中,f为函数名; x0为初始迭代向量; eps为根的精度; root为求出的函数零点; n为迭代步数。 流程图: 输入参数f,x0,eps 迭代算根 否 比较精度是否符合要求 是 输出根值和迭代步数 不动点迭代法的MATLAB程序代码: function root,n=StablePoint(f,x0,eps) %用不动点迭代法求函数f的一个零点 %初始迭代量:x0 %根的精度:e
4、ps %求出的函数零点:root %迭代步数:n if(nargin=2) eps=1.0e-4; end tol=1; root=x0; n=0; while(toleps) n=n+1; r1=root; root=subs(sym(f),findsym(sym(f),r1)+r1; %迭代的核心公式 tol=abs(root-r1); end 实例: 1采用不动点迭代法求方程的一个根。 ,,x20x流程图: 开始 确定函数和参数 代入公式 输出结果 解:在MATLAB命令窗口中输入程序代码: r,n=StablePoint(1/sqrt(x)+x-2,0.5) 结果输出: r = 0.3
5、820 n = 4从计算结果可以看出,经过四步迭代,得出方程的一个根为0.3820 2.编程解决以下科学计算问题 7、某工厂2005年度各季度产值(单位:万元)分别为450.6, 395.9, 410.2, 450.9,试绘制折线图和饼图,并说明图像的实际意义。 解: 流程图:用subplot首先对对作图区域分区 根据图线类型选择函数: 折线图用plot 饼状图用pie 输入数据;图像用title标注 输出图像 源程序代码: %折线图 subplot(1,2,1) plot(450.6,395.9,410.2,450.9) title(2005年度各季度产值-折线图); %饼状图 subplo
6、t(1,2,2) pie(450.6,395.9,410.2,450.9,1:4,第一季度,第二季度,第三季度,第四季度) title(2005年度各季度产值-饼图) 从折线图可以看出该工厂效益变化趋势,效益在第二季度最低随后逐渐提高,并在第四季度恢复到第一季度的水平;从饼状图可以看出各个季度该工厂效益的比例关系。从这两个图可以合理安排工厂的生产计划。 22xy,,18.根据绘制平面曲线,并分析参数对其形状的影响。 a22a25,a流程图: 定义符号变量a x y 和函数eq;设置变参量aa(实数矩阵) n为矩阵的列数; for i=1:n eq1=subs(eq,a,aa(i); 并用ezp
7、lot绘制隐函数图形 设置图像坐标范围和间隔时间 依次作图 syms a x y eq=1/a2*x2 +y2/(25-a2)-1; aa=0.5:0.5:3.5,5/sqrt(2),3.6:0.5:6.6; m,n=size(aa); for i=1:n eq1=subs(eq,a,aa(i); ezplot(eq1,-20 20) drawnow axis(-20 20 -10 10) pause(0.5) end 时,随着a增大曲线形状由长轴在y轴的椭圆逐渐转变为圆(此0.55/2,a时);时a继续增大曲线形状由圆转变为长轴在x轴5/25,aa,5/2的椭圆;a5时曲线变为双曲线。 2.
8、按要求对指定函数进行插值和拟合。 0 (1)按表6.4用3次样条方法插值计算范围内整数点的正弦值和0900范围内整数点的正切值,然后用5次多项式拟合方法计算相同的函数值,075并将两种计算结果进行比较。 表6.4 特殊角的正弦与正切值表 (度) 0 15 30 45 60 75 90 asina 0 0.2588 0.5000 0.7071 0.8660 0.9659 1.0000 tana 0 0.2679 0.5774 1.0000 1.7320 3.7320 流程图:开始 输入已知的数据表作为样本;设置插值节点 针对不同的方法选用相应的函数及格式 将已知数据和插值节点代入 求得插值节点处
9、的函数值 A(正弦值算法: x=0:pi/12:pi/2; y=0 0.2588 0.5000 0.7071 0.8660 0.9659 1.0000; xi=0:pi/180:pi/2;%三次样条差值 yi=interp1(x,y,xi,spline) %五次多项式拟合 A=polyfit(x,y,5); yj=polyval(A,xi) 运行结果: yi = Columns 1 through 11 0 0.0175 0.0349 0.0524 0.0698 0.0872 0.1045 0.1219 0.1392 0.1564 0.1737 Columns 12 through 22 0.
10、1908 0.2079 0.2249 0.2419 0.2588 0.2756 0.2923 0.3090 0.3255 0.3420 0.3583 Columns 23 through 33 0.3746 0.3907 0.4067 0.4226 0.4384 0.4540 0.4695 0.4848 0.5000 0.5150 0.5299 Columns 34 through 44 0.5446 0.5592 0.5736 0.5878 0.6018 0.6157 0.6293 0.6428 0.6561 0.6691 0.6820 Columns 45 through 55 0.694
11、7 0.7071 0.7193 0.7313 0.7431 0.7547 0.7660 0.7771 0.7880 0.7986 0.8090 Columns 56 through 66 0.8191 0.8290 0.8387 0.8480 0.8571 0.8660 0.8746 0.8829 0.8910 0.8987 0.9062 Columns 67 through 77 0.9135 0.9204 0.9271 0.9335 0.9396 0.9454 0.9510 0.9563 0.9612 0.9659 0.9703 Columns 78 through 88 0.9744 0
12、.9782 0.9817 0.9849 0.9878 0.9904 0.9927 0.9946 0.9963 0.9977 0.9987 Columns 89 through 91 0.9995 0.9999 1.0000 yj = Columns 1 through 11 0.0000 0.0174 0.0349 0.0523 0.0697 0.0871 0.1045 0.1218 0.1391 0.1564 0.1736 Columns 12 through 22 0.1908 0.2079 0.2249 0.2419 0.2588 0.2756 0.2924 0.3090 0.3256
13、0.3420 0.3584 Columns 23 through 33 0.3746 0.3907 0.4067 0.4226 0.4384 0.4540 0.4695 0.4848 0.5000 0.5150 0.5299 Columns 34 through 44 0.5446 0.5592 0.5736 0.5878 0.6018 0.6157 0.6293 0.6428 0.6561 0.6691 0.6820 Columns 45 through 55 0.6946 0.7071 0.7193 0.7313 0.7431 0.7547 0.7660 0.7771 0.7880 0.7
14、986 0.8090 Columns 56 through 66 0.8191 0.8290 0.8386 0.8480 0.8571 0.8660 0.8746 0.8829 0.8910 0.8988 0.9063 Columns 67 through 77 0.9135 0.9205 0.9272 0.9336 0.9397 0.9455 0.9510 0.9563 0.9612 0.9659 0.9703 Columns 78 through 88 0.9743 0.9781 0.9816 0.9848 0.9877 0.9902 0.9925 0.9945 0.9962 0.9975
15、 0.9986 Columns 89 through 91 0.9994 0.9998 1.0000 通过比较,两种方法得到的结果近似相等。 B(正切值算法: x=0:pi/12:5*pi/12; y=0 0.2679 0.5774 1.0000 1.7320 3.7320; xi=0:pi/180:5*pi/12;%三次样条差值 yi=interp1(x,y,xi,spline) %五次多项式拟合 A=polyfit(x,y,5); yj=polyval(A,xi) 运行结果: yi = Columns 1 through 11 0 0.0184 0.0365 0.0545 0.0724 0
16、.0902 0.1079 0.1255 0.1431 0.1607 0.1784 Columns 12 through 22 0.1961 0.2138 0.2317 0.2497 0.2679 0.2863 0.3048 0.3236 0.3427 0.3620 0.3817 Columns 23 through 33 0.4017 0.4221 0.4429 0.4641 0.4858 0.5079 0.5305 0.5537 0.5774 0.6017 0.6266 Columns 34 through 44 0.6520 0.6780 0.7046 0.7317 0.7593 0.78
17、76 0.8163 0.8456 0.8754 0.9058 0.9367 Columns 45 through 55 0.9681 1.0000 1.0325 1.0658 1.1003 1.1364 1.1743 1.2145 1.2572 1.3028 1.3516 Columns 56 through 66 1.4041 1.4604 1.5211 1.5863 1.6565 1.7320 1.8131 1.9002 1.9936 2.0937 2.2008 Columns 67 through 76 2.3152 2.4374 2.5675 2.7060 2.8532 3.0095
18、3.1752 3.3506 3.5361 3.7320 yj = Columns 1 through 11 -0.0000 0.0235 0.0454 0.0658 0.0850 0.1032 0.1206 0.1375 0.1540 0.1701 0.1862 Columns 12 through 22 0.2022 0.2183 0.2345 0.2511 0.2679 0.2851 0.3028 0.3208 0.3394 0.3585 0.3781 Columns 23 through 33 0.3982 0.4188 0.4400 0.4616 0.4838 0.5065 0.529
19、7 0.5533 0.5774 0.6020 0.6270 Columns 34 through 44 0.6524 0.6783 0.7047 0.7315 0.7588 0.7867 0.8150 0.8440 0.8736 0.9039 0.9351 Columns 45 through 55 0.9670 1.0000 1.0341 1.0693 1.1060 1.1442 1.1841 1.2259 1.2699 1.3162 1.3652 Columns 56 through 66 1.4171 1.4723 1.5310 1.5935 1.6604 1.7320 1.8087 1
20、.8910 1.9793 2.0742 2.1762 Columns 67 through 76 2.2860 2.4040 2.5310 2.6677 2.8147 2.9727 3.1427 3.3253 3.5214 3.7320 通过比较知,角度较小时五次多项式算得的值较大,角度增大则两种方法得到的结果近似相等。 2)按表6.5用3次多项式方法插值计算1100之间整数的平方根。 (表6.5 1100内特殊值的平方根表 N 1 4 9 16 25 36 49 64 81 100 1 2 3 4 5 6 7 8 9 10 Nx=1 4 9 16 25 36 49 64 81 100; y=
21、1 2 3 4 5 6 7 8 9 10; xi=1:100; f=interp1(x,y,xi,cubic) 结果: f = Columns 1 through 11 1.0000 1.3729 1.7125 2.0000 2.2405 2.4551 2.6494 2.8292 3.0000 3.1636 3.3186 Columns 12 through 22 3.4661 3.6069 3.7422 3.8729 4.0000 4.1237 4.2435 4.3599 4.4730 4.5832 4.6907 Columns 23 through 33 4.7958 4.8988 5.0
22、000 5.0993 5.1966 5.2921 5.3857 5.4777 5.5681 5.6570 5.7446 Columns 34 through 44 5.8309 5.9160 6.0000 6.0829 6.1647 6.2454 6.3249 6.4035 6.4810 6.5577 6.6334 Columns 45 through 55 6.7082 6.7823 6.8556 6.9281 7.0000 7.0712 7.1416 7.2113 7.2804 7.3487 7.4164 Columns 56 through 66 7.4835 7.5500 7.6159
23、 7.6812 7.7459 7.8102 7.8739 7.9372 8.0000 8.0623 8.1242 Columns 67 through 77 8.1855 8.2464 8.3068 8.3668 8.4263 8.4854 8.5441 8.6024 8.6603 8.7178 8.7749 Columns 78 through 88 8.8317 8.8881 8.9442 9.0000 9.0555 9.1107 9.1655 9.2201 9.2744 9.3284 9.3821 Columns 89 through 99 9.4354 9.4884 9.5412 9.5935 9.6456 9.6973 9.7486 9.7996 9.8502 9.9005 9.9505 Column 100 10.0000