MATLAB实习报告-1

合集下载

Matlab实训报告

Matlab实训报告

Matlab实训报告Matlab实训报告MATLAB学院:班级:学号:姓名:实训报告评分栏:一、“帮助(Help)”文档部分内容翻译。

轴的控制Axis命令可以规定图象的缩放比例、方位、和纵横比,你可以交互的使用指令进行操作,详见图形的编辑。

设置轴的范围默认时,MATLAB可以根据数值的最大值和最小值决定合适的范围,用axis命令可以自己定义数值的标尺范围:axis([xminxmaxyminymax])三维图则用:axis([xminxmaxyminymaxzminzmax])用命令axisauto使MATLAB重新自动选择范围。

设定纵横比用axis也可以指定预先确定的数。

例如,axissquare使x轴和y轴等长。

axisequal使x轴与y轴的单位长度相等。

也就是说plot(exp(i*[0:pi/10:2*pi]))无论后面跟着axissquare还是axisequal都把椭圆变成正圆。

axisautonormal返回默认模式中定义的缩放比例。

设定轴的可见性用axis命令还可以使轴隐藏或显示。

axison使轴显示出来。

这是默认情况。

axisoff使轴隐藏。

设置网格线grid命令设置网格线显示或隐藏。

语句gridon使网格线显示,gridoff隐藏网格线。

图形的打印你能直接在一台已连接到你的计算机上的打印机上打印一个MATLAB图形,或输出图形到一种MATLAB所支持的图象文件格式。

这里提供两种打印或输出图形的方法。

在File菜单下用Print选项用print命令从菜单打印在File菜单下方有四个菜单选择是关于打印的。

PageSetup选项显示一个对话框,它使你能调整打印页图形的特征。

PrintSetup选项显示一个对话框,它设置打印默认值,但是实际上不打印图形。

PrintPreview选项使你能查看到打印出来页面的样子。

Print选项显示一个对话框,它让你选择标准打印选项然后打印图形。

通常,使用PrintPreview确定打印的输出是否你想要的效果。

matlab实训心得体会(通用23篇)

matlab实训心得体会(通用23篇)

matlab实训心得体会(通用23篇)matlab实训篇1自己刚刚接触matlab有半个学期的时间,说实话我现在对MATLAB还是摸不着头脑,一方面是自己接触的时间太短,另一方面,就是自己在上机方面投入的时间有限,实践比较少。

现在,我对MATLAB的印象仅仅在解决习题和绘制图形上,但是我很喜欢MATLAB的简单的语法,易于绘制图形,编程也非常容易, 并且具有功能强大的开放式的toolbox。

因此,尽管我一直没有这方面的应用,但是我还是对它非常感兴趣,自己正打算暑假好好研究研究MATLAB。

下面是我学习MATLAB在理论和实践方面的一点心得与体会,可能有些地方自己理解的不是很正确,但是随着学习的深入,我想我可以发现自己的错误所在。

首先我想说的是,在理论方面,在学习MATLAB过程中,我感觉到它和c语言有许多相似之处,他有c语言的特征,但是比c语言编程计算更加简单,适合于复杂的数学运算。

但是MATLAB跟其他语言也有着很大的不同。

现在用的比较多的编程语言,除了MATLAB就应该是c、c++、VHDL,VB和Delphi也接触过,如果自己抱着“把其他语言的思想运用在MATLAB里面”的话,那么我想,即使程序运行不出错,也很难把握MATLAB的精髓,也就很难发挥MATLAB的作用了。

众所周知MATLAB是一个基于矩阵运算的软件,但是,真正在运用的时候,特别是在编程的时候,许多人往往没有注意到这个问题。

在使用MATLAB时,受到了其他编程习惯的影响,特别是经常使用的C语言。

因此,在MATLAB编程时,for循环(包括while循环)到处都是。

.这不仅是没有发挥MATLAB所长,还浪费了宝贵的时间。

我这里想说的一点是,往往在初始化矩阵的时候注意到这个问题,懂得了使用矩阵而不是循环来赋值,但是,在其他环节上,就很容易疏忽,或者说,仍然没有摆脱C++、C的思想。

MATLAB博大精深,涉及的内容很多,所以,我认为不要试图掌握MATLAB的每一个功能,熟悉和你专业最相关的部分就可以了,这也是老师在课堂上经常说的。

matlab_实习报告

matlab_实习报告

matlab_实习报告在大学的学习生涯中,实习是一个非常重要的环节,它能够让我们将理论知识与实际应用相结合,提升自己的专业技能和综合素质。

本次实习,我选择了使用 MATLAB 这个强大的工具进行实践操作,通过一段时间的学习和实践,我收获颇丰。

一、实习目的本次实习的主要目的是深入了解和掌握MATLAB 软件的使用方法,能够运用其解决实际问题,并提高自己的编程能力和逻辑思维能力。

同时,通过实际项目的操作,培养自己的团队协作精神和解决问题的能力,为今后的学习和工作打下坚实的基础。

二、实习单位及岗位介绍我实习的单位是_____,在实习期间,我主要负责利用 MATLAB 进行数据分析和算法实现的相关工作。

三、实习内容及过程(一)基础学习在实习的初期,我首先对 MATLAB 的基本语法和操作进行了系统的学习。

了解了变量的定义、数据类型、矩阵运算、函数的编写等基础知识。

通过大量的练习和实例,我逐渐熟悉了 MATLAB 的编程环境,能够熟练地编写简单的程序。

例如,在学习矩阵运算时,我通过编写程序实现了矩阵的加法、乘法、求逆等操作,深刻理解了矩阵运算在数学和工程中的重要应用。

(二)项目实践在掌握了基础知识后,我开始参与实际的项目。

其中一个项目是对一组数据进行分析和处理,以提取有用的信息。

首先,我使用MATLAB 读取数据文件,并对数据进行预处理,包括去除噪声、缺失值处理等。

然后,运用统计学方法对数据进行分析,计算均值、方差、相关性等统计量。

最后,通过绘图函数将分析结果以直观的图表形式展示出来,以便更好地理解数据的特征和趋势。

在这个过程中,我遇到了很多问题。

例如,数据的格式不一致导致读取错误,算法的复杂度过高导致运行时间过长等。

通过查阅资料、请教同事和不断地调试,我最终解决了这些问题,顺利完成了项目任务。

(三)算法实现除了数据分析,我还参与了算法的实现工作。

在一个图像识别的项目中,需要使用机器学习算法对图像进行分类。

Matlab基础运用实验报告1

Matlab基础运用实验报告1

(黑体3号)实验报告(黑体3号)课程:Matlab基础运用班级:姓名:学号成绩:指导教师:实验日期及时间:2009.9.16座位号:必修/选修:实验序号:实验名称:(标题均为黑体小4号)一、实验目的与要求:实验目的:Matlab是功能强大的科学及工程计算软件。

是以矩阵计算为基础的计算工具,本次实验通过学生对Matlab运行环境的熟悉和一些简单操作,掌握帮助命令、绘图命令以及矩阵操作等使用方法。

实验要求:1.上机结束时须经指导老师检查实验结果后方可离开。

2.课代表在实验后三天内将实验报告收齐交指导老师。

二、实验原理、内容和步骤(一)Matlab界面和矩阵运算基础1,建立自己的工作目录,将该目录设为当前目录,并将其设置成MATLAB的搜索路径。

2,熟悉Matlab的帮助功能。

采用两种方式获得关于函数“exp”的解释。

(1)利用Help Browser.(2)在Command Window下通过输入命令“help exp”。

(3)利用Help navigator3,从屏幕上输入矩阵A=[1 2 3;4 5 6;7 8 9]或A=[1,2,3;4,5,6;7,8,9]观察输出结果;试用回车代替分号,观察输出结果;4,选择File|new菜单中的M-file,输入B=[9 ,8,7;6,5,4;3,2,1],保存为tmp.m文件,退出编辑环境。

此时在工作环境中使用tmp命令就可调出B矩阵;5,输入who和whos观察结果,了解其作用;6,用至少两种方式创建以下矩阵。

A=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡987654321>>a=[1 2 3;4 5 6;7 8 9]a =1 2 34 5 67 8 9或使用以下命令调用>> tmpa =1 2 34 5 67 8 9>>a=[1:3;4:6;7:9]a =1 2 34 5 67 8 9(二)基本绘图1, 绘制 sin (1/t), -1<t<1,标上坐标轴和标题.。

MATLAB实习报告

MATLAB实习报告

MATLAB实习报告实习报告一、实习单位概述我在公司完成了为期两个月的MATLAB实习。

该公司是一家致力于研发和生产先进电子产品的科技型企业。

公司专注于电脑硬件和软件产品的开发,拥有一支强大的研发团队,同时与多个国内外知名大学与研究机构合作。

二、实习内容在实习期间,我主要负责开发一个基于MATLAB的图像处理算法,用于自动识别和分类图像中的目标物体。

具体而言,我的任务包括以下几个方面:1.数据预处理:对输入图片进行预处理,包括灰度化、降噪、图像增强等操作,以提高后续算法的准确性和鲁棒性。

2.特征提取:使用MATLAB内置的图像处理工具箱,提取目标物体的特征信息,如颜色、纹理、形状等。

3.目标识别:通过编写MATLAB脚本,实现目标物体的自动识别,使用机器学习算法训练分类器,并应用于测试集中的图像。

4.结果评估:对算法的准确性和性能进行评估,包括计算分类准确率、召回率等指标,并分析算法的优缺点和改进空间。

三、实习收获通过这次实习,我收获了许多宝贵的经验和知识。

首先,我深入学习了MATLAB的图像处理工具箱,了解了常用的图像处理算法和技术。

在实践中,我熟悉了MATLAB的基本语法和函数,并学会了如何利用MATLAB进行图像的读取、处理和保存。

其次,我掌握了图像特征提取和目标识别的方法和技巧。

通过对图像进行灰度化、降噪和图像增强等预处理步骤,我能够有效提取目标物体的特征信息,并通过机器学习算法实现目标的自动识别和分类。

最后,我学会了如何评估和改进算法的准确性和性能。

通过对测试集中的图像进行分类,并计算分类准确率和召回率等指标,我能够客观地评估算法的优劣,并提出针对性的改进方法。

四、实习总结通过这次实习,我不仅得到了理论知识的巩固和实践技能的提升,还培养了团队合作和解决问题的能力。

在与团队成员的合作中,我学会了如何与他人相互协作,分享经验与知识,并且通过互相帮助和配合,达到更好的工作效果。

同时,面对实习过程中遇到的问题和困难,我学会了如何利用各种资源和工具,积极主动地解决问题。

MATLAB 实习报告

MATLAB 实习报告

MATLAB实习报告信10-1学号:10105010117张旭冉一.概述MATLAB作为一种高级科学计算软件,是进行算法开发、数据可视化、数据分析以及数值计算的交互式应用开发环境。

世界上许许多多的科研工作者都在使用MATLAB产品来加快他们的科研进程,缩短数据分析和算法开发的时间,研发出更加先进的产品和技术。

二.实验目的1.熟悉MATLAB的软件环境2.熟悉MATLAB的基本使用方法3.熟练运用MATLAB的数组和数组、矩阵运算、数学运算的运算方法4.熟悉MATLAB的字符串、单元数组5.熟悉MATLAB的程序设计6.熟悉MATLAB的符号计算功能7.熟悉MATLAB的绘图及句柄图形8.熟悉MATLAB的GUI设计三.实验过程1.熟悉MATLAB的软件环境MATLAB的语言的基本功能和特点:它是一种高级科学计算语言,相对于传统的C、C++或者FORTRAN语言,MATLAB提供了高效快速解决各种科学计算问题的方法。

它具有数学计算、开发工具、数据的可视化、交互式编辑创建图形、集成的算法开发编程语言和环境、图形用户界面开发环境——GUIDE、开放性、可扩展性强、专业应用工具箱等强大的功能。

具有易于学习、使用方便、支持多种操作系统、丰富的内部函数、强大的图形和符号功能等优点。

2.熟悉MATLAB的基本使用方法路径设置:除MATLAB默认的搜索路径外,用户可以设置搜索路径。

设置方法为:选择MATLAB窗口中的File|Set Path命令,进入路径搜索对话框。

MATLAB的搜索顺序:当在命令窗口中或者一个M文件中输入一个元素名称时,MATLAB按照下面的顺序搜索该元素的意义,以元素foo为例:–1)查找工作区中是否存在名为foo的变量;–2)在当前路径中查找是否存在名foo.m的文件;–3)按照顺序查找搜索路径中是否存在该文件。

如果存在多个名为foo.m的文件,则调用首先查到的文件。

因此,在为变量和函数命名时,需考虑MATLAB的路径搜索顺序,合理为变量和函数命名,保证程序的正确运行。

matlab实习总结.(大全5篇)

matlab实习总结.(大全5篇)

matlab实习总结.(大全5篇)第一篇:matlab实习总结.MATLAB和Mathematica、Maple并称为三大数学软件。

它在数学类科技应用软件中在数值计算方面首屈一指。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连 matlab开发工作界面接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。

在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用Matlab是一个强大的数学工具,它的应用广泛,涉及到各个领域.它使用起来十分方便,不用麻烦去定义变量.它的绘图能力很强,甚至可以模拟出三维视图.矩阵是它应用的核心,许多工程繁琐的运算都需要靠矩阵来化简,这正是它的生命力所在.但是,他的函数很多,开始学时记的比较痛苦,我已经深深感觉到了.不过看多了也就熟了,感觉和学五笔差不多.它的语法简单,像我学过C语言的学起来还是蛮容易的.它的数组定义十分符合自然,是从1开始的,数组元素的调用也很接近数学的表达.此外,函数的名字也很符合英文规则,反正我用得很开心就是了.通过学习matlab,我又一次锻炼了自己的思维.它学起来得心应手也让我明白了学习一门语言(c语言对学习其他语言的帮助指导作用.同时,它也加强了我理论联系实际的能力.这是一个专业课的基础工具,学好它是必要的.在第一章中,讲的是一些matlab的入门技术,除了一些基本操作与介绍之外,还初步认识了简单指令的编制,认识了一些matlab 的特殊符号,例如运算用到的加减乘除。

matlab实验报告

matlab实验报告
(1)信号形式 ,利用plot命令绘制该信号在 区间内,且采样间隔为 的曲线。添加网格线,标题为“正弦信号曲线”,横坐标显示“x”,纵坐标显示“y”。
(2)将上述信号左平移或右平移 得到两个新信号y2和y3,利用hold命令在同一图中显示三条曲线并通过线型和颜色加以区分。
(3)利用subplot命令将y,y2和y3以子图的形式显示。
3.
实验结果及分析
1.(1)
t1 =
0.0780
实验结果及分析
(2)
t2 =
0.0780
实验结果及分析
(3)
t3 =
0
实验结果及分析
2.
实验
名称
实验四Matlab在通信系统中的应用
实验目的
1、练习通信原理中各种调制方法及简单通信系统的Matlab编程实现;
2、学习Matlab与Simulink的混合编程。
(2)y变成虚数后,重复上述运算。
(3)创建矩阵 ,并进行如下操作,取出矩阵A的前两行元素,生成一个新矩阵B。生成一个3*3的单位矩阵B,与矩阵A进行加、减、乘、除、相等、不相等运算。
(4)随机生成2个复数x1和x2,计算x3=x1÷x2,x3的实部real_x3、虚部image_x3、模abs_x3、幅角angle_x3,并把x1,x2,x3,real_x3,image_x3,abs_x3,angle_x3保存至文件complex_学号.mat。利用save命令保存数据为mat格式文件后,用clear命令清除工作空间中的变量,再利用load命令从文件读入数据。
2、流程控制语句相关操作。
(1)使用for语句及while语句求解1至100整数中奇数的和。
(2)求连续自然数的和,当和大于等于1000时,求最后一个自然数以及自然数的和。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

--实习报告班级:******姓名:**学号:***********指导老师:***日期:2011/11/24目录一.MATLAB简介 (3)二.上机实习题目 (3)1. 第2章第1题 (3)2. 第3章第2题 (3)3. 第5章第2题 (3)4. 第4章第1题 (4)三.题目实现过程 (4)1. 牛顿插值以及三次样条插值(第一个实验题) (4)a.牛顿插值 (4)b.三次样条插值 (4)c.牛顿插值截图 (5)d.三次样条插值截图 (6)2. 3次,4次多项式的曲线拟合 (7)a.先输入表格中对应的数据, (7)次拟合 (7)c. 3次拟合截图 (8)d. 4次拟合 (9)e. 4次拟合截图 (9)3. 高斯消去法解线性方程组 (10)a. 高斯消去法源代码 (10)b. 第一个小题 (11)c. 第二个小题 (12)4. 雅克比迭代法与SOR方法 (13)a. 雅克比迭代法的计算公式 (13)b. 超松弛迭代法的计算公式 (13)c.得到希尔矩阵 (13)d.得到b矩阵 (13)e.雅克比迭代法实现的函数 (13)迭代法实现的函数 (14)g.对于雅克比迭代法,通过执行以下代码 (15)h. 对于SOR迭代法,执行相对应代码 (15)四.心得与感想 (18)一.M ATLAB简介MATLAB是一个软件,用来进行科学计算。

在实际生活或者在科学研究中,大量的计算有时候是不可避免的,在这个时候,我们可以选择很多种方式来解决我们的问题。

但是选择一个好的软件对于我们来说有时候却是非常困难的,尤其是现在各种软件层出不穷,当然里面有好的,可是有大多数的软件却是鱼目混珠,在里面滥竽充数。

如果我们不避开这些,那么我们可能面临的是用很大的工作量来完成一个极其简单的问题,或者说在付出了时间与精力之后却完不成问题。

所以必须选择一个好的计算软件来解决问题。

MATLAB 就是这样一个软件,在你能够熟悉并且流畅运用它之后,那它将是一把能够解决很多问题的钥匙。

MATLAB是Matrix Laboratory,即矩阵实验室的缩写。

它是一个有Math Work公司(由Moler,Little,Bangert在1984年在加利福利亚成立)开发的软件包。

用来实现数值计算或者符号操作。

另外MATLAB还拥有M-file这一功能,在这里面你可以编写自己的程序(当然这个程序不是windows程序),在这里你就可以实现很多计算,虽然说MATLAB自带的函数在大多数情况下已经够用,但是总会有某些时候你觉得自己编写的程序运用起来更加灵活,而且在一些具体问题的时候,这个优势将会是一大突破,可以让我们很轻松解决很多问题。

除了自己编写外,MATLAB 自带的很多优秀的程序,如plot(绘图)函数,cond(求矩阵条件数)函数,关于矩阵的一些相关函数,都是相当经典的。

总之,熟悉使用MATLAB可以让我们的工作变得很简单,经过这次的学习,我们以后的很多学习工作问题都可以很方便地解决了。

二.上机实习题目1.第2章第1题4进行插值。

用图给出{(x i,y i),x i=0.2+0.08i,i=0,1,11,10},P4(x)及S(x)。

2.第3章第2题拟合曲线,用图示数据曲线及相应的三种拟合曲线。

3.第5章第2题用列主元高斯消去法解线性方程组Ax=b。

(1)[3.016.031.991.274.16−1.230.987−4.819.34][x1x2x3]=[111];(2) [3.006.031.991.274.16−1.230.990−4.819.34][x1x2x3]=[111].分别输出A,b,det(A),解向量x,(1)中A的条件数。

分析比较(1),(2)。

4.第4章第1题给出线性方程组H n x=b,其中系数矩阵H n为希尔伯特矩阵:H n=(h ij)∈,i,j=1,2,…,n。

R n×n,h ij=1i+j−1假设x∗=(1,1,…,1)T∈R n×n,b=H n x∗。

若取n=6,8,10,分别用雅克比迭代法及SOR迭代法(ω=1,1.25,1.5)求解。

比较计算结果。

三.题目实现过程下面开始进行计算:1.牛顿插值以及三次样条插值(第一个实验题)此题要求利用给定点,及给定点的函数值进行牛顿插值以及三次样条插值。

a.牛顿插值要实现牛顿插值,要用到以下代码% 调用格式:yi=Lagran_(x,y,xi)% x,y 数组形式的数据表function fi=Lagran_(x,f,xi)fi=zeros(size(xi));np1=length(f);for i=1:np1z=ones(size(xi));for j=1:np1if i~=j,z=z.*(xi-x(j))/(x(i)-x(j));endendfi=fi+z*f(i);endb.三次样条插值要实现三次样条插值,要用到以下代码function S=csfit(X,Y,dx0,dxn)N=length(X)-1;H=diff(X);D=diff(Y)./H;A=H(2:N-1);B=2*(H(1:N-1)+H(2:N));C=H(2:N);U=6*diff(D);B(1)=B(1)-H(1)/2;U(1)=U(1)-3*(D(1));B(N-1)=B(N-1)-H(N)/2;U(N-1)=U(N-1)-3*(-D(N));for k=2:N-1temp=A(k-1)/B(k-1);B(k)=B(k)-temp*C(k-1);U(k)=U(k)-temp*U(k-1);endM(N)=U(N-1)/B(N-1);for k=N-2:-1:1M(k+1)=(U(k)-C(k)*M(k+2))/B(k);endM(1)=3*(D(1)-dx0)/H(1)-M(2)/2;M(N+1)=3*(dxn-D(N))/H(N)-M(N)/2;for k=0:N-1S(k+1,1)=(M(k+2)-M(k+1))/(6*H(k+1));S(k+1,2)=M(k+1)/2;S(k+1,3)=D(k+1)-H(k+1)*(2*M(k+1)+M(k+2))/6;S(k+1,4)=Y(k+1);endc.牛顿插值截图在输入对应的两个数组后,首先进行4次牛顿插值,下面是运行截图然后根据结果绘图d.三次样条插值截图首先得到的是三次样条插值后的多项式系数矩阵,然后利用polyval()函数计算在对应点的值,并且通过绘图函数将结果表示在图像上面,通过与上面的牛顿插值所得到的图像进行比较,可以发现,利用三次样条插值得到的结果更加的精确。

2.3次,4次多项式的曲线拟合a.先输入表格中对应的数据,然后首先通过调用plot()函数,绘图次拟合通过以下代码>> xx =>> yy =>> s1 = polyfit(x, y, 3);>> temp = 0::1;>> y_temp = zeros(size(temp));>> y_temp = polyval(s1, temp);>> hold on;>> plot(temp, y_temp)c. 3次拟合截图可以得到下面的截图,这是看到3次拟合后的多项式与原来的图形比较d. 4次拟合通过下面代码>> xx =>> yy =>> s2 = polyfit(x, y, 4);>> y_temp = polyval(s2, temp);>> hold on;>> plot(temp, y_temp, 'r')e. 4次拟合截图通过进行4次拟合,我们会感觉不同,从图像上可以看出(不同次数的拟合在图像上用不同的颜色标示出来以便观察,其中3次拟合是蓝色,4次的是红色)以上都是用多项式进行拟合,下面代码用一个线性函数来进行拟合>> xmean = mean(x);>> ymean = mean(y);>> sumx2 = (x - xmean) * (x - xmean)';>> sumxy = (y - ymean) * (y - ymean)';>> A = sumxy / sumx2;>> B = ymean - A * xmean;>> temp = 0::1;>> y_temp = A * temp + B;>> plot(temp, y_temp, 'green')的到下图其中绿色的线是这次拟合的结果,很明显,误差很大在进行解决这个题目时候用的拟合函数是MATLAB自带的拟合函数polyfit(),这里是多项式拟合。

polyfit()函数得到的是一个矩阵,然后运用另一个MATLAB自带的函数polyval()来进行计算给定点的函数值。

到这里这一题完成。

3.高斯消去法解线性方程组对于这道题目,要求用高斯消去法解两个线性方程组,所以利用MATLAB 的M-file编写一个文件便可以解决两个小题。

而高斯消去法的核心是逐渐利用消去法是原来的系数矩阵变成一个上三角矩阵。

然后一个迭代便可以解出方程的每一个解。

a.高斯消去法源代码function X = p178_2_GAUSS(A, b)[n, m] = size(A);X = zeros(n, 1);temp = zeros(1, m);temp_b = 0;i = 1;for j = 1: (m - 1)if (A(i, j) ~= 0)for k = (i + 1):nif (A(k, j) ~= 0)temp = A(k, :) + A(i, :) * (-A(k, j) / A(i, j));temp_b = b(k) + b(i) * (-A(k, j) / A(i, j));A(k, :) = temp;b(k) = temp_b;endendendi = i + 1;end;Abdisp('det(A) is ...');x = det(A);disp(x);disp('cond(A) is ...');x = cond(A);disp(x);X(n) = b(n) / A(n, n);for i = (n - 1):-1:1temp_b = 0;for j = (i + 1):ntemp_b = temp_b + A(i, j) * X(j);endX(i) = (b(i) - temp_b) / A(i, i);endend这个程序要求输入两个参数,一个是系数矩阵,另外一个是矩阵b。

相关文档
最新文档