MATLAB实习报告-1

合集下载

matlab实训报告总结

matlab实训报告总结

matlab实训报告总结Matlab实训报告总结摘要:本文总结了在Matlab实训中所学到的知识和经验,包括Matlab的基本操作、常用函数的使用、图形绘制和数据处理等方面。

通过实际操作和实验练习,我们深入了解了Matlab的强大功能和灵活性,在数据处理和科学计算方面取得了令人满意的结果。

1. 引言Matlab是一种强大的科学计算软件,广泛应用于工程、数学、物理和其他科学领域。

在Matlab实训中,我们学习了如何使用Matlab 进行数据处理、模拟实验和图形绘制等操作。

2. 实训内容在实训中,我们首先学习了Matlab的基本操作,包括变量的定义和赋值、数组和矩阵的创建和运算,以及条件语句和循环语句的使用。

这些基本操作是我们后续实验的基础。

接着,我们学习了常用函数的使用。

Matlab提供了许多内置函数,例如求解方程、插值、傅里叶变换等。

我们通过实际例子学习了这些函数的使用方法,并在实验中应用到了实际问题中。

在图形绘制方面,Matlab提供了丰富的绘图函数,可以绘制二维和三维图形。

我们学习了如何绘制线条、曲线、散点图和柱状图等,并通过实验练习提高了我们的图形绘制能力。

我们学习了数据处理的方法。

Matlab提供了强大的数据处理函数,可以对数据进行滤波、拟合、统计和分析等操作。

我们通过实验掌握了这些数据处理方法,并将其应用到了实际数据中。

3. 实训成果通过Matlab实训,我们取得了一些令人满意的成果。

首先,我们掌握了Matlab的基本操作,能够灵活运用各种语句和函数解决问题。

其次,我们学会了使用Matlab进行数据处理和图形绘制,能够对实验数据进行分析和展示。

最后,我们通过实验练习,提高了自己的问题解决能力和创新思维。

4. 实训心得在Matlab实训中,我们遇到了一些困难和挑战。

但是通过不断的尝试和学习,我们克服了这些困难,取得了一些进步。

在实训中,我们学会了如何提高自己的编程技巧和问题解决能力,培养了耐心和坚持的品质。

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

--实习报告班级:******姓名:**学号:***********指导老师:***日期: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实习报告

MATLAB实习报告

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

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

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

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

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

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

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

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

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

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

在实践中,我熟悉了MATLAB的基本语法和函数,并学会了如何利用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实验报告

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

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

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

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

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

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

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

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时,求最后一个自然数以及自然数的和。

MATLAB_实习报告范文大全

MATLAB_实习报告范文大全

MATLAB_实习报告范文大全第一篇:MATLAB_实习报告实习报告实习题目:专业:学号:的设计与绘图MATLAB 一.概述MATLAB 作为一种高级科学计算软件,是进行算法开发、数据可视化、数据分析以及数值计算的交互式应用开发环境。

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

二.实验目的1.进一步熟悉MATLAB的软件环境和基本使用方法;2.巩固运用MATLAB、矩阵运算、多项式运算、字符串、单元数组、符号计算功能、绘图及句柄图形及它们的命令语句;3.学习和巩固数字图形图像处理在MATLAB中的知识和运用;4.培养我们独立自学、设计和撰写实验报告的能力;5.通过对MATLAB的进一步学习,是我们加深所学内容的认识,理解,掌握,能把所学知识运用到实际工作中;三.实习日记1.熟悉MATLAB的软件环境和基本使用方法(第一周)MATLAB的语言的基本功能和特点:它是一种高级科学计算语言,相对于传统的C、C++ 或者FORTRAN 语言,MATLAB 提供了高效快速解决各种科学计算问题的方法。

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

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

路径设置:除 MATLAB 默认的搜索路径外,用户可以设置搜索路径。

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

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

Matlab实验报告

Matlab实验报告

实验结果及分析实验1:程序如下x=1:10y=2*x;plot(x,y)仿真结果:实验结果分析:仿真结果是条很规则的直线,X轴和Y轴一一对应,清楚明了,而序又特别简单。

所以用Maltab 软件很方便地画出规则的直线,方便研究。

实验结果及分析1、A=2、A=1A=实验结果及分析实验三 Matlab在信号与系统中的应用实验名称实验1、掌握信号与系统课程中基本知识的Matlab编程、仿真方法目的实验原理实验1程序:b=[1];a=[1 1];p=;t=0:p:5;x=exp(-3*t);subplot(1,2,1);impulse(b,a,0:p:5);title('冲激响应');subplot(1,2,2);step(b,a,0:p:5);title('阶跃响应');实验内容<设计性实验>1、用MATLAB在时域中编程求解y′(t)+y(t)=f(t), f(t)= exp(-3t)ε(t)的冲激响应、阶跃响应。

在simulink仿真环境下,设计系统框图,分析系统的冲激响应、阶跃响应。

<设计性实验>(选做)2、用MATLAB在时域中编程求解y′(t)+y(t)=f(t), f(t)=(1+exp(-3t))ε(t)的冲激响应、阶跃响应,要求用conv编程实现系统响应。

在simulink仿真环境下,设计系统框图,分析系统的冲激响应、阶跃响应。

实验结果及分析实验1仿真结果:simulink仿真环境下冲激响应阶跃响应实验名称实验四 Matlab在数字信号处理中的应用实验结果及分析实验1仿真结果:6khz12kHZ。

Matlab实验报告(1)

Matlab实验报告(1)

《Matlab语言与应用》课程实验报告*名:**班级:电信114学号:************指导老师:***二〇一三年十一月二十一日Matlab实验报告实验一一、实验问题求[12 + sin(2)×( 22 −4)]÷3^2的算术运算结果。

二、问题的分析该题主要熟悉Matlab环境下的对数学运算的熟悉,如何输入数据、建立函数输出结果。

三、上机实验结果如图四、实验的总结与体会通过本次实验,我学会了用Matlab来计算数学运算中的复杂技术。

我们也可以自己编写一个可以调用的函数,首先我们要了解Matlab语言函数的基本结构,结构如下:Function [返回变量列表]=函数名(输入变量列表)注释说明语句段,由%引导输入、返回变量格式的检测函数体语句例如:输入变量为k,返回的变量为m和s,其中s为前m项的和Function [m,s]=findsum(k)s=0;m=0;while(s<=k),m=m+1;s=s+m;end编写了函数,就可以将其存为findsum.m文件,这样就可以在Matlab环境中对不同的k值调用该函数了。

这样就可以灵活的实现我们想要的数据。

实验二一、实验问题二、问题分析输入矩阵时,空格或逗号表示间隔,分号表示换行,比如上面的矩阵A应写为A=[1,2,3;4,5,6;7,8,9]三、上机实验结果如图四、实验的总结与体会通过对本次上机实验了解到在Matlab中对矩阵的代数运算矩阵转置、矩阵的加减法运算、矩阵乘法、矩阵的左、右除、矩阵翻转、矩阵乘方运算、点运算等。

实验三一、实验要求画图,理解plot函数用法二、代码如下clear; clf;t=0:pi/20:2*pi;R=5;x=R*sin(t); y=R*cos(t);plot(x,y,'b:'), gridhold onrrr=[x;y;x+y];plot(rrr(1,:),'.','MarkerSize',10,'Color','r')plot(rrr(2,:),rrr(3,:),'o','MarkerSize',15,'Color','b'); axis([-8,20,-8,8]), % axis squarehold off三、Matlab运行结果如图实验四一、实验要求二、代码如下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') Grid三、Matlab运行结果如图实验五一、实验要求傅里叶频谱分析二、代码及分析(1)首先生成数据,包含50Hz和120Hz频率的正弦波x >>t = 0:.001:.25;>>x = sin(2*pi*50*t) + sin(2*pi*120*t);(2)再生成噪音信号yy = x + 2*randn(size(t));plot(y(1:50))title('Noisy time domain signal')(3)对y进行快速傅里叶变换Y = fft(y,256);(4)计算功率谱Pyy = Y.*conj(Y)/256;f = 1000/256*(0:127);plot(f,Pyy(1:128))title('Power spectral density')xlabel('Frequency (Hz)')(5)只查看200Hz以下频率段plot(f(1:50),Pyy(1:50))title('Power spectral density')xlabel('Frequency (Hz)')三、上机结果如下图实验六一、实验要求FIR数字滤波器设计代码如下clear;close allf=[0,0.6,0.6,1]; m=[0,0,1,1]; % 设定预期幅频响应b=fir2(30,f,m); n=0:30; % 设计FIR 数字滤波器系数subplot(3,2,1),stem(n,b,'.')xlabel('n'); ylabel('h(n)');axis([0,30,-0.4,0.5]),line([0,30],[0,0])[h,w]=freqz(b,1,256);subplot(3,2,2),plot(w/pi,20*log10(abs(h)));gridaxis([0,1,-80,0]),xlabel('w/pi'); ylabel('幅度(dB)');二、上级结果如图实验七二、实验要求用guide实验一个简单的加减乘除计算器二、实验步骤在命令行输入guide命令,进入guide界面新建一个空白guide文件在空白文件中设置好功能模块如图模块建立好后,就要把编写好的加减乘除代码加入到各自的回调函数中,见下图两个被加数代码如下图加模块代码如下图减模块代码如下图乘模块代码如下图除模块代码如下图各模块的回调函数加完后就可以运行了,运行结果如下图总结:Matlab一个高级的距阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。

matlab实验一实验报告

matlab实验一实验报告

石家庄铁道大学《Matlab语言及其应用》实验报告--实验1 Matlab软件环境的基本使用实验者姓名:韩云星实验者学号:20153254实验者班级:信1501-1所在学院:信息科学与技术学院课程编号:RL090011指导教师:刘展威报告完成日期:2017年 4月 28 日实验一熟悉MATLAB 工作环境一、实验目的1、了解Matlab的发展和主要功能;2、熟悉Matlab工作环境的各个窗口;3、掌握建立矩阵的方法;4、掌握Matlab各种表达式的书写规则以及常用函数的使用。

二、实验内容图 1实验内容1图 2实验内容2图 3实验内容3三、实验设备和软件环境处理器: Intel(R) Core(TM) i5-6200 CPU @ 2.30GHz (4 CPUs), ~2.3GHz内存: 4096MB RAMIntel(R) Core(TM) i5-6200 CPU @ 2.30GHz (8 CPUs), ~2.3GHz硬盘: Model: ATA ST2000DM001-1ER1 SCSI Disk Device操作系统: Windows 7 旗舰版 64-bit (6.1, Build 7601) (7601.win7_gdr.101026-1503)Matlab版本:9.0.0.341360 (R2016a)四、实验步骤或过程1.在命令窗口依次输入下列命令,根据执行结果分析其功能:help在命令窗口输入后,会看到帮助的目录信息,如下图所示图 4 帮助的目录信息lookfor inv输入后会在命令窗口显示帮助中含有字母inv的函数和函数功能的列表。

图 5 帮助中含有字母inv的函数和函数功能help inv查找函数inv,并显示其帮助信息。

图 6查找函数invWhich inv显示函数保存的位置信息和类型。

图 7显示函数保存的位置信息和类型2.建立自己的工作目录,再将自己的工作目录设置到Matlab搜索路径下。

matlab实习报告[1]

matlab实习报告[1]

Matlab上机实习报告学院电子信息学院班级信息105学号20100012457941姓名张三2011年6月28日前段时间我们进行了Matlab上机实习。

实习了有五天,共做了四个部分。

分别是:一,Matlab基本操作;二,数值数组及其运算;三,Matlab图形绘制基础。

四,句柄图形和图形用户界面制作下面分别介绍个部分实习内容。

实习内容一Matlab基本操作1,实习目的:·掌握Matlab的启动和退出;·熟悉Matlab的命令窗口;·熟悉其他常用窗口和工具栏;2,实习内容与步骤:在指令窗中输入下面一段程序,功能是::画出衰减振荡曲线y=(e-t/3)sin3t及其他的包络线y0=(e-t/3)。

T的取值范围是。

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’)观察输出结果3,通过下拉菜单File:Preferences改变设置指令窗中的字体、颜色等。

如:数据显示格式的设置:Format short 小数点后四位(缺省情况),如显示p为3.1416。

Format long 小数点后十四位,如显示p为3.14159265358979。

Formant bank 小数点后两位,如显示p为3.14。

Format short e 小数点后四位科学记数法,如显示p为3.1416e+000。

Format long e 小数点后十四五位科学记数法,如显示p为3.141592653589793e+000。

在指令窗中键入y1=2*sin(0.3*pi)/(1+sqrt(5))然后利用回调指令计算y2=2*y1*cos(0.3*pi)/(1+sqrt(5))y1 =0.5000y2 =0.18164,了解软件中的一些功能和命令。

包括熟悉历史指令窗(Command History)、熟悉当前目录浏览器(Current Diretory)、熟悉工作空间浏览器(Workspace Browser),以及一些指令如: clear 清除当前工作区中的所有变量clc 清除指令窗中内容(未清除当前工作区中的变量)clf 清除图形窗口cd 设置当前工作目录exit,quit 退出Matlab实习内容二数值数组及其运算1,实习目的·掌握一维数组的创建和寻访;·掌握二维数组的创建和寻访;·掌握的Matlab矩阵和数组的运算;·熟悉Matlab关系操作和逻辑操作;2,实习内容和步骤(1)常量与变量变量名区分字母大小写;变量名必须以字母打头,其后可以是任意字母,数字,或下划线的组合。

MATLAB上机实习报告

MATLAB上机实习报告

Matlab上机实习实习报告十八周我们进行了本学期的第二次实习——Matlab上机实习。

本次实习一星期,共实习了五个部分。

分别是:一,Matlab基本操作;二,数值数组及其运算;三,Matlab图形绘制基础;四:SIMULINK仿真基础;五:句柄图形和图形用户界面制作。

下面分别介绍各部分内容:实习内容一Matlab基本操作1.实习目的:●掌握Matlab的启动和退出;●熟悉的命令窗口;●熟悉其它常用窗口和工具栏;2.输入一段程序: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’)输出结果:3.了解文件中的一些功能和指令.例如:clear 清除当前工作区中所有变量clc 清除指令窗内容clf 清除图形窗口cd 设置当前工作目录exit,quit 退出MATLAB实习内容二数值数组及其运算1.实习目的●掌握一维数组的创建和寻访●掌握二维数组的创建和寻访●掌握MATLAB的矩阵和数组的运算●熟悉MATLAB关系操作和逻辑操作2.要求在闭区间[0,2pi]上产生50个等距采样的一维数组A,试用两种不同的指令实现。

要访问1到5元素如何实现;寻访7到最后一个元素如何实现;寻访第2.6.8个元素如何实现;寻访大于2的元素如何实现;给第3.5.9个元素赋值100如何实现:(1)>> A=linspace(0,2*pi,50);>> A=0:(50/49):50;>> AA =Columns 1 through 90 1.0204 2.0408 3.0612 4.0816 5.1020 6.1224 7.1429 8.1633Columns 10 through 189.1837 10.2041 11.2245 12.2449 13.2653 14.2857 15.3061 16.3265 17.3469Columns 19 through 2718.3673 19.3878 20.4082 21.4286 22.4490 23.4694 24.4898 25.5102 26.5306Columns 28 through 3627.5510 28.5714 29.5918 30.6122 31.6327 32.6531 33.6735 34.6939 35.7143Columns 37 through 4536.7347 37.7551 38.7755 39.7959 40.8163 41.8367 42.8571 43.8776 44.8980Columns 46 through 5045.9184 46.9388 47.9592 48.9796 50.0000(2)>> whos A>> A(1:5)ans =0 1.0204 2.0408 3.0612 4.0816(3)>> A(7:50)ans =Columns 1 through 86.12247.14298.16339.1837 10.2041 11.2245 12.2449 13.2653Columns 9 through 1614.2857 15.3061 16.3265 17.3469 18.3673 19.3878 20.4082 21.4286Columns 17 through 2422.4490 23.4694 24.4898 25.5102 26.5306 27.5510 28.5714 29.5918Columns 25 through 3230.6122 31.6327 32.6531 33.6735 34.6939 35.7143 36.7347 37.7551Columns 33 through 4038.7755 39.7959 40.8163 41.8367 42.8571 43.8776 44.8980 45.9184Columns 41 through 4446.9388 47.9592 48.9796 50.0000(4)>> A([2 6 8])ans =1.0204 5.1020 7.1429(5)>> poison=find(A>2)poison =Columns 1 through 143 4 5 6 7 8 9 10 11 12 13 14 15 16Columns 15 through 2817 18 19 20 21 22 23 24 25 26 27 28 29 30Columns 29 through 4231 32 33 34 35 36 37 38 39 40 41 42 43 44Columns 43 through 4845 46 47 48 49 50 (6)>> A([3 5 9])=100 (7)>> A=[1 2 3;4 5 6] A =1 2 3 4 5 63. 在指令窗口输入A=[1 2 3;4 5 6] 观察结果:分别用“全坐标”“单坐标”来寻访第2行第1列的元素,并说明二维数组元素的存储顺序。

matlab实验一实验报告

matlab实验一实验报告

matlab实验一实验报告实验一:Matlab实验报告引言:Matlab是一种强大的数学软件工具,广泛应用于科学计算、数据分析和工程设计等领域。

本实验旨在通过使用Matlab解决实际问题,探索其功能和应用。

一、实验目的本次实验的主要目的是熟悉Matlab的基本操作和常用函数,了解其在科学计算中的应用。

二、实验内容1. 数值计算在Matlab中,我们可以进行各种数值计算,包括基本的加减乘除运算,以及更复杂的矩阵运算和方程求解。

通过编写相应的代码,我们可以实现这些功能。

例如,我们可以使用Matlab计算两个矩阵的乘积,并输出结果。

代码如下:```matlabA = [1 2; 3 4];B = [5 6; 7 8];C = A * B;disp(C);```2. 数据可视化Matlab还提供了强大的数据可视化功能,可以将数据以图表的形式展示出来,更直观地观察数据的规律和趋势。

例如,我们可以使用Matlab绘制一个简单的折线图,来展示某个物体在不同时间下的位置变化。

代码如下:```matlabt = 0:0.1:10;x = sin(t);plot(t, x);xlabel('Time');ylabel('Position');title('Position vs. Time');```3. 图像处理Matlab还可以进行图像处理,包括图像的读取、处理和保存等操作。

我们可以通过Matlab对图像进行增强、滤波、分割等处理,以及进行图像的压缩和重建。

例如,我们可以使用Matlab读取一张图片,并对其进行灰度化处理。

代码如下:```matlabimg = imread('image.jpg');gray_img = rgb2gray(img);imshow(gray_img);```三、实验结果与分析在本次实验中,我们成功完成了数值计算、数据可视化和图像处理等任务。

matlab专业实习报告

matlab专业实习报告

MATLAB专业实习报告引言本报告旨在总结我的MATLAB专业实习经历,介绍我在实习期间所学习到的知识和技能,并对实习过程中的困难和解决方案进行讨论。

实习目标在此次MATLAB专业实习中,我的主要目标是:1.掌握MATLAB编程语言的基本语法和使用方法;2.学习MATLAB在数据分析和可视化方面的应用;3.深入了解MATLAB在工程领域的应用,并学会解决实际问题;4.增强团队合作和沟通能力。

实习过程第一阶段:学习基础知识在实习开始之前,我花了一段时间系统地学习了MATLAB编程语言的基础知识。

我通过阅读MATLAB官方文档、参加在线培训课程和解决练习题来提高自己的编程能力。

第二阶段:数据分析和可视化在掌握了基础知识后,我开始学习MATLAB在数据分析和可视化方面的应用。

我学习了如何导入和处理各种类型的数据,并使用MATLAB内置函数进行统计分析和可视化展示。

第三阶段:工程实践在第二阶段的基础上,我开始将所学知识应用到实际工程问题中。

我参与了一个工程项目,该项目是开发一个用于控制系统设计的MATLAB工具。

在项目中,我与团队成员合作,负责编写代码、进行测试和提供技术支持。

第四阶段:总结与展望在实习的最后阶段,我对整个实习过程进行了总结,并对未来的学习和发展提出了展望。

通过这次实习,我不仅学到了MATLAB编程的基本知识和技能,还锻炼了自己的团队合作和沟通能力。

遇到的困难与解决方案在实习过程中,我也遇到了一些困难,例如: 1. 理解复杂的MATLAB函数和算法;2. 处理大型数据集时的内存限制问题;3. 与团队成员协调工作和解决问题。

针对这些困难,我采取了以下解决方案: 1. 通过仔细阅读MATLAB官方文档和参考书籍,结合在线资源和论坛寻求帮助,逐步理解复杂函数和算法的原理和用法; 2. 优化代码和采用分块处理的方法,以减少内存占用; 3. 主动与团队成员交流,及时沟通问题并寻求解决方案。

结论通过这次MATLAB专业实习,我不仅学到了专业知识和技能,还提高了自己的问题解决和团队合作能力。

MATLAB实验报告

MATLAB实验报告

实验一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 盘下的data.txt 文件2)读入D 盘下的data.txt 文件,并赋给变量num 8.符号运算1)对表达式f=x 3-1进行因式分解2)对表达式f=(2x 2*(x+3)-10)*t ,分别将自变量x 和t 的同类项合并3)求3(1)xdzz 三、实验报告要求完成实验内容的3、4、5、6、7、8,写出相应的程序、结果实验二MATLAB语言的程序设计一、实验目的1、熟悉MATLAB 程序编辑与设计环境2、掌握各种编程语句语法规则及程序设计方法3、函数文件的编写和设计4、了解和熟悉变量传递和赋值二、实验内容1.编写程序,计算1+3+5+7+…+(2n+1)的值(用input 语句输入n 值)。

Matlab上机实习报告

Matlab上机实习报告

Matlab上机实习报告一、实习目的本次 Matlab 上机实习的主要目的是让我们熟悉并掌握 Matlab 软件的基本操作和应用,提高我们运用数学工具解决实际问题的能力。

通过实际的编程和计算,深入理解数学算法在计算机中的实现,培养我们的逻辑思维和创新能力。

二、实习环境实习使用的计算机操作系统为 Windows 10,安装的 Matlab 版本为R2020a。

计算机配置为:Intel Core i5 处理器,8GB 内存,512GB 固态硬盘。

三、实习内容1、矩阵运算在 Matlab 中,矩阵是最基本的数据结构。

我们首先学习了矩阵的创建、访问、修改和基本运算,如加法、减法、乘法、转置等。

通过实际的编程练习,掌握了如何利用矩阵运算解决线性方程组、求逆矩阵等问题。

例如,对于线性方程组 Ax = b,其中 A 是系数矩阵,x 是未知向量,b 是常数向量。

我们可以使用 Matlab 中的反斜杠运算符“\”来求解,即 x = A\b。

2、函数绘图Matlab 具有强大的绘图功能,能够直观地展示函数的性质和变化趋势。

我们学习了如何绘制二维和三维图形,包括折线图、散点图、柱状图、曲面图等。

通过调整绘图的参数,如线条颜色、标记形状、坐标轴范围等,可以使图形更加清晰和美观。

例如,绘制函数 y = sin(x) 在区间0, 2π 上的图像,可以使用以下代码:```matlabx = 0:001:2pi;y = sin(x);plot(x, y)```3、数值计算Matlab 提供了丰富的数值计算函数,如求积分、求导数、求解常微分方程等。

我们通过实际的案例,学会了如何运用这些函数来解决科学计算和工程中的问题。

例如,使用数值积分函数“quad”计算函数 f(x) = x^2 在区间 0, 1 上的定积分,可以使用以下代码:```matlabfunction f = myfun(x)f = x^2;endresult = quad(@myfun, 0, 1)```4、程序设计在实习过程中,我们还学习了 Matlab 的程序设计结构,包括顺序结构、选择结构(ifelse 语句)和循环结构(for 循环、while 循环)。

matlab实验一 报告

matlab实验一 报告

Matlab实验报告实验一熟悉MATLAB工作环境一、实验目的初步熟悉MATLAB 工作环境,熟悉命令窗口,学会使用帮助窗口查找帮助信息二、实验内容(1) 熟悉MATLAB 平台的工作环境。

(2) 熟悉MATLAB 的5 个工作窗口。

(3) MATLAB 的优先搜索顺序。

三、实验步骤1. 熟悉MATLAB 的5 个基本窗口①Command Window (命令窗口)②Workspace (工作空间窗口)③Command History (命令历史记录窗口)④Current Directory (当前目录窗口)⑤Help Window (帮助窗口)(1) 命令窗口(Command Window)在命令窗口中依次输入以下命令:⏹>>x=1⏹>>y=[1 2 3⏹ 4 5 6⏹7 8 9];⏹>>z1=[1:10], z2=[1:2:5];⏹>>w=linspace(1,10,10);⏹>>t1=ones(3) ,t2=ones(1,3),t3=ones(3,1)⏹>>t4=zeros(3),t5=eye(4)结果如下:>> x=1x =1>> y=[1 2 3;4 5 6;7 8 9;]y =1 2 34 5 67 8 9>> z1=[1:10], z2=[1:2:5];z1 =1 2 3 4 5 6 7 8 9 10>> w=linspace(1,10,10);>> t1=ones(3) ,t2=ones(1,3),t3=ones(3,1)t1 =1 1 11 1 11 1 1t2 =1 1 1t3 =111>> t4=zeros(3),t5=eye(4)t4 =0 0 00 0 00 0 0t5 =1 0 0 00 1 0 00 0 1 00 0 0 1⏹思考题:⏹①变量如何声明,变量名须遵守什么规则、是否区分大小写。

matlab实习报告总结

matlab实习报告总结

MATLAB实习报告总结介绍本文是对我在MATLAB实习过程中的总结与反思。

通过这次实习,我对MATLAB的使用有了更深入的了解,并且对实际问题的解决能力也有了提升。

实习目标在实习开始之前,我设定了以下几个目标: 1. 熟悉MATLAB的基本语法和常用函数; 2. 学习如何使用MATLAB解决实际问题; 3. 提升自己的编程能力和解决问题的思维能力。

实习过程第一阶段:熟悉MATLAB基本语法在实习开始之初,我花了一段时间来学习MATLAB的基本语法。

通过阅读官方文档和参考书籍,我了解了MATLAB的变量定义、矩阵运算、函数定义等基本概念和用法。

我利用空闲时间编写了一些简单的代码来巩固这些知识。

第二阶段:学习MATLAB的常用函数在熟悉基本语法之后,我开始学习MATLAB的常用函数。

我学习了MATLAB 中的统计分析函数、数据可视化函数、图像处理函数等。

通过学习这些函数,我可以更高效地处理和分析数据,同时也能够更好地展示我的结果。

第三阶段:实际问题的解决在掌握了MATLAB的基本语法和常用函数后,我开始尝试使用MATLAB解决一些实际问题。

我选择了一个与我的专业相关的问题,通过MATLAB对数据进行分析和建模。

在这个过程中,我遇到了一些困难和挑战,但通过查阅资料和请教同学,我最终成功解决了这些问题。

第四阶段:编程能力和思维能力的提升通过这次实习,我的编程能力和解决问题的思维能力得到了提升。

在实际问题的解决过程中,我学会了如何分析问题、设计算法、编写代码并调试。

通过与同学的讨论和交流,我也学会了如何思考和解决问题的不同角度。

总结与反思这次MATLAB实习让我受益匪浅。

通过实际操作,我深入了解了MATLAB的使用方法和技巧。

我学会了如何使用MATLAB解决实际问题,并且在这个过程中提升了自己的编程能力和解决问题的思维能力。

然而,我也发现了自己的不足之处。

在实习过程中,我有时会陷入“死记硬背”的状态,只注重语法和函数的使用,而不去思考问题背后的本质,这导致我在解决一些复杂问题时遇到了困难。

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

MATLAB --实习报告班级:******姓名:**学号:***********指导老师:***日期: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)b.3次拟合 (8)c. 3次拟合截图 (9)d. 4次拟合 (9)e. 4次拟合截图 (10)3.高斯消去法解线性方程组 (11)a.高斯消去法源代码 (11)b.第一个小题 (12)c.第二个小题 (13)4.雅克比迭代法与SOR方法 (13)a. 雅克比迭代法的计算公式 (13)b. 超松弛迭代法的计算公式 (14)c.得到希尔矩阵 (14)d.得到b矩阵 (14)e.雅克比迭代法实现的函数 (14)f.SOR迭代法实现的函数 (15)g.对于雅克比迭代法,通过执行以下代码 (16)h. 对于SOR迭代法,执行相对应代码 (16)四.心得与感想 (19)一.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.01 6.03 1.991.27 4.16−1.230.987−4.819.34][x1x2x3]=[111];(2) [3.00 6.03 1.991.27 4.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()函数,绘图b.3次拟合通过以下代码>> xx =0 0.1000 0.2000 0.3000 0.5000 0.8000 1.0000>> yy =1.0000 0.4100 0.5000 0.6100 0.91002.02002.4600>> s1 = polyfit(x, y, 3);>> temp = 0:0.001:1;>> y_temp = zeros(size(temp));>> y_temp = polyval(s1, temp);>> hold on;>> plot(temp, y_temp)c. 3次拟合截图可以得到下面的截图,这是看到3次拟合后的多项式与原来的图形比较d. 4次拟合通过下面代码>> xx =0 0.1000 0.2000 0.3000 0.5000 0.80001.0000>> yy =1.0000 0.4100 0.5000 0.6100 0.91002.02002.4600>> 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:0.01: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。

相关文档
最新文档