请任选其中一道,用c,c++,fortran或matlab实现算法(可以.ppt
文本预览下载声明
* 课程大作业: 下面三道题涉及数值代数,数值逼近,微分方程求解三个方面,请任选其中一道,用C,C++,Fortran或Matlab实现算法(可以与Matlab函数的结果比较,但不能仅仅调用Matlab函数求解),并完成报告。报告包括: 1,实验内容, 2,背景知识介绍, 3,代码, 4,结果(表格或图形), 5,结果分析, 6,计算过程碰到的问题,解决办法及收获或体会。 也可根据个人需要增删以上内容,详见电子模板。 完成后交(1)代码和电子版报告;(2)打印版电子报告。 一,求解矩形域上的Poisson方程,产生如下的系数矩阵: 用下面的方法求解方程 其中右端项b的选取使得真实解全为1. 1)选主元的Gauss消去法; 2)Cholesky方法( 用下面任何一种:gaxpy Cholesky,outer-product Cholesky,分块点积的Cholesky分解); 3)经典迭代法(包括Jacobi,G-S,SOR三种) 4)共轭斜量法(CG); 5)分块循环约化法(选做,参考 G. H. Golub, C. F. Van Loan, Matrix Computations, 3rd ed., Johns Hopkins University Press, Baltimore and London, 1996. 有中文版,p.202 ); 6)其他的求解方法(选做)。 阐述以上各种方法的特点,特别是各自适宜求解何类问题,以及各自的局限性。比较各方法的求解效率:如计算量,内存需求等。 二,下面是某杂志价格(欧元)的变化: 试用下面的插值或拟合方法估计2002年11月的价格,即上表中x=180时的值。 Lagrange插值; 2)Newton插值; 3)三次样条插值(三弯矩或三转角方法,三种边界条件任取一种); 4)最小二乘拟合(线性拟合或多项式拟合) 5)三次Hermite插值(选做)。 6)其他插值或拟合方法求解(选做)。 8 8 7.5 7 6.5 6 5 4.5 Nov. 00 Nov. 96 Jan. 96 Jan. 95 Jan. 93 Nov. 90 Dec. 88 Nov. 87 ? 8 8 7.5 7 6.5 6 5 4.5 180 157 109 99 87 63 37 14 1 这些数据按月统计如下: 三,分别用下面八种方法:显式的Euler公式,后退的Euler公式,梯 形 公 式,Euler两步公式,改进的Euler公式,四阶Runge-Kutta公式,显式和隐式Adams公式,求解下面的初值问题: 取步长 h=0.1,求x=1处的值。并比较各种方法的优劣(精度,计算量)。亦可用其他方法求解。 显式的Euler公式 后退的Euler公式 梯形公式 Euler两步公式 改进的Euler公式 四阶Runge-Kutta Adams-Bashforth Adams-Moulton *
显示全部