计算方法上机题目

合集下载

计算机应用基础上机操作题

计算机应用基础上机操作题

计算机应用基础上机操作题计算机应用基础上机操作题一:题目一:计算器操作1. 题目描述:使用计算器完成以下计算操作。

2. 操作步骤:a. 打开计算器程序。

b. 在计算器界面输入第一个数字。

c. 选择要进行的计算操作(加法、减法、乘法、除法)。

d. 输入第二个数字。

e. 等号按钮进行计算。

f. 观察计算结果并记录。

3. 操作要点:注意输入数字的格式,确认操作符选择正确。

4. 题目要求:完成加法、减法、乘法和除法的计算,记录每次计算的结果。

二:题目二:文件操作1. 题目描述:在计算机中创建、编辑和保存文件。

2. 操作步骤:a. 打开“我的电脑”或“文件资源管理器”。

b. 在指定位置创建一个新的文件夹。

c. 进入新创建的文件夹,并在其中创建一个新的文本文件。

d. 打开文本文件编辑器,如记事本。

e. 在文本文件中输入一段文字,并保存文件。

f. 关闭文件编辑器,返回文件夹窗口。

g. 复制该文件到其他位置。

h. 删除原始文件。

3. 操作要点:注意选择合适的文件夹位置,确保文件能够正常保存和复制。

4. 题目要求:创建和编辑一个文本文件,并成功复制和删除该文件。

三:题目三:网络浏览操作1. 题目描述:使用浏览器访问指定网站并进行常见操作。

2. 操作步骤:a. 打开浏览器程序。

b. 在地址栏中输入指定网站的URL(统一资源定位符)。

c. 等待网站加载完毕,浏览网页内容。

d. 在搜索栏中输入关键词进行搜索。

e. 搜索结果中的访问页面。

f. 返回上一级页面。

g. 清除搜索栏中的内容。

h. 在浏览器中打开一个新标签页。

i. 关闭浏览器程序。

3. 操作要点:注意输入正确的URL,了解搜索和导航功能的使用。

4. 题目要求:成功访问指定网站,进行搜索和导航操作。

附件:1. 无。

法律名词及注释:1. URL:统一资源定位符(Uniform Resource Locator),是互联网上标识资源位置的一种标准。

(完整版)数值计算方法上机实习题答案

(完整版)数值计算方法上机实习题答案

(完整版)数值计算⽅法上机实习题答案1.设?+=105dx xx I nn ,(1)由递推公式nI I n n 151+-=-,从0I 的⼏个近似值出发,计算20I ;解:易得:0I =ln6-ln5=0.1823, 程序为:I=0.182; for n=1:20I=(-5)*I+1/n; end I输出结果为:20I = -3.0666e+010 (2)粗糙估计20I ,⽤nI I n n 515111+-=--,计算0I ;因为 0095.056 0079.01020201020≈<<≈??dx x I dx x 所以取0087.0)0095.00079.0(2120=+=I 程序为:I=0.0087; for n=1:20I=(-1/5)*I+1/(5*n); end I0I = 0.0083(3)分析结果的可靠性及产⽣此现象的原因(重点分析原因)。

⾸先分析两种递推式的误差;设第⼀递推式中开始时的误差为000I I E '-=,递推过程的舍⼊误差不计。

并记nn n I I E '-=,则有01)5(5E E E n n n -==-=-Λ。

因为=20E 20020)5(I E >>-,所此递推式不可靠。

⽽在第⼆种递推式中n n E E E )51(5110-==-=Λ,误差在缩⼩,所以此递推式是可靠的。

出现以上运⾏结果的主要原因是在构造递推式过程中,考虑误差是否得到控制,即算法是否数值稳定。

2.求⽅程0210=-+x e x的近似根,要求41105-+?<-k k x x ,并⽐较计算量。

(1)在[0,1]上⽤⼆分法;程序:a=0;b=1.0;while abs(b-a)>5*1e-4 c=(b+a)/2;if exp(c)+10*c-2>0 b=c; else a=c; end end c结果:c =0.0903(2)取初值00=x ,并⽤迭代1021x k e x -=+;程序:x=0; a=1;while abs(x-a)>5*1e-4 a=x;x=(2-exp(x))/10; end x结果:x =0.0905(3)加速迭代的结果;程序:x=0; a=0;b=1;while abs(b-a)>5*1e-4 a=x;y=exp(x)+10*x-2; z=exp(y)+10*y-2;x=x-(y-x)^2/(z-2*y+x); b=x; end x结果:x =0.0995(4)取初值00=x ,并⽤⽜顿迭代法;程序:x=0; a=0;b=1;while abs(b-a)>5*1e-4 a=x;x=x-(exp(x)+10*x-2)/(exp(x)+10); b=x; end x结果: x =0.0905(5)分析绝对误差。

计算方法大作业1 克服Runge现象

计算方法大作业1  克服Runge现象

x3
x2
x
1
S1 ( x)
-0.34685
0.2086
0.073964
0.038462
S2 (x)
S (xi 0 ) S x(i 0 )

S
'
(xi

0) S
xi' (
0 )i

S
'
'
x(i

0)S
xi' ' (
0)
1 ,n2, . . . , 1
(1)
这里共有了 3n-3 个条件,再加上条件(2)中的 n+1 个插值条件,共有 4n-2 个条件,
因此还需要 2 个方程才能确定 S (x) .通常可在区间[a, b]的端点 a x0,b xn 上各加一个边

dn1

1
2


Mn


dn

(6)
2 1


2
2
2
1 M1 d1

M2


d2




n 1
2
n
1


M
n
1

dn1
n
n 2 M n dn
由式(1)内点拼接条件,可得
i M i1 2M i i M i1 d j i 1, 2,..., n 1
(3) (4)
其中
i

hi 1 hi1
, hi

i

hi hi 1

最新Excel-上机题(答案)

最新Excel-上机题(答案)

上机操作模拟试题:第一套三、Excel 2007上机题建立lx_1.xlsx工作簿文件,并在Sheet1工作表A1开始的单元格区域中录入如下数据。

按照下列要求完成相关的编辑操作:(1)在Sheet1工作表中的A2:A11单元格区域中依次输入员工卡号“01001、01002、01003、---、01010”,构造公式计算“培训部-管理、培训部-技术、培训部-技能”人数,并将计算结果依次放在C13、C14、C15单元格中。

步骤:公式→插入函数—或选择类别(统计)—COUNTIF→确定→函数参数Range: 选定单元格(A2:?)Criteia: 选定要计算的锁定(A2:?)按F4(2)填充Sheet1工作表中“书报费”列的数据。

职称为“高级讲师”的员工书报费200元;职称为“讲师”的员工书报费为150元;职称为“初级讲师”的员工书报费为100元;计算每位员工的“补助合计”(补助合计=课时费+书报费)。

(3)将Sheet1工作表A1:I11单元格区域中的数据,复制到Sheet2工作表A1单元格开始的区域中;在Sheet2工作表中,使用高级筛选,查找年龄在50岁及以下的高级讲师的人员信息(条件区域放置在E13开始的单元格区域),并把筛选结果放在A16开始的单元格区域中。

条件:步骤:数据→高级年龄职称<=50 高级讲师4)将Sheet1工作表A1:I11单元格区域中的数据,复制到Sheet3工作表A2单元格开始的区域中;对Sheet3工作表中的数据,按“部门”的升序、“补助合计”的降序进行排序。

步骤:数据→选定单元格→排序(5)对Sheet3工作表中的数据,按“部门”进行分类汇总,分别计算课时费、书报费及补助合计的汇总值,汇总结果显示在数据的下方。

步骤:数据→选定单元格→分类汇总→分类字段(部门)—选定汇总项—汇总结果显示在数据下方(勾选)(6)在Sheet3工作表之后插入一张新的工作表,并将对Sheet3工作表数据(A2:I16)复制至对Sheet4工作表A2开始的单元格区域,将Sheet4工作表中的数据设置为华文楷体,16磅,依次合并A8:F8、A11:F11、A15:F15、A16:F16,合并后的单元格数据居中对齐;将工作表的行与列调整到最适合的行高与列宽;并按样张样式为表格设置框线及底纹效果。

西安交大计算方法上机报告

西安交大计算方法上机报告

从而得到计算的公式:
j 1, 2,..., n 1 j 1 j l i1 i 2,3,..., n i1 11 i 1 lik ukj j i , i 1,..., n, i 2,3,.., n ij ij k 1 i 1 1 l ( lkt ti ) k i 1,..., n, i 2,3,.., n ki ki t 1 ii
计算方法 上机实习题目报告
班级:材料 s3076 班 姓名:丁明帅 学号:3113305029
1:计算 S
100000

k 1
1 ,要求误差小于 106 ,给出实现算法。 k2
【实现思路】
设当 k 值为 i 时 S-Si<10-6,则只需要
S Si

100000 1
k i
1
2
1 l32 ln 2 1 ln 3 1
4 / 46
12 22
1n 2 n

nn
因此有
1 j 2 j 0 jj 0 0
ij li1
li 2
li ,i -1
根据定义知道 L 矩阵的斜对角线上的值都为 1,且 L 矩阵的第一行与原矩阵 A 的第一行 相同,因此可以根据公式先计算 U 的第一行,然后计算 L 的第一列;以后的第 i 步先计算 U 的第 i 行, 然后计算 L 的第 i 列 (U 的第 n 行不作计算) 。 然后把最后的 U 的第 n 行计算出来。
【算法依据】
列主元高斯消元法的过程可以将方程组系数简化为系数矩阵与 b 矩阵, 从而利用方程组 对系数扩展矩阵进行消元。 在消元的过程中矩阵的行向量之间可以变换, 但列向量不能变化。 在进行压缩矩阵的求解中还需要人为的将因调整行向量所导致的列向量的变化调整回来。 Matlab 对于矩阵的处理非常容易,结合 for 循环语句可以实验本题大规模方程组的求解。

计算方法上机题目

计算方法上机题目

目录1.计算方法A 上机作业 (1)上机练习目的 (1)上机练习任务 (1)计算方法A 上机题目 (1)程序设计要求 (1)上机报告要求 (1)2.QR 分解法求解线性方程组 (2)计算原理 (2)程序框图 (8)计算实习 (9)Matlab代码 (11)3.共轭梯度法求解线性方程组 (13)计算原理 (13)程序框图 (14)计算实习 (15)Matlab代码 (19)4.三次样条插值 (21)计算原理 (21)程序框图 (23)计算实习 (24)Matlab代码 (26)5.四阶龙格-库塔法求解常微分方程的初值问题 (30)计算原理 (30)程序框图 (31)计算实习 (32)Matlab代码 (33)1.计算方法A 上机作业上机练习目的❑ 复习和巩固数值计算方法的基本数学模型,全面掌握运用计算机进行数值计算的具体过程及相关问题。

❑ 利用计算机语言独立编写、调试数值计算方法程序,培养学生利用计算机和所学理论知识分析解决实际问题的能力。

上机练习任务•利用计算机语言编写并调试一系列数值方法计算通用程序,并能正确计算给定题目,掌握调试技能。

•掌握文件使用编程技能,如文件的各类操作,数据格式设计、通用程序运行过程中文件输入输出运行方式设计等。

•写出上机练习报告。

计算方法A 上机题目1. QR 分解方法求解线性方程组。

(第二章)2. 共轭梯度法求解线性方程组。

(第三章)3. 三次样条插值(第四章)4. 四阶龙格-库塔法求解常微分方程的初值问题程序设计要求1. 程序要通用的,在程序设计时要充分考虑哪些变量应该可变的。

2. 程序要求调试通过。

上机报告要求报告容包括:● 每种方法的算法原理及程序框图。

● 程序使用说明。

● 算例计算结果。

2. QR 分解法求解线性方程组计算原理当n x R ∈是任意给定的非零向量,n v R ∈是任意给定的单位向量,则存在初等反射阵2T H I uu =-,使得Hx v σ=,其中σ为常数,当取单位向量2x vu x vσσ-=-时,由u 确定的矩阵H 必定满足Hx v σ=,所以在计算过程中取u 的值为上述值。

西安交大 计算方法B上机作业

西安交大 计算方法B上机作业

计算方法(B )上机作业一、三次样条拟合某通信公司在一次施工中,需要在水面宽度为20米的河沟底部沿直线走向铺设一条沟底光缆。

在铺设光缆之前需要对沟底的地形进行初步探测,从而估计所需光缆的长度,为工程预算提供依据。

已探测到一组等分点位置的深度数据(单位:米)如下表所示:(1)(2)估算所需光缆长度的近似值,并作出铺设河底光缆的曲线图; 解:1、算法实现的思想及依据题目(1)为曲线拟合问题多项式插值、分段插值和最小二乘法。

多项式插值,随着插值数据点的数目增多,误差也会随之增大,因此不选用。

最小二乘法适于数据点较多的场合,在此也不适用。

故选用分段插值。

分段插值又分为分段线性插值、分段二次插值、三次样条插值及更高阶的多项式插值。

由本题的物理背景知,光缆正常工作时各点应该是平滑过渡,因此至少选用三次样条插值法。

对于更高阶的多项式插值,由于“龙格现象”而不选用。

题目(2)求光缆长度,即求拟合曲线在0到20的长度,对弧长进行积分即可。

光缆长度的第一型线积分表达式为190k kk l +==∑⎰。

2、算法实现的结构参考教材给出的SPLINEM 算法和TTS 算法,在选定边界条件和选定插值点等距分布后,可以先将数据点的二阶差商求出来并赋值给右端向量d ,再根据TSS 解法求解M 。

光缆长度的第一型线积分表达式为190k kk l +==∑⎰。

3、程序运行结果及分析图1.1三种边界条件下三次样条插值图1.2光缆长度4、MATLAB代码:1)自己编程实现代码clear;clc;I=input('你想使用第几种边界条件?请输入1、2、3之一: ');x=0:20;y=[9.01 8.96 7.96 7.97 8.02 9.05 10.13 11.18 12.26 13.28 13.32 12.61 11.29 10.22 9.15 7.90 7.95 8.86 9.81 10.8 10.93];plot(x,-y,'k.','markersize',15)%y为深度,取负号hold on%% 计算一阶差商y1=ones(1,21);for i=2:1:21y1(i)=(y(i)-y(i-1))/(x(i)-x(i-1));end%% 计算二阶差商y2=ones(1,21);for i=3:1:21y2(i)=(y1(i)-y1(i-1))/(x(i)-x(i-2));end%% 计算三阶差商y3=ones(1,21);for i=4:1:21y3(i)=(y2(i)-y2(i-1))/(x(i)-x(i-3));end%% 选择边界条件(I)if I==1d(1)=0;d(21)=0;a(21)=0;c(1)=0;% 第一个点和最后一个点的二阶差商为0 endif I==2d(1)=6*y1(1);d(21)=-6*y1(21);a(1)=1;c(1)=1;endif I==3d(1)=-12*y3(1);d(21)=-12*y3(21);a(21)=-2;c(1)=-2;%endfor i=2:20d(i)=6*y2(i+1);end%% 构造带状矩阵求解(追赶法)b=2*ones(1,21);a=0.5*ones(1,21);%a(21)=-2;c=0.5*ones(1,21);%c(1)=-2;u(1)=b(1);r(1)=c(1);%% 追yz(1)=d(1);for i=2:21l(i)=a(i)/u(i-1);u(i)=b(i)-l(i)*r(i-1);r(i)=c(i);yz(i)=d(i)-l(i)*yz(i-1);end%% 赶xg(21)=yz(21)/u(21);for i=20:-1:1xg(i)=(yz(i)-r(i)*xg(i+1))/u(i);endM=xg;%%所有点的二阶导数值%% 求函数表达式并积分t=1;h=1;N=1000x1=0:20/(N-1):20;length=0;for i=1:Nfor j=2:20if x1(i)<=x(j)t=j;break;elset=j+1;endendf1=x(t)-x1(i);f2=x1(i)-x(t-1);S(i)=(M(t-1)*f1^3/6/h+M(t)*f2^3/6/h+(y(t-1)-M(t-1)*h^2/6)*f1+(y(t)-M(t)*h^2/6)* f2)/h;Sp(i)=-M(t-1)*f1^2/2/h+M(t)*f2^2/2/h+(y(t)-y(t-1))/h-(M(t)-M(t-1))*h/6;length(i+1)=sqrt(1+Sp(i)^2)*(20/(N-1))+length(i);%第一类线积分endfigure(1);plot(x1,-S,'r-')%深度曲线griddisp(['第',num2str(I),'种边界条件下长度',num2str(length(N+1)),'米'])axis fill;xlabel('测点/米');ylabel('深度/米');title('三次样条曲线拟合');legend('数据点','拟合曲线',3);二、最小二乘近似假定某天的气温变化记录如下表所示,试用数据拟合的方法找出这一天的气温变化的规律;试计算这一天的平均气温,并试估计误差。

计算方法试题

计算方法试题

计算方法考试题(一) 满分70分一、选择题:(共3道小题,第1小题4分,第2、3小题3分,共10分) 1、将A 分解为U L D A --=,其中),,(2211nn a a a diag D =,若对角阵D非奇异(即),1,0n i a ii =≠,则b Ax =化为b D x U L D x 11)(--++=(1) 若记b D f U L D B 1111),(--=+= (2)则方程组(1)的迭代形式可写作)2,1,0(1)(1)1( =+=+k f x B x k k (3)则(2)、(3)称 【 】(A)、雅可比迭代。

(B)、高斯—塞德尔迭代 (C)、LU 分解 (D)、Cholesky 分解。

2、记*x x e k k -=,若0lim 1≠=+∞→c e e p k k k (其中p 为一正数)称序列}{k x 是 【 】(A)、p 阶收敛; (B)、1阶收敛; (C)、矩阵的算子范数; (D)、p 阶条件数。

3、牛顿切线法的迭代公式为 【 】(A)、)()(1k x f x f x x k k k '-=+ (B)、)()())((111--+---=k k k k k k k x f x f x x x f x x1)()()1()()()(x xf x f x f k i k i k i ∂∂+=+ (D)、)()()()1(k k k x f x x -=+ 二、填空题:(共2道小题,每个空格2分,共10分)1、设0)0(f =,16)1(f =,46)2(f =,则一阶差商,二阶差商=]1,2,0[f ,)x (f 的二次牛顿插值多项式为2、 用二分法求方程01x x )x (f 3=-+=在区间]1,0[内的根,进行第一步后根所在的区间为 ,进行第二步后根所在的区间为 。

三、计算题:(共7道小题,第1小题8分,其余每小题7分,共50分)1、表中各*x 都是对准确值x 进行四舍五入得到的近似值。

Java考试上机操作题

Java考试上机操作题

Java考试上机操作题题目一:数组求和给定一个整数数组,编写一个方法来计算数组中所有元素的总和。

输入一个整数数组。

输出返回数组中所有元素的总和。

示例输入:[1, 2, 3, 4, 5]输出:15代码实现public int sumArray(int[] nums) {int sum = 0;for (int num : nums) {sum += num;}return sum;}题目二:数组平均值给定一个整数数组,编写一个方法来计算数组中所有元素的平均值。

输入一个整数数组。

输出返回数组中所有元素的平均值。

示例输入:[1, 2, 3, 4, 5]输出:3.0代码实现public double averageArray(int[] nums) { int sum = 0;for (int num : nums) {sum += num;}return (double) sum / nums.length;}题目三:查找最大值给定一个整数数组,编写一个方法来查找数组中的最大值。

输入一个整数数组。

输出返回数组中的最大值。

示例输入:[1, 5, 2, 9, 4]输出:9代码实现public int findMax(int[] nums) {int max = Integer.MIN_VALUE;for (int num : nums) {if (num > max) {max = num;}}return max;}以上是三道Java考试上机操作题,分别涉及求和、求平均值和查找最大值的问题。

每道题目都附带了输入、输出示例和代码实现。

通过这些题目的解答,可以帮助考生加深对Java基本语法和数组操作的理解,并提升编程能力。

希望对你有帮助!。

(完整word版)数值分析上机作业1-1解析

(完整word版)数值分析上机作业1-1解析
问题提出:
考虑一个高次的代数多项式
(E1-1)
显然该多项式的全部根为l,2,…,20,共计20个,且每个根都是单重的(也称为简单的)。现考虑该多项式方程的一个扰动
(E1-2)
其中 是一个非常小的数。这相当于是对(E1-1)中 的系数作一个小的扰动。我们希望比较(E1-1)和(E1-2)根的差别,从而分析方程(E1-1)的解对扰动的敏感性。
ve=zeros(1,21);
ve(21-Numb)=ess;
root=roots(poly(1:20)+ve);
x0=real(root); y0=imag(root);
plot(x0',y0','*');
disp(['对扰动项 ',num2str(Numb),'加扰动',num2str(ess),'得到的全部根为:']);
ess分别为1e-6,1e-8.1e-10,1e-12的图像如下:
从实验的图形中可以看出,当ess充分小时,方程E.1.1和方程E.1.2的解相差很小,当ess逐渐增大时,方程的解就出现了病态解,这些解都呈现复共轭性质。
(2)将扰动项加到x18上后,ess=1e-009时方程的解都比较准确,没有出现复共轭现象。ess=1e-008时误差与x19(ess=1e-009)时相当,即扰动加到x18上比加到x19小一个数量级。对x8的扰动ess=1000时没有出现复共轭,误差很小;对x的扰动ess=10e10时没有出现复共轭,误差很小。因此,扰动作用到xn上时,n越小,扰动引起的误差越小。
if((Numb>20)|(Numb<0))errordlg('请输入正确的扰动项:[0 20]之间的整数!');return;end

计算方法考试题及其答案

计算方法考试题及其答案

计算方法考试题及其答案题目一:1. 计算以下方程的实根个数:3x^2 - 5x + 2 = 0解答一:首先,我们需要判断方程的判别式是否大于0。

判别式 D = b^2 - 4ac,其中 a、b、c 分别为方程中各项的系数。

对于方程 3x^2 - 5x + 2 = 0,a = 3,b = -5,c = 2。

将这些值代入判别式公式得到 D = (-5)^2 - 4 * 3 * 2 = 25 - 24 = 1。

由于判别式大于0,根据二次方程解的性质可知,该方程有两个不相等的实根。

题目二:2. 求下列函数的导数:f(x) = sin(2x) + 3x^2 - 2x解答二:对于这个函数,我们需要分别求出各项的导数,然后将其相加。

f'(x) = (sin(2x))' + (3x^2)' - (2x)'对于第一项,根据链式求导法则,其导数为 cos(2x) * (2x)' =2cos(2x)。

对于第二项,使用幂函数求导法则,其导数为 3 * 2x^(2-1) = 6x。

对于第三项,一次项的导数为常数系数,即 -2。

将上述导数相加,得到 f'(x) = 2cos(2x) + 6x - 2。

题目三:3. 某公司年利润为 100 万元,假设每年增长 10%,那么经过 n 年后公司的利润是多少?解答三:假设 n 年后公司的利润为 P(万元)。

根据题意可知,公司每年的利润增长率为 10%,也即每年的利润增加量为当前利润的 10%。

因此,我们可以得到以下关系式:P = 100 + 0.1 * 100 + 0.1^2 * 100 + ... + 0.1^n * 100这是一个等比数列求和的问题,我们可以使用等比数列求和公式来解决:P = 100 * [(1 - 0.1^(n+1)) / (1 - 0.1)]简化上述公式后可得 P = 1000 * (1 - 0.1^(n+1)) / (1 - 0.1)。

复化梯形公式和复化Simpson公式

复化梯形公式和复化Simpson公式

数值计算方法上机题目3一、计算定积分的近似值:221x e xe dx =⎰ 要求:(1)若用复化梯形公式和复化Simpson 公式计算,要求误差限71021-⨯=ε,分别利用他们的余项估计对每种算法做出步长的事前估计;(2)分别利用复化梯形公式和复化Simpson 公式计算定积分;(3)将计算结果与精确解比较,并比较两种算法的计算量。

1.复化梯形公式程序:程序1(求f (x )的n 阶导数:syms xf=x*exp(x) %定义函数f (x )n=input('输入所求导数阶数:')f2=diff(f,x,n) %求f(x)的n 阶导数结果1输入n=2f2 =2*exp(x) + x*exp(x)程序2:clcclearsyms x%定义自变量xf=inline('x*exp(x)','x') %定义函数f(x)=x*exp(x),换函数时只需换该函数表达式即可f2=inline('(2*exp(x) + x*exp(x))','x') %定义f(x)的二阶导数,输入程序1里求出的f2即可。

f3='-(2*exp(x) + x*exp(x))'%因fminbnd()函数求的是表达式的最小值,且要求表达式带引号,故取负号,以便求最大值e=5*10^(-8) %精度要求值a=1 %积分下限b=2 %积分上限x1=fminbnd(f3,1,2) %求负的二阶导数的最小值点,也就是求二阶导数的最大值点对应的x值for n=2:1000000 %求等分数nRn=-(b-a)/12*((b-a)/n)^2*f2(x1) %计算余项if abs(Rn)<e %用余项进行判断break% 符合要求时结束endendh=(b-a)/n %求hTn1=0for k=1:n-1 %求连加和xk=a+k*hTn1=Tn1+f(xk)endTn=h/2*((f(a)+2*Tn1+f(b)))z=exp(2)R=Tn-z %求已知值与计算值的差fprintf('用复化梯形算法计算的结果 Tn=')disp(Tn)fprintf('等分数 n=')disp(n) %输出等分数fprintf('已知值与计算值的误差 R=')disp(R)输出结果显示:用复化梯形算法计算的结果 Tn= 7.3891等分数 n=7019已知值与计算值的误差 R= 2.8300e-0082. Simpson公式程序:程序1:(求f(x)的n阶导数):syms xf=x*exp(x) %定义函数f(x)n=input('输入所求导数阶数:')f2=diff(f,x,n) %求f(x)的n阶导数结果1输入n=4f2 =4*exp(x) + x*exp(x)程序2:clcclearsyms x%定义自变量xf=inline('x*exp(x)','x') %定义函数f(x)=x*exp(x),换函数时只需换该函数表达式即可f2=inline('(4*exp(x) + x*exp(x))','x') %定义f(x)的四阶导数,输入程序1里求出的f2即可f3='-(4*exp(x) + x*exp(x))'%因fminbnd()函数求的是表达式的最小值,且要求表达式带引号,故取负号,一边求最大值e=5*10^(-8) %精度要求值a=1 %积分下限b=2 %积分上限x1=fminbnd(f3,1,2) %求负的四阶导数的最小值点,也就是求四阶导数的最大值点对应的x值for n=2:1000000 %求等分数nRn=-(b-a)/180*((b-a)/(2*n))^4*f2(x1) %计算余项if abs(Rn)<e %用余项进行判断break% 符合要求时结束endendh=(b-a)/n %求hSn1=0Sn2=0for k=0:n-1 %求两组连加和xk=a+k*hxk1=xk+h/2Sn1=Sn1+f(xk1)Sn2=Sn2+f(xk)endSn=h/6*(f(a)+4*Sn1+2*(Sn2-f(a))+f(b)) %因Sn2多加了k=0时的值,故减去f(a)z=exp(2)R=Sn-z %求已知值与计算值的差fprintf('用Simpson公式计算的结果 Sn=')disp(Sn)fprintf('等分数 n=')disp(n)fprintf('已知值与计算值的误差 R=')disp(R)输出结果显示:用Simpson公式计算的结果 Sn= 7.3891等分数 n=24已知值与计算值的误差 R= 2.7284e-008用复化梯形公式计算的结果为:7.3891,与精确解的误差为:2.8300e-008。

东南大学数值分析上机

东南大学数值分析上机

第一章一、题目设∑=-=Nj N j S 2211,其精确值为)11123(21+--N N 。

(1)编制按从大到小的顺序11131121222-+⋯⋯+-+-=N S N ,计算SN 的通用程序。

(2)编制按从小到大的顺序1211)1(111222-+⋯⋯+--+-=N N S N ,计算SN 的通用程序。

(3)按两种顺序分别计算64210,10,10S S S ,并指出有效位数。

(编制程序时用单精度) (4)通过本次上机题,你明白了什么? 二、MATLAB 程序N=input('请输入N(N>1):');AccurateValue=single((0-1/(N+1)-1/N+3/2)/2); %single 使其为单精度 Sn1=single(0); %从小到大的顺序 for a=2:N; Sn1=Sn1+1/(a^2-1); endSn2=single(0); %从大到小的顺序 for a=2:N; Sn2=Sn2+1/((N-a+2)^2-1); endfprintf('Sn 的值 (N=%d)\n',N);disp('____________________________________________________') fprintf('精确值 %f\n',AccurateValue); fprintf('从大到小计算的结果 %f\n',Sn1); fprintf('从小到大计算的结果 %f\n',Sn2);disp('____________________________________________________')三、结果请输入N(N>1):100Sn的值(N=100)____________________________________________________精确值0.740049从大到小计算的结果0.740049从小到大计算的结果0.740050____________________________________________________请输入N(N>1):10000Sn的值(N=10000)____________________________________________________精确值0.749900从大到小计算的结果0.749852从小到大计算的结果0.749900____________________________________________________请输入N(N>1):1000000Sn的值(N=1000000)____________________________________________________精确值0.749999从大到小计算的结果0.749852从小到大计算的结果0.749999____________________________________________________四、结果分析可以得出,算法对误差的传播又一定的影响,在计算时选一种好的算法可以使结果更为精确。

上机题目--多段绝热床的计算

上机题目--多段绝热床的计算

w1 FA0
XA T k 1/k(1- XA)
0.3067
0
0.3067 1 1 dx A 22.09 dx A 0 rA k 1 x A
0 770.4 1.003 0.997
0.05 779 1.124
0.10 787.6 1.257
0.15 796 1.40 0.84
0.20 804.7 1.558
0.50 803.6 1.537 1.310
0.55 812.1 1.705 1.303
0.60 81 1.333
dxA 0.3067 k (1 xA ) 0.4429
故有:w2=22.09×0.4429=9.782 Kg
第三段T=770.4+171.5(XA-0.6134) k=3.08×104exp(-7960/T)
0.25 813.3 1.729
0.30 821.9 1.915
0.3067 823 1.941
0.9365 0.8839
0.8032 0.7711 0.7459 0.7431
图解(或辛普森) 积分求得:

0.3067
0
dxA 0.2799 k (1 xA )
因此,w1=22.09×0.2799=6.184 Kg
第二段T=770.4+171.5(xA-0.3067) k=3.08×104exp(-7960/T)
XA T k 1/k(1- XA)
0.613
0.3067 770.4 1.003 1.438
0.35 777.8 1.107 1.389
0.40 786.8 1.238 1.247
0.45 794.9 1.378 1.318

计算方法第一次上机报告

计算方法第一次上机报告
第3题考查的是线性代数方程组的矩阵三角分解法,分别是LU分解和LDLT分解
2.2 概要设计
2.3 详细设计(二合一)
第1题用牛顿迭代法,先判断f’(x)是否收敛,从x=0开始 ,利用公式不断迭代,直至Xk+1-Xk的值小于0.000001,才停止。并输出所有的迭代值
第2-1题用雅可比迭代法时,由于
公式中,Xj迭代的次数是k次,所以需要用一个额外的数组来保存之前第k次迭代结果,我用了x[6][N]={ 0 },来存放那个数组,通过控制每个Xk+1次迭代与Xk次迭代差<=0.001控制循环次数,当每个差都同时<=0.001,循环停止,迭代结束
return true;
else return false;
}
double diedai(double H)
{
return (pow(n*Q / pow(S, 0.5)*pow(B + 2 * H, 2 / 3), 0.6) / B);
}
int main()
{
double H;
for (double h = 0; h <= 100; h = h + 0.5)
#include<iostream>
#include<iomanip>
#include<math.h>
#define n 0.03
#define B 20
#define S 0.0002
#define Q 5
using namespace std;
bool shoulian(double H)
{
if (0.8 / B*pow(n*Q / pow(S, 0.5) / (B + 2 * H), 0.6) < 1)

计算方法上机作业

计算方法上机作业

计算方法上机作业作为一位学生,我经常需要完成各种数学计算。

无论是简单的加减乘除还是复杂的代数方程和数列求和,计算是我非常重要的一项能力。

然而,为了提高我的计算能力,我仍然需要不断的练习和实践。

下面是我在计算方法上机作业中遇到的一些题目,并附上了详细的解答过程。

1.求解方程组:{2x-3y=5{3x+4y=7解答:首先,我们可以通过消元法或代入法求解这个方程组。

这里我们选择代入法。

由第一个方程得:2x=3y+5将上式代入第二个方程中得:3(3y+5)+4y=7化简得:9y+15+4y=7继续化简:13y=-8得到:y=-8/13将y的值代入第一个方程得:2x-3(-8/13)=5化简得:2x=5+24/13继续化简:2x=65/13-24/13得到:2x=41/13最后,得到:x=(41/13)/2=41/26所以,方程组的解为:x=41/26,y=-8/132.求解不等式:2x+3>5x-1解答:首先,我们将不等式移项得:2>5x-2x-1继续化简:2>3x-1再次移项:3>3x继续化简:1>x所以,不等式的解集为:x<13.求函数f(x)=2x^2+3x-1的极值点。

解答:首先,我们利用求导的方法求解极值点。

对函数f(x)求导得:f'(x)=4x+3然后,令f'(x)=0化简得:4x=-3最后,得到:x=-3/4将极值点x=-3/4代入原函数得:f(-3/4)=2(-3/4)^2+3(-3/4)-1化简得:f(-3/4)=9/8-9/4-1最后,得到:f(-3/4)=-11/8所以,函数f(x)=2x^2+3x-1的极值点为x=-3/4,对应的函数值为f(-3/4)=-11/8通过这些题目的解答,我不仅巩固了计算方法的知识,也提高了我的计算能力和解题技巧。

我会继续努力学习和练习,以便更好地掌握计算方法。

计算方法上机题目

计算方法上机题目

目录1.计算方法A 上机作业 (1)上机练习目的 (1)上机练习任务 (1)计算方法A 上机题目 (1)程序设计要求 (1)上机报告要求 (1)2.QR 分解法求解线性方程组 (2)计算原理 (2)程序框图 (7)计算实习 (8)Matlab代码 (8)3.共轭梯度法求解线性方程组 (10)计算原理 (10)程序框图 (11)计算实习 (12)Matlab代码 (12)4.三次样条插值 (14)计算原理 (14)程序框图 (16)计算实习 (17)Matlab代码 (17)5.四阶龙格-库塔法求解常微分方程的初值问题 (21)计算原理 (21)程序框图 (22)计算实习 (23)Matlab代码 (23)1.计算方法A 上机作业上机练习目的❑ 复习和巩固数值计算方法的基本数学模型,全面掌握运用计算机进行数值计算的具体过程及相关问题。

❑ 利用计算机语言独立编写、调试数值计算方法程序,培养学生利用计算机和所学理论知识分析解决实际问题的能力。

上机练习任务•利用计算机语言编写并调试一系列数值方法计算通用程序,并能正确计算给定题目,掌握调试技能。

•掌握文件使用编程技能,如文件的各类操作,数据格式设计、通用程序运行过程中文件输入输出运行方式设计等。

•写出上机练习报告。

计算方法A 上机题目1. QR 分解方法求解线性方程组。

(第二章)2. 共轭梯度法求解线性方程组。

(第三章)3. 三次样条插值(第四章)4. 四阶龙格-库塔法求解常微分方程的初值问题程序设计要求1. 程序要求是通用的,在程序设计时要充分考虑哪些变量应该可变的。

2. 程序要求调试通过。

上机报告要求报告内容包括:● 每种方法的算法原理及程序框图。

● 程序使用说明。

● 算例计算结果。

2. QR 分解法求解线性方程组计算原理当nx R∈是任意给定的非零向量,nv R∈是任意给定的单位向量,则存在初等反射阵2THI u u=-,使得H xvσ=,其中σ为常数,当取单位向量2x v ux vσσ-=-时,由u 确定的矩阵H 必定满足H xvσ=,所以在计算过程中取u 的值为上述值。

计算方法作业

计算方法作业

应用计算方法学院:自动化学院班级:硕1104班姓名:陈兆辉计算方法2班教师:张晓丹目录上机作业1 (3)上机作业2 (6)上机作业3 (10)上机作业4 (12)上机作业5 (17)上机作业6 (18)上机作业7 (19)上机作业11.分别用不动带你迭代法与Newton 法求解方程2x- ex +3=0的正根和负根解:(1)用不动点迭代法求方程的正根1)迭代公式:()231ln k P k P ++=,初值p0=1.02)程序:k=1;Tol=0.00001;p0=1.0;N=100;while k<=Np=log(2*p0+3);if abs(p-p0)<Tolbreak;endk=k+1;p0=p;enddisp(p);disp(k)3)显示结果:P= 1.9239K=11(2) 用不动点迭代法求解方程的负根1)迭代公式: 1(3)/2k p k p e +=-,初值p0=-1.02)程序:k=1;Tol=0.00001;p0=-1.0;N=100;while k<=Np=(exp(p0)-3)/2;if abs(p-p0)<Tolbreak;endk=k+1;p0=p;enddisp(p);disp(k)3)显示结果:P= -1.3734k=7(3)用牛顿法求方程的正根1)迭代公式:()1232k k p k k k p p e p p e +-+=--,初值p0=1.02)程序:k=1;Tol=0.00001;p0=1.0;N=100;while k<=Np=p0-(2*p0-exp(p0)+3)/(2-exp(p0));if abs(p-p0)<Tolbreak;endk=k+1;p0=p;enddisp(p);disp(k)3)显示结果:P=1.9239K=8(4)用牛顿法求解方程的负根1)迭代公式:()1232k k p k k k p p e p p e +-+=--,初值p0=-1.02)程序:k=1;Tol=0.00001;p0=-1.0;N=100;while k<=Np=p0-(2*p0-exp(p0)+3)/(2-exp(p0));if abs(p-p0)<Tolbreak;endk=k+1;p0=p;enddisp(p);disp(k)3)显示结果:P= -1.3734K= 44)结果分析:不动点迭代法是求解非线性方程的主要方法,其中牛顿法应用最广泛,它求解方程的单根时具有二阶收敛性,但是它要求较好的初始近似值,牛顿法比普通的迭代法收敛速度快,能较少的迭代达到理想的值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录1.计算方法A 上机作业 (1)上机练习目的 (1)上机练习任务 (1)计算方法A 上机题目 (1)程序设计要求 (1)上机报告要求 (1)2.QR 分解法求解线性方程组 (2)计算原理 (2)程序框图 (7)计算实习 (8)Matlab代码 (8)3.共轭梯度法求解线性方程组 (10)计算原理 (10)程序框图 (11)计算实习 (12)Matlab代码 (12)4.三次样条插值 (14)计算原理 (14)程序框图 (16)计算实习 (17)Matlab代码 (17)5.四阶龙格-库塔法求解常微分方程的初值问题 (21)计算原理 (21)程序框图 (22)计算实习 (23)Matlab代码 (23)1.计算方法A 上机作业上机练习目的❑ 复习和巩固数值计算方法的基本数学模型,全面掌握运用计算机进行数值计算的具体过程及相关问题。

❑ 利用计算机语言独立编写、调试数值计算方法程序,培养学生利用计算机和所学理论知识分析解决实际问题的能力。

上机练习任务•利用计算机语言编写并调试一系列数值方法计算通用程序,并能正确计算给定题目,掌握调试技能。

•掌握文件使用编程技能,如文件的各类操作,数据格式设计、通用程序运行过程中文件输入输出运行方式设计等。

•写出上机练习报告。

计算方法A 上机题目1. QR 分解方法求解线性方程组。

(第二章)2. 共轭梯度法求解线性方程组。

(第三章)3. 三次样条插值(第四章)4. 四阶龙格-库塔法求解常微分方程的初值问题程序设计要求1. 程序要求是通用的,在程序设计时要充分考虑哪些变量应该可变的。

2. 程序要求调试通过。

上机报告要求报告内容包括:● 每种方法的算法原理及程序框图。

● 程序使用说明。

● 算例计算结果。

2. QR 分解法求解线性方程组计算原理当nx R∈是任意给定的非零向量,nv R∈是任意给定的单位向量,则存在初等反射阵2THI u u=-,使得H xvσ=,其中σ为常数,当取单位向量2x v ux vσσ-=-时,由u 确定的矩阵H 必定满足H xvσ=,所以在计算过程中取u 的值为上述值。

设A 是一个()m n mn ⨯≥阶矩阵且它的列向量线性无关,则利用豪斯霍尔德变换可以把A 逐步化为上梯形矩阵,设()11121212221212,,,n nnm m m n a a a a a a A a a a a a a ⎛⎫⎪⎪== ⎪ ⎪⎝⎭具体变换过程如下:设()1,2,,i e in =是m 维单位坐标向量。

第1步 为把矩阵A 的第一列()01a 化为()1,0,,0Tσ,取()()011,1,0,,0Tmx a v e R===∈ (或取1ve =-),根据上式可得,取()()0111110121112a e u a e σωωσ-==-其中()()001211121111, a e a e ωσωσ=-=-()()()()01111111111120121111122, T TTTu ua a ωωωωωωασσωασσ====--令111111122TTm m H I u u I αωω-=-=-,用1H 左乘()0A 得,()()()()()()()()()()100001111211111123,,, =,,,,n nAH AH a H a H a e a a a σ==程序框图22i i i i i iTa e I u uσ--计算实习用豪斯霍尔德变换求方程组xA b = ,其中54756753941287886537810987756, 579119755368891089587877810105756759101052A b ⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦Matlab 代码 %使用说明:%需自己输入矩阵A 及b 的值%变量Q,R 分别为进行QR 分解后的结果 clear clc format long load('A 矩阵.mat') load('b 矩阵.mat')%调用函数qrhs 进行QR 分解 [Q,R]=qrhs(A); [~,n]=size(R);fprintf('您输入的矩阵阶数'); n y=Q'*b;%回代过程x(n,1)=y(n,1)/R(n,n); for i=n-1:-1:1 s=y(i,1);for j=i+1:ns=s-R(i,j)*x(j,1);endx(i,1)=s/R(i,i);endx被调用函数qrhsfunction[Q,R]=qrhs(A)format long[~,n]=size(A);Q=eye(n);for j=1:n-1B=norm(A(j:n,j));Y=zeros(n-j+1,1);Y(1,1)=-sign(A(1,j))*B;X=A(j:n,j);I=eye(n-j+1);N=I-(2/(norm(X-Y))^2)*(X-Y)*(X-Y)';H=[eye(j-1) zeros(j-1,n-j+1);zeros(n-j+1,j-1) N];A=H*A;Q=Q*H;endR=A;Q;R;end3. 共轭梯度法求解线性方程组计算原理当A 是n 阶对称正定矩阵,若*x 是二次函数()12T Tf x x A x b x=-的极小值点,则*x 是方程组A xb =的解,即()()n**x Rm in A x b fx fx ∈=⇔=共轭梯度法在形式上具有迭代法的特征,即给定初始向量(0)x ,由迭代格式()()()1k k k k xxdα+=+产生的迭代序列在无舍入误差的假定下,最多经过n 次迭代就能求得()f x 的最小点,也就是方程组A xb =的解。

共轭梯度法中关键的两点是,确定迭代格式中的搜索方向和最佳步长。

搜索方向()kd ,与前一次的搜索方向关于()1k d -关于矩阵A 共轭,即()()()1,0k k d A d+=,然后从点()k x出发,沿()k d方向求得()fx 的极小值点()1k x+,即()()()()()()0m in k k kk fx df x dααα≥+=+ 。

由此解得最佳步长k α和参数k β的表达式为()()()()()()()()1, k Tk k T k kkk Tk k Tk rdrA d d A ddA dαβ+==-共轭梯度法的计算公式为:()()()()()()()()()()()()()()()()()00011(1)11(1)r rr k k T k k k T k k k k k k k T k k k T k k k k k d b A x r d d A dx x d b A x rA d d A d dd ααββ++++++⎧==-⎪⎪=⎪⎪⎪=+⎪⎨=-⎪⎪⎪=-⎪⎪=+⎪⎩程序框图计算实习用共轭梯度法求解线性方程组xA b=,其中211121, 1210121A b --⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥--⎣⎦⎣⎦矩阵A 的阶数n 分别取为100,200,400,指出计算结果是否可靠。

Matlab 代码%使用说明:共轭梯度法求解Ax=b %命令行中输入矩阵A 及b %然后调用函数getd 进行计算%变量含义:n —方程阶数,x0—初始向量 %e —计算精度,r —残向量 clear clc format longn=input('请输入方程阶数n='); %输入矩阵阶数 A=zeros(n); b=zeros(n,1);A(1,1)=-2;A(1,2)=1;A(n,n-1)=1;A(n,n)=-2; b(1,1)=-1;b(n,1)=-1; for i=2:n-1;A(i,i)=-2;A(i,i-1)=1;A(i,i+1)=1; end; A;b; %生成对应阶数的矩阵A 和b x0=zeros(n,1); %生成初始向量 e=input('请输入计算精度e='); %输入计算精度 x=getd(A,b,x0,e); %调用函数getd 进行计算if n==100 %对x元素进行重新排列x=reshape(x,10,10)elseif n==200x=reshape(x,10,20)elsex=reshape(x,20,20)end被调用函数getdfunction x=getd(A,b,x0,e)% 矩阵A,b,初始向量x0,精度e n=size(A,1);% 获取矩阵A的阶数x=x0;%初始向量r=b-A*x;%残向量d=r;%搜索向量for k=0:(n-1)p=(r'*r)/(d'*A*d);x=x+p*d;r2=b-A*x;if ((norm(r2)<=e)||(k==n-1))x;break;endq=norm(r2)^2/norm(r)^2;d=r2+q*d;r=r2;end4.三次样条插值计算原理程序框图计算实习 给定函数21(x )(1x 1)115f x=-≤≤+ .取等距节点,构造三次样条插值10(x )S 。

Matlab 代码%使用说明:该程序解决的是三次样条插值中,第1,2类边界条件的问题 %各变量含义:a,b —插值区间左右端点 % n —插值节点数目 % p,q —左右端点导数值% A ,M ,d —用于求解AM=d 中,矩阵M 的值 % C —存放各区间内插值函数的系数矩阵% zglu —利用追赶法进行LU 分解,求解AM=d 的函数 clear clc format long%输入区间,计算插值节点 a=input('请输入区间左端点a='); b=input('请输入区间右端点b=');n=input('请输入插值节点数目(包括左右端点)n='); d=zeros(n,1);x=zeros(n,1);y=zeros(n,1);A=zeros(n); h=(b-a)/(n-1); fprintf('步长h=%d',h) for i=1:n x(i,:)= a+h*(i-1);y(i,:)=1/(1+25*(x(i,:))^2);%计算插值节点处的函数值 end%选择边界条件进行计算,并输入区间左右端点的导数值p ,q xz=input('请选择边界条件类型(1或2或3)xz='); fprintf('以第%d 类边界条件进行计算',xz);p=input('请输入区间左端边界条件p=');q=input('请输入区间右端边界条件q=');%计算矩阵A及矩阵dif xz==1A(1,1)=2;A(1,2)=1/2;A(n,n)=2;A(n,n-1)=1/2;for j=1:n-1d(j,:)=(3/h)*((y(j+1,:)-y(j,:))/h-(y(j,:)-y(j-1,:))/h);A(j,j)=2;A(j,j-1)=0.5;A(j,j+1)=0.5;endd(1,:)=d(1,:)-1/2*p;d(n,:)=d(n,:)-1/2*qelseif xz==2d(1,:)=(6/h)*((y(2,:)-y(1,:))/h-p);d(n,:)=(6/h)*(q-(y(n,:)-y(n-1,:))/h);A(1,1)=2;A(1,2)=1;A(n,n)=2;A(n,n-1)=1;for j=2:n-1d(j,:)=(3/h)*((y(j+1,:)-y(j,:))/h-(y(j,:)-y(j-1,:))/h);A(j,j)=2;A(j,j-1)=0.5;A(j,j+1)=0.5;endend%调用函数zglu用追赶法计算AM=dM=zglu(A,d);%各插值区间内函数表达式,系数矩阵为n*4阶矩阵Cfor k=2:nC(k-1,1)=(M(k,:)-M(k-1,:))/(6*h);C(k-1,2)=(x(k,:)*M(k-1,:)-x(k-1,:)*M(k,:))/(2*h);C(k-1,3)=1/(2*h)*(x(k-1,:)^2*M(k,:)-x(k,:)^2*M(k-1,:))+1/h*(y(k,:)-1/6*h^2*M(k,:)-y(k-1,:)-1/6*h^2*M(k-1,:));C(k-1,4)=1/(6*h)*(x(k,:)^3*M(k-1,:)-x(k-1,:)^3*M(k,:))+1/h*(x(k,:)*(y(k-1,:)-h^2/6* M(k-1,:))-x(k-1,:)*(y(k,:)-h^2/6*M(k,:)));end%显示输入数据disp('您输入的数据如下:')disp('插值节点x:')x(:,:)disp('插值节点y:')y(:,:)disp('计算得到矩阵M:')M(:,:)%输出插值函数S(x)的表达式disp('S(x)的表达式为:')for l=1:n-1disp([num2str(C(l,1)),'x^3+',num2str(C(l,2)),'x^2+',num2str(C(l,3)),'x+',num2str(C(l,4 )),' ',num2str(x(l,:)),'≤x≤',num2str(x(l+1,:))]);end被调用函数zglu% 追赶法求解三对角方程组function x=zglu(A,b)[~,n]=size(A);L=eye(n);U=zeros(n);y=zeros(n,1);x=zeros(n,1);U(1,1)=A(1,1);y(1,1)=b(1,1);for i=2:nl=A(i,i-1)/U(i-1,i-1);L(i,i-1)=l;U(i,i)=A(i,i)-l*A(i-1,i);y(i,1)=b(i,1)-l*y(i-1,1);U(i-1,i)=A(i-1,i);endx(n,1)=y(n,1)/U(n,n);for i=n-1:-1:1s=y(i,1);for j=i+1:ns=s-U(i,j)*x(j,1);endx(i,1)=s/U(i,i);endend5.四阶龙格-库塔法求解常微分方程的初值问题计算原理程序框图计算实习用标准4级4阶R-K 法求解23,(0)1,y (0)3,y (0)2y y y y x y ''''''=+-+-⎧⎨'''=-==⎩取步长h=0.05,计算(1)y 的近似值,并与解析解(x )x e 21xy x =+-作比较。

相关文档
最新文档