matlab上机实验报告

合集下载

线代上机实验报告(3篇)

线代上机实验报告(3篇)

第1篇一、实验目的1. 掌握线性代数基本概念和基本运算方法。

2. 熟悉MATLAB软件在解决线性代数问题中的应用。

3. 提高实际操作能力和编程能力。

二、实验环境1. 操作系统:Windows 102. 软件环境:MATLAB R2019b3. 实验设备:计算机三、实验内容1. 矩阵的基本运算2. 矩阵的秩3. 矩阵的逆4. 线性方程组的求解5. 特征值和特征向量6. 二次型及其标准形四、实验步骤1. 矩阵的基本运算(1)创建矩阵A:A = [1, 2, 3; 4, 5, 6; 7, 8, 9](2)计算矩阵A的转置:A_transpose = A'(3)计算矩阵A的行列式:det_A = det(A)(4)计算矩阵A的逆:A_inverse = inv(A)2. 矩阵的秩(1)创建矩阵B:B = [1, 2, 3, 4; 5, 6, 7, 8; 9, 10, 11, 12](2)计算矩阵B的秩:rank_B = rank(B)3. 矩阵的逆(1)创建矩阵C:C = [1, 2; 3, 4](2)判断矩阵C是否可逆:is_inverse = rank(C) == size(C, 1)(3)如果可逆,计算矩阵C的逆:C_inverse = inv(C)4. 线性方程组的求解(1)创建矩阵A和B:A = [1, 2; 3, 4]B = [5; 6](2)使用MATLAB内置函数求解线性方程组:x = A \ B5. 特征值和特征向量(1)创建矩阵D:D = [4, 1; 2, 3](2)计算矩阵D的特征值和特征向量:[V, D] = eig(D)6. 二次型及其标准形(1)创建矩阵E:E = [2, 1; 1, 3](2)计算矩阵E的特征值和特征向量:[V, D] = eig(E)(3)将二次型E化为标准形:Q = V D inv(V)五、实验结果与分析1. 矩阵的基本运算(1)矩阵A:1 2 34 5 67 8 9(2)矩阵A的转置:1 4 72 5 83 6 9(3)矩阵A的行列式:(4)矩阵A的逆:-1.5 0.50.5 -0.52. 矩阵的秩矩阵B的秩为2。

计算方法上机实验报告-MATLAB

计算方法上机实验报告-MATLAB

《计算方法》实验报告指导教师:学院:班级:团队成员:一、题目例2.7应用Newton 迭代法求方程210x x --=在1x =附近的数值解k x ,并使其满足8110k k x x ---<原理:在方程()0f x =解的隔离区间[],a b 上选取合适的迭代初值0x ,过曲线()y f x =的点()()00x f x ,引切线()()()1000:'l y f x f x x x =+-其与x 轴相交于点:()()0100 'f x x x f x =-,进一步,过曲线()y f x =的点()()11x f x , 引切线()()()2111: 'l y f x f x x x =+-其与x 轴相交于点:()()1211 'f x x x f x =-如此循环往复,可得一列逼近方程()0f x =精确解*x 的点01k x x x ,,,,,其一般表达式为:()()111 'k k k k f x x x f x ---=-该公式所表述的求解方法称为Newton 迭代法或切线法。

程序:function y=f(x)%定义原函数y=x^3-x-1;endfunction y1=f1(x0)%求导函数在x0点的值syms x;t=diff(f(x),x);y1=subs(t,x,x0);endfunction newton_iteration(x0,tol)%输入初始迭代点x0及精度tol x1=x0-f(x0)/f1(x0);k=1;%调用f函数和f1函数while abs(x1-x0)>=tolx0=x1;x1=x0-f(x0)/f1(x0);k=k+1;endfprintf('满足精度要求的数值为x(%d)=%1.16g\n',k,x1);fprintf('迭代次数为k=%d\n',k);end结果:二、题目例3.7试利用Jacobi 迭代公式求解方程组1234451111101112115181111034x x x x ----⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪--- ⎪ ⎪ ⎪= ⎪ ⎪ ⎪--- ⎪ ⎪ ⎪---⎝⎭⎝⎭⎝⎭ 要求数值解()k X 满足()4210k --≤X X ,其中T (1,2,3,4)=X 为方程组的精确解。

Matlab simulink 上机实验报告 简单版

Matlab simulink 上机实验报告 简单版

201006113 11002 Matlab上机实验报告
◆实验一: Smulink动态仿真集成环境
➢ 1.目的要求
➢熟悉simulink环境, 掌握simulink的仿真方法。

➢ 2.掌握要点
➢熟悉simulink环境, 掌握simulink的仿真方法。

➢ 3.实验内容
➢熟悉simulink环境;
➢熟悉基本的模块库以及功能模块
➢搭建简单的电路进行仿真;
➢对分析参数对结果的影响;
1.建立如图所示的仿真系统.
完成过程:
********* ***** 结果如下:
◆ 2.建立如图所示的仿真系统.
◆将红色区域部分创建并封装装成子系统
完成过程:
没有设置子系统时:
没有设置子系统时的结果如下:
以下开始设置子系统并封装: 修改变量后:
最终如下图所示:
开始封装设置过程: 设置子系统各个参数
设置完成后如下图所示:
双击设置好的封装并分别输入与变量对应的参数如下:
运行结果如下:。

MATLAB实验报告

MATLAB实验报告

v1.0 可编辑可修改实验一 MATLAB 环境的熟悉与基本运算一、实验目的及要求1.熟悉MATLAB 的开发环境; 2.掌握MATLAB 的一些常用命令;3.掌握矩阵、变量、表达式的输入方法及各种基本运算。

二、实验内容1.熟悉MATLAB 的开发环境: ① MATLAB 的各种窗口:命令窗口、命令历史窗口、工作空间窗口、当前路径窗口。

②路径的设置:建立自己的文件夹,加入到MATLAB 路径中,并保存。

设置当前路径,以方便文件管理。

2.学习使用clc 、clear ,了解其功能和作用。

3.矩阵运算:已知:A=[1 2;3 4]; B=[5 5;7 8]; 求:A*B 、A.*B ,并比较结果。

4.使用冒号选出指定元素:已知:A=[1 2 3;4 5 6;7 8 9]; 求:A 中第3列前2个元素;A 中所有列第2,3行的元素; 5.在MATLAB 的命令窗口计算: 1) )2sin(π2) 5.4)4.05589(÷⨯+ 6.关系及逻辑运算1)已知:a=[5:1:15]; b=[1 2 8 8 7 10 12 11 13 14 15],求: y=a==b ,并分析结果 2)已知:X=[0 1;1 0]; Y=[0 0;1 0],求: x&y+x>y ,并分析结果 7.文件操作1)将0到1000的所有整数,写入到D 盘下的文件 2)读入D 盘下的文件,并赋给变量num8.符号运算1)对表达式f=x 3-1 进行因式分解2)对表达式f=(2x 2*(x+3)-10)*t ,分别将自变量x 和t 的同类项合并 3)求3(1)xdz z +⎰三、实验报告要求完成实验内容的3、4、5、6、7、8,写出相应的程序、结果实验二 MATLAB 语言的程序设计一、实验目的1、熟悉 MATLAB 程序编辑与设计环境2、掌握各种编程语句语法规则及程序设计方法3、函数文件的编写和设计4、了解和熟悉变量传递和赋值二、实验内容1.编写程序,计算1+3+5+7+…+(2n+1)的值(用input 语句输入n 值)。

Matlab上机报告

Matlab上机报告

《MATLAB 课程》课程实习报告(一) 实习日期:2016-9-13学院:数学与统计学院学院 专业:数学与应用数学 姓名:王子璇 学号:201413230061, 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况,并保存全部变量。

(1)21185sin 2ez +=代码:>> z1=2*sin(85*pi/180)/(1+exp(2))截图:(3)()0.3,9.2,8.2,...,8.29.2,0.3,233.0ln 3.0sin 23.03.03---=+++-=-a a a e e z a a 提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算。

代码:>> a=-3.0:0.1:3.0;>> z3=(exp(0.3*a)-exp(-0.3*a))/2.*sin(a+0.3)+log((0.3+a)/2)截图:(4)5.2:5.0:0其中,32,1221,110,2224=⎪⎩⎪⎨⎧<≤+-<≤-<≤=t t t t t t t t z提示:用逻辑表达式求分段函数值。

代码:>> t=0:0.5:2.5;>> z4=t.^2.*(t>=0&t<1)+(t.^2-1).*(t>=1&t<2)+(t.^2-2*t+1).*(t>=2&t<3)截图:2, 设有矩阵A 和B⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=25242322212019181716151413121110987654321A ,⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡--=11134079423096171603B (1) 求它们的乘积C 。

(2) 将矩阵C 的右下角23⨯子矩阵赋给D 。

(3) 查看MATLAB 工作空间的使用情况。

代码:(1)>> A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22 23 24 25]>> B=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11]>> C=A*B(2)>> F=size(C);>> D=C(F(1)-2:F(1),F(2)-1:F(2));>> whos截图:(1)(2)3,下面是一个线性方程组:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡52.067.095.061141514111121321x x x(1) 求方程的解。

matlab上机作业报告(计算初...

matlab上机作业报告(计算初...

matlab上机作业报告(计算初...一、给定向量x ≠0,计算初等反射阵H k 。

1.程序功能:给定向量x ≠0,计算初等反射阵H k 。

2.基本原理:若()xx x R x ∈=,,, 的分量不全为零,则由12112212122()x (,,,)1()22n T T sign x e x x x x σσσρσσρ-?=? =+=+==+?=-=-u x u uu H I I uuu 确定的镜面反射阵H 使得y eHx =-=σ;当(1)k n ≤<时,由21/2k ()T 1()()()k 1()()()(())(0,,0,,,,)1()()=()2()nk i i kk nk k k n k T k k Tk k k kk k T k k sign x x x x x x σσρσσσρ=+-?=?=+∈?==+??=-?∑u R u u u H I u u 有T 121(,,,,,0,,0)n k k k x x x σ-=-∈H x R算法:(1)输入x ,若x 为零向量,则报错 (2)将x 规范化,{}x x x M ,,,m ax =如果M =0,则报错同时转出停机否则n i M x x i i ,,2,1, =←(3)计算2x =σ,如果0<1x ,则σσ-= (4))(1x +=σσρ (5)计算1,(1)x σ==+u x u (6)1Tρ-=-H I uu (7)(M ,0,,0)σ=-y(8)按要求输出,结束3.变量说明:x -输入的n维向量;n -n维向量x的维数;M -M是向量x的无穷范数,即x中绝对值最大的一项的绝对值;p -Householder初等变换阵的系数ρ;u -Householder初等变换阵的向量Us -向量x的二范数;x -输入的n维向量;n -n维向量x的维数;p -Householder初等变换阵的系数ρ;u -Householder初等变换阵的向量Uk -数k,H*x=y,使得y的第k+1项到最后项全为零;4.程序代码:(1)function [p,u]=holder2(x)%HOLDER2 给定向量x≠0,计算Householder初等变换阵的p,u %程序功能:函数holder2给定向量x≠0,计算Householder初等变换阵的p,u;%输入:n维向量x;%输出:[p,u]。

偏微分方程数值解上机实验报告(matlab做的)

偏微分方程数值解法上机报告(一)一、实验题目:用Ritz-Galerkin 方法求解边值问题2u '',01(0)0,(1)1u x x u u ⎧-+=<<⎨==⎩的第n 次近似()n u x ,基函数()sin(),1,2,...,i x i x i n ϕπ==.二、实验目的:通过本次上机实验,理解求解初值问题的变分问题的最重要的近似解法——Ritz-Galerkin 方法,以便为学习有限元法打好基础。

此外,要熟悉用Matlab 解决数学问题的基本编程方法,提高运用计算机解决问题的能力。

三、实验代码:n=5;syms x;for i=1:np(i)=sin(i*pi*x);q(i)=-i^2*pi^2*sin(i*pi*x);endfor i=1:nb(i)=2*int(p(i),0,1);for j=1:nA(i,j)=int((-q(j)+p(j))*p(i),0,1);endendt=inv(A)*b'四、运行结果:t=2251799813685248/3059521645650671/pi281474976710656/9481460623939047/pi281474976710656/43582901062631895/pi五、总结:通过本次上机,我了解了Ritz-Galerkin 方程 n j j p f cj p i p a n i i ,...,2,1)),(,())(),((1==∑=,明白了用Ritz-Galerkin 方法解决边值问题的变分问题的基本原理,并接近一步提高自己的编程动手能力,受益匪浅。

偏微分方程数值解法上机报告(二)一、 实验题目:用线性元求下列边值问题的数值解2''2sin ,0142(0)0,'(1)0y y x x y y ππ⎧-+=<<⎪⎨⎪==⎩二、 实验目的:通过本次上机,熟悉和掌握用Galerkin 法观点出发导出的求解处置问题数值解的线性有限元法。

MATLAB实验报告

MATLAB实验报告MATLAB 实验报告姓名:专业:学号:实验⼀ MATLAB环境的熟悉与基本运算⼀、实验⽬的:1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算⼆、实验基本知识:1.熟悉MATLAB环境:MATLAB桌⾯和命令窗⼝、命令历史窗⼝、帮助信息浏览器、⼯作空间浏览器⽂件和搜索路径浏览器。

2.掌握MATLAB常⽤命令3.MATLAB变量与运算符变量命名规则如下:(1)变量名可以由英语字母、数字和下划线组成(2)变量名应以英⽂字母开头(3)长度不⼤于31个(4)区分⼤⼩写MATLAB中设置了⼀些特殊的变量与常量,列于下表。

MATLAB运算符,通过下⾯⼏个表来说明MATLAB的各种常⽤运算符表2 MATLAB算术运算符表3 MATLAB关系运算符表4 MATLAB逻辑运算符表5 MATLAB特殊运算4.MATLAB的⼀维、⼆维数组的寻访表6 ⼦数组访问与赋值常⽤的相关指令格式5.MATLAB的基本运算表7 两种运算指令形式和实质内涵的异同表6.MATLAB的常⽤函数表8 标准数组⽣成函数表9 数组操作函数三、实验内容1、学习安装MATLAB软件。

2、学习使⽤help命令,例如在命令窗⼝输⼊help eye,然后根据帮助说明,学习使⽤指令eye(其它不会⽤的指令,依照此⽅法类推)3、学习使⽤clc、clear,观察command window、command history和workspace 等窗⼝的变化结果。

4、初步程序的编写练习,新建M-file,保存(⾃⼰设定⽂件名,例如exerc1、exerc2、exerc3……),学习使⽤MATLAB的基本运算符、数组寻访指令、标准数组⽣成函数和数组操作函数。

注意:每⼀次M-file的修改后,都要存盘。

四、实验结果练习A:(1)help rand,然后随机⽣成⼀个2×6的数组,观察command window、command history和workspace等窗⼝的变化结果。

matlab基本操作实验报告

实验一 matlab 基本操作一、 实验目的熟悉matlab 的安装与启动;熟悉matlab 用户界面;熟悉matlab 功能、建模元素;熟悉matlab 优化建模过程。

二、 实验设备与仪器1.微机2.matlab 仿真软件三、 实验步骤1. 了解matlab 的硬件和软件必备环境;2. 启动matlab ;3. 熟悉标题栏,菜单栏,工具栏,元素选择窗口,状态栏,控制栏以及系统布局区;4. 学习优化建模过程。

四、 实验报告要求1. 写出matlab 系统界面的各个构成;以及系统布局区的组成;以及每一部分的功能;2. 优化建模过程应用举例五、实验内容(一)、Matlab 操作界面1. 命令窗口(command window )2. 命令历史窗口(command history )3. 工作空间管理窗口(workspace )4. 当前路径窗口(current directory )(二)、优化建模过程应用举例1、简单矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321A 的输入步骤。

(1)在键盘上输入下列内容A = [1,2,3; 4,5,6; 7,8,9](2)按【Enter 】键,指令被执行。

(3)在指令执行后,MATLAB 指令窗中将显示以下结果:A = 1 2 34 5 67 8 92、矩阵的分行输入。

A=[1,2,34,5,67,8,9]A =1 2 34 5 67 8 93、指令的续行输入S=1-1/2+1/3-1/4+ ...1/5-1/6+1/7-1/8S =0.63454、画出衰减振荡曲线t ey t 3sin 3-=及其它的包络线30t e y -=。

t 的取值范围是]4,0[π。

t=0:pi/50:4*pi;y0=exp(-t/3);y=exp(-t/3).*sin(3*t);plot(t,y,'-r',t,y0,':b',t,-y0,':b')grid5、画出2222)sin(y x y x z ++=所表示的三维曲面。

MATLAB第一次上机实验报告

第一章上机实验一.实验内容(一)熟悉Matlab的基本命令(1)工作空间管理:①Who和whos:显示当前工作空间的变量情况,例如想查询A和B两个变量的空间占用情况,则可以用命令whos A B。

如果只给出whos命令,则将显示工作空间中全部变量的变量名称、大小、内存占用情况及变量类型。

Who命令给出的结果是简单的,只显示当前工作空间中的变量名称。

②clear:删除工作空间中的变量。

Clear A B表示删除A和B两个变量;若只给出clear命令,则将删除工作空间内的所有变量。

③which:显示出某个MATLAB文件所在目录,如which xxure将给出xxure.m 文件所在目录。

④quit:退出⑤workspace:该命令将打开工作空间浏览器窗口。

(2)路径编辑:①path:显示MATLAB包含路径。

②cd:返回上一级目录。

③addpath:将一个新的字符串表示的子目录名添加到MATLAB包含的路径下。

④rmpath:从当前MATLAB包含的路径下清除某个字符串表示的子目录。

(3)显示格式:①format long:双精度数表示小数点后14位有效数字,单精度数表示小数点后7位有效数字。

②short e:5位科学计数表示。

③short g:从format short和format short e中自动选择最佳计数方式(默认设置)④long g:从format long和format long e中自动选择最佳计数方式⑤hex:十六进制表示⑥rat:近似有理数表示(4)窗口清理:①clc:命令窗口清屏。

②cla:可以清除当前坐标系下的内容。

③clf:图形窗口清屏。

④close:用于关闭所有的图形窗口。

(5)操作系统命令:①copyfile:复制文件②pwd(Identify current directory):显示当前的工作目录名称。

(6)熟悉Matlab的联机帮助命令:①help:可以达到帮助信息目录。

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

上海电力学院数值计算方法上机实习报告院系:能源与机械工程学院专业年级:动力机械及工程2012级学生姓名:***学号:ys**********指导教师:***2012年12月26日数值计算方法上机实习题1. 设⎰+=105dx xx I nn , (1) 由递推公式nI I n n 151+-=-,从0I 的几个近似值出发,计算20I ; 解:I 0=1015x d x +⎰=0.1823计算I20编辑matlab 命令如下:I=0.1823 for n=1:1:20, I=-5*I+1/n;fprintf('%.1d %.4f\n',n ,I); end结果:(2) 粗糙估计20I ,用nI I n n 51511+-=-,计算0I ; 解:I 20= 20105xx d x +⎰ 使用复合中点公式进行积分,相应的matlab 程序如下:I=0;for h=0:0.001:1,m=h+0.0005;I=I+0.001*m^20/(5+m);fprintf('%.1d %.4f\n',m ,I);enddisp(I);for k=1:20,n=21-k;I=0.2*(1/n-I);fprintf('%.1d %.4f\n',n ,I);enddisp(I)结果:程序结束时输出两个I值,第一个表示I20,第二个表示I0;分别为I20=0.0082I0=0.1823(3)分析结果的可靠性及产生此现象的原因(重点分析原因)。

从上述计算中分析得到如果先得到I0,再从I0由递推公式得到I20,I20结果跟精确值相比误差很大;如果先估算I20,在从I20有递推公式得到I0,I0的结果跟精确值相比近似相等。

原因分析:如果从I 0推I 20的近似值,需要用到递推公式I n =-5I n-1+1/n ,I0本身结果是有误差的;经过递推公式计算20次,就等于误差被认为的放大5的20次方倍,所以得到的I 20与其精确值相差甚远。

如果从I 20推I 0的近似值,需要用到I n-1=0.2(1 /n-I n ),尽管I 20本身有误差,但是经过20次运算,其误差缩小到原来的0.2的20次方倍,所以得到的I 0与其精确值比较相近。

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

(1) 在[0,1]上用二分法;Matlab 程序如下:a=0; b=1; c=b-a; n=0while c>0.0005, x=(a+b)/2; f=exp(x)+10*x-2; if f>0, b=x; c=b-a; elseif f<0, a=x; c=b-a; else x=x; c=0; end n=n+1;fprintf('%.1d %.4f %.4f\n',n ,x,c); end结果如下:解得到;x=0.0903(2) 取初值00=x ,并用迭代1021x k e x -=+;采用matlab 进行迭代的程序如下:x=0; c=1; n=0;while c>0.0005, m=x;m=(2-exp(m))/10; c=abs(m-x); x=m; n=n+1;fprintf('%.1d %.4f %.4f\n',n ,x,c); end结果:解得x=0.0905(3) 加速迭代的结果;采用matlab 进行迭代的程序如下:x=0; n=0; a=0; b=1;while abs(a-b)>0.0005, n=n+1; a=x;y=(2-exp(x))/10; z=(2-exp(y))/10; x=x-(y-x)^2/(z-2*y+x); b=x;fprintf('%.1d %.4f %.4f\n',n ,x,abs(a-b)); end结果如下:(4) 取初值00=x ,并用牛顿迭代法; Matlab 程序如下:x=0;a=1;n=0;while abs(a)>0.0005,n=n+1;a=(exp(x)+10*x-2)/(exp(x)+10);x=x-a;fprintf('%.1d %.4f %.4f\n',n ,x,abs(a)); end运行结果:迭代次数二分法代数式迭代加速迭代牛顿迭代X(k)Erroe X(k)Erroe X(k)Erroe X(k)Erroe1 0.5000 0.5000 0.1000 0.1000 0.0905 0.0905 0.0909 0.09092 0.2500 0.2500 0.0895 0.0105 0.0905 0.0000 0.0905 0.00043 0.1250 0.1250 0.0906 0.00124 0.0625 0.0625 0.0905 0.00015 0.0938 0.03136 0.0781 0.01567 0.0859 0.00788 0.0898 0.00399 0.0918 0.002010 0.0908 0.001011 0.0903 0.0005我们可以看到,在运算要求到同一精度的情况下,采用(1)的二分法运算了11次,采用(2)的方法运算了4次,采用(3)的加速迭代法运算了2次,采用(4)的牛顿迭代法也需运算2次。

也就是说牛顿的迭代的收敛速度与加速迭代速度都是超线性收敛的,而简单迭代法是线性收敛的。

而二分法收敛速度较慢,所以在工程上不经常使用。

x 2 3 4 5 6 7 8 9y 6.42 8.2 9.58 9.5 9.7 10 9.93 9.9910 11 12 13 14 15 1610.49 10.59 10.60 10.8 10.6 10.9 10.76(注:增速减少,用何种模型)x=[2 3 4 5 6 7 8 9 10 11 12 13 14 15 16];y=[6.42 8.2 9.58 9.5 9.7 10 9.93 9.99 10.49 10.59 10.60 10.8 10.6 10.9 10.76];plot(x,y,'b*-');结果如下:由数据点分布图可知,拟合曲线y=f(x)随着x的增加而上升,但上升速度由快到慢,当x趋于无穷大时,y趋于某个常数,故曲线有一水平渐进线。

根据上述特征很容易想到用Logistic模型来拟合该曲线。

设y=f(x)的形式为y=ae b/x(a>0,b<0),两边取对数,得lny=lna+b/x。

记A=lna,B=b,并引入新变量m=lny,n=1/x。

引入新变量后的数据表如下:x 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 n=1/x 0.5000 0.3333 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 m=lny 1.8594 2.1041 2.2597 2.2513 2.2721 2.3026 2.2956 2.3016 2.3504 2.3599 2.3609 2.3795 2.3609 2.3888 2.3758 Matlab拟合程序如下:n=[0.5000 0.3333 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111 0.1000 0.09090.0833 0.0769 0.0714 0.0667 0.0625];m=[1.8594 2.1041 2.2597 2.2513 2.2721 2.3026 2.2956 2.3016 2.3504 2.35992.3609 2.3795 2.3609 2.3888 2.3758];polyfit(n,m,1)运行的结果:由此可得A=2.4578 B=-1.1107a=e A=11. 6791 b=B=-1.1107由此得到使用次数与容积的函数为1.110711.6791x y e-=x1=[2 3 4 5 6 7 8 9 10 11 12 13 14 15 16];y1=[6.42 8.2 9.58 9.5 9.7 10 9.93 9.99 10.49 10.59 10.60 10.8 10.6 10.9 10.76];x=2:1:16;y=11.679*exp(-1.1107*x.^(-1));hold on;plot(x,y,'ro-');plot(x1,y1,'b*-');结果如图:y=[6.42 8.2 9.58 9.5 9.7 10 9.93 9.99 10.49 10.59 10.60 10.8 10.6 10.9 10.76]; s=0;for n=2:1:16,a=abs(11.679*exp(-1.1107*n.^(-1))-y(n-1)); s=s+a.^2; ends=(s/15).^(1/2); disp(s);运算结果均方差S=0.2438小结:根据已给的条件计算函数是十分困难的,但通过对离散点的分析及变化规律找出其中的规律,并通过计算来得到实际的函数是十分有用的方法。

本题就是这样做的一个典型,在n=1/x 和m=lny 的基础上找到了它们之间的关系并通过这种关系来拟合原函数,并最终验证计算结果。

4.设⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛----------------=410100141010014101101410010141001014A ,⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛--=625250b ,b x =A 分析下列迭代法的收敛性,并求42110-+≤-kk x x 的近似解及相应的迭代次数。

(1) JACOBI 迭代; A=[ 4 -1 0 -1 0 0;-1 4 -1 0 -1 0;0 -1 4 -1 0 -1;-1 0 -1 4 -1 0;0 -1 0 -1 4 -1;0 0 -1 0 -1 4]; b=[ 0;5;-2;5;-2;6]; error=1; D=diag(diag(A)); L=D-tril(A); U=D-triu(A); X=zeros(size(b)); while error>0.0001,解得X =[0.9999;1.9999;0.9998;1.9999;0.9998;1.9999] error= 7.0206e-05(2) GAUSS-SEIDEL 迭代;解得X =[ 0.9998;1.9998;0.9998;1.9999;0.9999;1.9999] error= 5.5892e-05 (3) SOR 迭代(95.0,95.1,334.1=ω)。

相关文档
最新文档