




免费预览已结束,剩余15页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西安交通大学 计算方法上机实验 班级:(xxx)姓名:(xxx) 学号:21116010041.按两种顺序计算y,哪个接近真值?Y = 1000 + + + + 用java 语言编写:public class Add public static void main(String args)double s=0,y=1000;for(double a=1001.0;a=1001.0;a-)s+=1.0/a; s=s+1000;System.out.println(正序和+s);System.out.println(逆序和+y);运行结果:结论:显然假设是double类型的数据时,先算大数的过程吃掉了末尾的小数被进位所埋没,导致了大数吃小数的误差,按从小到大(从右向左)的计算顺序所得的结果与真值相近,而按从大到小(从左到右)的计算顺序所得的结果与真值的误差较大。1-18.设(x) = 1 + x + + + + , 计算(-5)和1/(5),哪个接近 ?解法一: 用JAVA 语言编写:public class second public static void main(String args) double s1=1 ,s2=1; double e=1,sum=1; /e的初值为1,sum用来存放n! int a=1; while(sumMath.pow(10, 1000000) sum=a*sum; e=1.0/sum+e; a+; double b=1.0/(e*e*e*e*e); System.out.println(较为精确的值1/e5=+b); for(int i=1;i=1;i-)xi=xi*(5.0/i);return xi; public static double cimi2(int ai)double xi=1;for(int i=ai;i=1;i-)xi=xi*(-5.0/i);return xi; 运行结果:解法二:用matlab编程并运行,如下:(1) 计算(-5) 运行结果如下:(2) 计算1/(5)运行结果如下:而的真是结果为0.006737946 比较得1/(5)的计算结果与真实值更接近解法三:也可以用C+编写:#include stdafx.h#includestdio.h#include iostreamusing namespace std;int main(int argc, char* argv) int func1(int ); double func2(int);double y=0;int i;for(i=1;i25;i+) int z=func1(i);double e=func2(i);y+=z/e;cout-endl; cout1/S(5)的运算结果是: 1.0/(y+1)endl; cout-endl;return 0;int func1(int x) int y=1; int k; for (k=0;kx;k+) y*=5; return y;double func2(int n) double y=1; int j; for (j=1;j=n;j+) y*=j; return y;运行结果如下图:结论:通过比较上述的几种编程结果,可以看出1/S(5),更接近真实值,而且用matlab更为简便,可以直接利用函数库,并可以轻松的嵌入秦九韶算法,大大减少运算量和时间。1. 已知方程组 + + = + + = + + = 的真解 = = = 1,且令a = ,b = ,c = ,d = 时利用克莱姆法则可将真解表示为G = 0.45a - - 0.1125 = (0.2a 0.0625)b + (0.25a 0.1)c + (0.125 - )d/G = -(0.1 0.25a)b + ( - 0.2)c + (0.25 0.5a)d/G = (0.125 - )b + (0.5a 0.25)c +(a 0.25)d/G试将a,b,c,d依次取26位近似有效数,分别计算, 。解:用matlab编程如下: 将a,b,c,d依次取26位近似有效数取2位有效近似有效数取3位有效近似有效数取4位有效近似有效数取5位有效近似有效数取6位有效近似有效数结论:随着所选取的近似有效位越多,计算的结果越接近真解 2. 将选主元和不选主元高斯消去法编程程序。解方程组: + = 7 + + = 15 + 6 + = 15 + 6 + = 15 + 6 + = 156 + = 14并且比较将结果与真实值比较。public class daI /* * param args */public static void main(String args) / TODO Auto-generated method stubdouble a;double x;double L;double c = 0.0, sum = 0.0;a = new double8586;x = new double85;L=new double86;for (int i = 1; i 85; i+) for (int j = 1; j 86; j+) aij = 0;a11 = 6;a12 = 1;a8483 = 8;a8484 = 6;a185 = 7;a8485 = 14;for (int i = 2; i 84; i+) aii = 6;aii + 1 = 1;aii - 1 = 8;ai85 = 15;for (int k = 1; k 84; k+) for (int i = k + 1; i 85; i+) c = aik / akk;for (int j = k + 1; j 0; k-) for (int j = k + 1; j 85; j+) sum = sum + akj * xj;xk = (ak85 - sum) / akk; sum=0.0;for (int i = 1; i 85; i+) System.out.println(x + i + = + xi);运行如下:解:将不选主元法用matlab编程如下:将选主元法用matlab编程如下: 输入系数阵A和常数项b,计算得方程组的结果为 x=1,1,1,1,1,1,1,1,1.。用methematican 语言实现选主元过程及其结果如下:结论:通过选主元与不选主元计算出的结果与真实结果比较,得出:用选主元得到的结果与真实值相近,原因是用选主元的方法可以避免在计算时出现小除数的现象,从而避免了病态问题的出现。所以用选主元法比不选主元法计算出的结果准确。3. 已知函数f(x) = 1/(1+),x1,节点 = -1+0.2i(i = 0 10)。(1) 计算f(x)和拉格朗日插值多项式(x)的值,=-1+0.05k(k=040).(2) 求三次自然插值样条函数S(x)的M表示中(i=0),计算S(x),x=-1+0.05k, k=040.(3) 画出y=f(x),y=(x),y=S(x)的图形。解:(1)用mathematica语言进行编程,方便作图: 计算f(x)和(x):(2) 三次自然插值样条函数S(x),用mathemat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版语文七年级上册第6课《散步》听评课记录2
- 部编版语文七年级上册第6课《散步》听评课记录1
- 2025-2030中国盐酸消旋山莨菪碱注射液行业运行形势及需求趋势预测报告
- 人教版七年级语文上册《散步》听评课记录
- 沪教版化学九年级下册《第2节 溶液组成的表示》听评课记录2
- 建设工程造价咨询合同协议书范本
- 民警消防安全知识培训课件
- DBJ15-51-2020 广东省公共建筑节能设计标准
- 培智教材男女课件
- 培智公开课课件
- 龙虎山正一日诵早晚课
- 微积分的力量
- 中国股票市场投资实务(山东联盟)知到章节答案智慧树2023年山东工商学院
- 安徽宇邦新型材料有限公司年产光伏焊带2000吨生产项目环境影响报告表
- 号线项目tcms便携式测试单元ptu软件使用说明
- 艺术课程标准(2022年版)
- 癫痫所致精神障碍
- 卫生部手术分级目录(2023年1月份修订)
- 电荷及其守恒定律、库仑定律巩固练习
- YY 0666-2008针尖锋利度和强度试验方法
- GB/T 6663.1-2007直热式负温度系数热敏电阻器第1部分:总规范
评论
0/150
提交评论