《计算方法上机实验报告(共3页).doc》由会员分享,可在线阅读,更多相关《计算方法上机实验报告(共3页).doc(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上计算方法上机实验报告1. 实验目的:学会用递推公式做题,学会使用matlab来编程学会对各种方案进行可行性分析。学习非线性方程 f(x) = 0 数值求根命令fzero,学习非线性方程组 F(X) = 0 数值求根命令fsolve。2. 实验课题内容:(1)【实验2-1】割线法( 见P24 (2-13)式 ) 设a,b为迭代初值,求两点(a,f(a) 与 (b,f(b) 的连线(割线)与 x 轴的交点记为 c再把迭代初值换成 b,c,重复计算. 【实验2-1】绘制的隐函数的图像3. 实验采用的集体算法 试验的matlab实验程序为【实验2-1】割线法( 见P24 (2
2、-13)式 )function mysecant f = inline (x-exp (-x); a = 0.4; b = 0.6; delta = eps; epsilon = eps; max1 = 30; c,err,iter,yc = secant (f,a,b,delta,epsilon,max1) % - function c,err,iter,yc = secant (f,a,b,delta,epsilon,max1) % c,err,iter,yc = secant (f,a,b,delta,epsilon,max1) % 输入: f 连续函数 % a,b 迭代初值 % del
3、ta,epsilon 容差 % max1 最大迭代次数% 输出: c 近似根 % err 误差 % iter 迭代次数 % yc = f (c) for k = 1:max1 ya = feval (f,a); % ya = f (a) yb = feval (f,b); c = a-ya*(a-b)/(ya-yb); % 割线与 x 轴交点的横坐标 err = abs (c-b); % 相邻两次迭代的误差 relerr = err/(abs (c)+eps); % 相对误差,eps 是matlab常数 (机器精度)约为1e-16 % 为什么分母要加上一个小常数? yc = feval (f,
4、c); if (errdelta) | (relerrdelta) | (abs (yc) c = 0.5671err = 1.2212e-015iter = 10yc = -1.1102e-016【实验2-2】绘制的隐函数的图像function implicit_function global p % 定义全局变量 n = 101;x = linspace (-5,5,101); y = zeros (1,n); % 定义矩阵,初值是零,这是最常用的定义矩阵的方法 y0 = -4.6; % 第一次迭代初值 for k = 1:n p =x(k) ; y (k) = fzero (fun,y0); y0 = -4.6; end plot (x,y,r) % 作图 title (隐函数的图像) % 加个标题 %- function z = fun (y) % 定义函数,这是最常用的定义函数的方式 global p x = p; z = y3/(2+0.1*sin (x*y)+x2-4*x;实验结果:实验体会:这些题目都不是很难,只不过我们对MATLAB的不了解,感到无从下手,许多很简单的程序代码不会,对书本上很多基础知识掌握不彻底。通过这次实验我们了解到计算方法的一些算法,对基础知识更加了解了。专心-专注-专业