当前位置:文档之家› 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的路径搜索顺序,合理为变量和函数命名,保证程序的正确运行。

3.熟练运用MATLAB的数组和数组、矩阵运算、数学运算的运算方法例题1:用一元二次方程求根公示解方程x^2+2*x+3=0的根。

解:﹥﹥a=(-2+sqrt(2*2-4*1*3))/2*1a=-1.0000+1.4142i﹥﹥a=(-2-sqrt(2*2-4*1*3))/2*1a=-1.0000-1.4142i例题2:三角边长分别为3、4、5,求其面积。

Area=sqrt(s(s-a)(s-b)(s-c)),s=(a+b+c)/2解:﹥﹥a=3;b=4;c=5;S=.6﹥﹥Area=sqrt(s*(s-a)*(s-b)*(s-c))例题3:求矩阵方程AX=B-2X,其中⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=210131021A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=011001B .解:﹥﹥A=[120;131;012];﹥﹥B=[10;01;-10];﹥﹥X=(A+2*eve(3))\BX=0.3469-0.1633-0.02040.2499-0.2449-0.0612例题四:求矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡210121012的行列式,秩,逆,特征值,特征向量,条件数,LU 分解解:﹥﹥A=[210;121;012];﹥﹥lambda=eig(A)lambda=0.58582.00003.4142﹥﹥rank(A)ans=3﹥﹥x=inv(A)X=0.7500-0.50000.2500-0.500-0.0000-0.50000.2500-0.50000.7500﹥﹥IV,DI=eig(A)V=0.5000-0.70000.5000-0.7071-0.00000.70710.5000-0.70710.5000P=0.5858000 2.000000 3.4142﹥﹥cond(A)Ans=5.8284﹥﹥[L,U]=lu(A)L=1.0000000.5 1.0000000.6667 1.0000U=2.0000 1.000000 1.5000 1.000000 1.3333例题4:鸡和兔子关在一个笼子里,共有头36,脚100,问鸡和兔子各多少?解:﹥﹥A=[1,1;2,4]﹥﹥B=[36;100]﹥﹥X=inv(A)*BX=2214例题5:球积分⎰13^dxx,⎰312^x lnxdx。

﹥﹥fun@(x)x.x^3;q=quad(fun,0,1)q=0.2500﹥﹥fun@(x)x.x^2.*log(x);q=quad(fun,1,3) q=6.9986例题6:xydxdy⎰⎰01解:﹥﹥fun@(x,y)x.y;﹥﹥q=dblquad(fun,0,1,0,1)q=0.2500例题7:求z=x^2+2*x+3的极值解:﹥﹥fh@(x)x.^2+2.*x+3;﹥﹥fminbnd(fh,-2,0)Ans=-14.熟悉MATLAB的字符串、单元数组1),字符串的生成MATLAB中的字符串为ASCII值的数值数组,作为字符串表达式进行表示。

在MATLAB中,生成字符串的方法为stringname=’the content of the string’。

str='Command Window'str1='The'MATLAB Help'is a good reference for using Matlab' str1='The''MATLAB Help''is a good reference for using Matlab‘str=['qinghua university''peiking university']2).字符串的操作字符串的显示字符串的显示有两种方式:直接显示和利用disp函数进行显示。

字符串的执行在MATLAB中可以用函数eval来执行字符串。

str=['MATLAB2006a']str,disp(str)for n=1:3magic_str=['M',int2str(n),'=magic(n)'];eval(magic_str)end3).字符串的比较字符串的比较主要为比较两个字符串是否相同,字符串中的子串是否相同和字符串中的个别字符是否相同。

用于比较字符串的函数主要是strcmp和strncmp。

–strcmp:用于比较两个字符串是否相同。

用法为strcmp(str1,str2),当两个字符串相同时返回1,否则返回0。

当所比较的两个字符串是单元字符数组时,返回值为一个列向量,元素为相应行比较的结果。

–strncmp:用于比较两个字符串的前面几个字符是否相同。

用法为strncmp(str1,str2,n),当字符串的前n个字符相同时返回1,否则返回0。

当所比较的两个字符串时单元数组时,返回值为列向量,元素为相应行比较的结果。

–str1=['MATLAB'],str2=['MATlab']strcmp(str1,str2),strncmp(str1,str2,3),strncmp(str1,str2,4)4).字符串的查找和替换一个字符串是由单引号括起来的简单文本。

在字符串中的每个字符都是数组中的一个元素,这些数字是由ASCII字符表示的。

这些字符和整数之间可以相互转化。

5.熟悉MATLAB的程序设计1)。

M文本文件介绍一个M文件通常包含五个部分,函数定义语句、H1帮助行、帮助文本、函数体或者脚本文件语句和注释语句。

H1行为紧随函数定义语句后面的一行注释语句。

当用户通过help命令查询该函数的说明信息时H1行显示为第一行,另外lookfor函数只检索和显示H1行。

帮助文本为H1行后面连续的注释行,当在命令窗口中通过help命令查询该函数的说明信息时则在窗口中显示这些内容。

函数体为M文件的主要部分,是函数的执行代码。

除上面的H1行和帮助文本外,为了易于理解,可以在书写代码时添加注释语句。

这些注释语句在编译程序时会被忽略,因此不会影响编译速度和程序运行速度,但是能够增加程序的可读性。

例1:某日测得从零点开始每隔2小时的环境温度数据如下(℃):12,9,9,10,18,24,28,27,25,20,18,15,13,推测中午1点(即13点)的温度,并画出这一天的温度曲线.解1)写脚本文件并运行x=0:2:24;y=[129910182428272520181513];x1=13;y1=interp1(x,y,x1),y2=interp1(x,y,x1,'spline')2)写脚本文件并运行xi=0:1/3600:24;y1i=interp1(x,y,xi);y2i=interp1(x,y,xi,'spline');plot(x,y,'o',xi,y1i,'-',xi,y2i,'-.')输出这一天的温度曲线,见图1.2)。

一个完整的M文件的结构为:function f=fact(n)函数定义语句%Compute a factorial value.H1行%FACT(N)returns the factorial of N,帮助文本%usually denoted by N!%Put simply,FACT(N)is PROD(1:N).注释语句f=prod(1:n);函数体6.熟悉MATLAB的符号计算功能1)。

符号变量、表达式的生成例题1:用sym函数生成符号表达式aex+bsinx解:>>a=sym('a');b=sym('b');x=sym('x');e=sym('e');f=a*e^x+b*sin(x)>>f=sym('a*e^x+b*sin(x)')例题2:用syms函数生成符号变量解:>>syms a bf=a+b>>syms x y5syms x y f12).创建符号方程创建符号方程的方法有两种:–利用符号表达式创建•先创建符号变量,通过符号变量的运算生成符号函数•直接生成符号表达式>>syms a b x;f=a*sin(x)+b*cos(x),g=sym('x^2+y^2+z^2')–创建M文件•利用M文件创建的函数,可以接受任何符号变量作为输入,作为生成函数的自变量function z=sinc(x)if isequal(x,sym(0))z=1;elsez=sin(x)/x;end>>syms x y;sinc(x),sinc(y)7..熟悉MATLAB的绘图及句柄图形例题1.在一个窗口中画出y=sin(2x),z=cos(x),0≤x≤2∏,并适当标注,写出程序并记下简图。

相关主题