版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
...wd......wd......wd...实验工程序号1MATLAB基本操作一、实验目的熟悉MATLAB软件环境,掌握命令窗口的使用。二、实验基本知识1、熟悉MATLAB的桌面工具和环境2、Start菜单三、主要仪器及耗材计算机四、实验内容和步骤MATLAB的启动及操作界面认识说明有哪几种启动的方法;操作界面有哪些窗口;对常用的窗口作些简单的介绍。使用Windows的“开场〞菜单。运行MATLAB系统的启动程序matlab.exe。利用桌面上的快捷方式。MATLAB主窗口命令窗口(CommandWindow)当前目录窗口(CurrentDirectory)工作空间窗口(Workspace)命令历史窗口(CommandHistory)以下符号中哪些是MATLAB的合法变量名用给变量赋值的方法在机器上验证你的答案〔3vars、global、help、My_exp、sin、X+Y、_input、E-4、AbCd、AB_C_。〕help,My_exp,sin,AbCd,AB_C_;3、命令窗口的简单使用1〕简单矩阵的输入123A=4567892〕求[12+2×(7-4)]÷32的算术运算结果4、有关向量、矩阵或数组的一些运算1〕设A=15;B=20;求C=A+B与c=a+b2〕设A=[123;456;789],B=[987;654;321];求A*B与A.*BA*B遵循矩阵运算,A.*B遵循每个对应元素之间进展相乘3〕设A=10,B=20;求C=A/B与D=A\B4〕设a=[1-23;45-4;5-67]请设计出程序,分别找出小于0的矩阵元素及其位置〔单下标、全下标的形式〕,并将其单下标转换成全下标>>a=[1-23;45-4;5-67];/%定义矩阵>>b=a(find(a<0));%找到a中小于零的元素b=-2-6-4>>c=find(a<0) %找到小于零元素的单下标c=468>>[x,y]=find(a<0) %找到小于零元素的双下标>>[x,y]=ind2sub(size(a),find(a<0))%单下标转换为双下标5〕在MATLAB命令行窗口运行A=[1,2;3,4]+i*[5,6;7,8];看结果若何如果改成运行A=[1,2;3,4]+i[5,6;7,8],结果又若何6〕请设计出程序完成以下计算:a=[123;342;523],求a^2=,a.^2=解:>>a=[123;342;523];>>a^2%矩阵运算>>a.^2 %数组与矩阵的乘法7〕有一段程序设计如下,请思考并说明运行结果及其原因clearX=[12;89;36];X(:)解:转化X为列向量8〕使用两种方法,创立一稀疏矩阵解:1〕>>a=eye(5); %创立5阶单位矩阵>>sparse(a) %将a构造为稀疏矩阵ans=(1,1)1(2,2)1(3,3)1(4,4)1(5,5)12〕>>data=[1222];>>ir=[1324];>>jc=[1241];>>s=sparse(ir,jc,data,4,4)s=(1,1)1(4,1)2(3,2)2(2,4)29〕写出以下指令的运行结果>>A=[123];B=[456];>>C=3.^AC=3927>>D=A.^BD=1327295、假设需要计算t∈[-1,1],取间隔为0.01,试计算出相对应的y值。>>t=[-1:0.01:1];>>y=sqrt(3)/2*exp(-4*t).*sin(4*sqrt(3)*t+pi/3)%注意要用点乘五、实验本卷须知注意区分大小写注意数组、矩阵运算的不同之处六、思考题1、MATLAB桌面环境有几种样式Default:缺省的界面CommandWindowsOnly:仅包含命令行窗体(CommandWindow)HistoryandCommandWindow:包含两个窗体——命令行窗体(CommandWindow)和命令历史窗体(CommandHistory),两个窗体并列在界面中AllTapped:启动所有MATLAB常用的图形界面工具AllbutCommandWindowMinimized:CommandWindow窗口显示,其他的窗口分别叠加在MATLAB窗体下2、若何使窗体浮动出来又若何使窗体内嵌回MATLAB的界面中在MATLAB默认的图形窗体环境下,单击命令行窗体左上角按钮,就可以将MATLAB命令行窗体弹出执行“Desktop〞菜单下的“DockCurrentDirectory〞命令,可将命令行窗口重新嵌入到MATLAB的界面中实验工程序号2MATLAB运算根基〔一〕一、实验目的掌握MATLAB各种表达式的书写规那么及常用函数的使用二、实验基本知识1、矩阵和向量的创立方法和访问方法1〕创立方法逐个输入向量的元素利用运算符——“:〞语法:X=J:INC:K使用函数linspace和logspace语法:x=linspace(x1,x2,n),x=logspace(x1,x2,n)2〕访问方法:利用向量或矩阵的索引来完成相应的操作。2、数据类型,以及操作不同数据类型数据的函数1〕数据类型2〕操作函数整数类型的运算函数创立逻辑类型数据的函数MATLAB的逻辑运算MATLAB的关系运算格式化字符三、主要仪器及耗材计算机四、实验内容和步骤1、A=[1234-4;34787;3657],B=[13-1;203;3-27],求以下表达式的值:1〕A+6B和A2-B+I〔I为单位矩阵〕2〕A*B和A.*B3〕A^3和A.^34〕[A,B]和[A〔[1,3],:〕;B^2]2、设有矩阵A和B,A=[12345;678910;1112131415;1617181920;2122232425],B=[3016;17-69;023-4;970;41311]1〕求它们的乘积C2〕将矩阵C的右下角3x2子矩阵赋给D3、A=[2310-0.7780;41-45655;325032;6-9.54543.14],取出其前3行构成矩阵B,其前两列构成矩阵C,其左下角3x2子矩阵构成矩阵D,B与C的乘积构成矩阵E,分别求E<D、E&D、E|D、~E|~D和满足(A>=10&A<25)的元素的索引。答案:满足(A>=10&A<25)的元素的索引>>A=[2310-780;41-45655;325032;6-549214];>>a=find(A>=10&A<25)a=15164、使用函数,实现矩阵左旋90°或右旋90°的功能。左旋:>>rot90(A)ans=053214-786509210-455-542341326右旋:>>rot90(A,3)ans=6324123-545-451092065-781432505、求S=20+21+22+23+24+……+210的值〔提示:利用求和函数与累乘积函数。〕>>a=2*ones(1,10);%生成全为2,个数为10的行矩阵>>b=cumprod(a);%得到累乘量〔如21、22〕等等>>c=sum(b)+1c=20476、用reshape指令生成以下矩阵,并取出方框内的数组元素。答案:>>a=[1:510:-1:6];>>b=11:25;>>A=[reshape(a,5,2)';reshape(b,5,3)']%生成矩阵A>>d1=A(2,2:3)>>d2=A(2:4,4)>>d3=A(4:5,1:3)五、实验本卷须知不同的函数有不同的功能,同一函数又有不同的用法,注意正确使用各函数。六、思考题元素的单下标访问和全下标访问有何关联之处实验工程序号3MATLAB运算根基〔二〕一、实验目的掌握MATLAB中有关字符串、元胞、构造的函数的使用。二、实验基本知识有关字符串、元胞、构造的函数常用的字符串操作函数数字和字符之间的转换函数不同数值之间的转换函数格式化字符元胞数组的操作函数在cellfun函数中可用的函数构造操作函数三、主要仪器及耗材计算机四、实验内容和步骤1、求[100,999]之间能被21整除的数的个数〔提示:先利用冒号表达式,再利用find和length函数。〕答案:>>t=[100:999]>>i=find(rem(t,21)==0)>>length(i)ans=432、建设一个字符串向量,删除其中的大写字母〔提示:利用find函数和空矩阵。〕>>a='dadaAf'>>b=find(a>='A'&&a<='Z')>>a(b)=[]a=dadaf3、写出使以下这段文字成为字符串的MATLAB指令。注意保持这段文字的格式。在英式用法中,引号通常是单引号,如‘Fire!’。InGBusagequotationmarksareusuallysingle:‘fire!’答案:>>disp('InGBusagequotationmarksareusuallysingle:''fire!''')4、用构造体数组来存储2名学生的基本情况数据,每名学生的数据包括学号、姓名、专业和3门课程的成绩。>>a=struct('num',{1,2},'name',{'mike','hike'},'major','tele','score',{rand(2,1)*100,rand(2,1)*100});5、建设矩阵A并答复有关问题A{1,1}=1;A{1,2}=’Brenden’;A{2,1}=reshape(1:9,3,3);A{2,2}={12,34,2;54,21,3;4,23,67};若何使用访问的方式将Brenden改写成BRENDEN>>A{1,2}=upper(A{1,2})A=[1]'BRENDEN'[3x3double]{3x3cell}分别执行A(3)=[]和A{3}=[]后,A的值各是多少并说明原因。>>A{3}=[]A=[1][][3x3double]{3x3cell}>>A(3)=[]A=[1][3x3double]{3x3cell}6、利用MATLAB提供的rand函数和圆整函数随机生成4X3整数矩阵A,进展如下操作1〕A各列元素的平均值和中值平均值>>A_mean=mean(A)A_mean=0.50000.75000.7500中值>>A_median=median(A)A_median=0.50001.00001.00002〕A的最大元素和最小元素及它们的位置最大值>>A_max=max(max(A))A_max=1位置:>>[x,y]=find(A==A_max)>>A_maxlocal=[x(1)y(1)]最小值>>A_min=min(min(A))A_min=0位置:>>[xx,yy]=find(A==A_min)>>A_minlocal=[xx(1)
yy(1)]3〕求A的每行元素的和以及全部元素之和>>A_rsum=sum(A,2)%行的和>>A_sum=sum(sum(A))%全和4〕分别对A的每列元素按升序、每行元素按降序排列>>A_rsort=abs(sort(-A,2))五、实验本卷须知字符串函数的使用细节;对元胞数组中的元胞的访问;构造数组的创立方法。六、思考题访问元胞数组的两种操作符“{}〞和“〔〕〞之间有什么不同使用“{}〞直接获取元胞数组的元胞内容使用“〔〕〞直接访问元胞数组的元胞,获取的数据也是一个元胞数组。实验工程序号4MATLAB循环构造程序设计一、实验目的1、掌握建设和执行M文件的方法;2、掌握利用for语句和while语句实现循环构造的方法。二、实验基本知识MATLAB的M语言文件是纯文本格式的文件,MATLAB也提供了一个编辑器,叫作meditor,它也是系统默认的M文件编辑器。运行meditor的方法非常简单,在MATLAB命令行窗口中键入下面的指令就可以翻开meditor: >>edit这时MATLAB将启动meditor,然后创立一个未命名的空白文件。这时用户就可以直接在编辑器中键入MATLAB指令,开发M语言文件了。M语言文件可以分为两类,其中一类是脚本文件,另外一类叫作函数文件。脚本文件是最简单的一种M语言文件。所谓脚本文件,就是由一系列的MATLAB指令和命令组成的纯文本格式的M文件,执行脚本文件时,文件中的指令或者命令按照出现在脚本文件中的顺序依次执行。脚本文件没有输入参数,也没有输出参数,执行起来就像早期的DOS操作系统的批处理文件一样,而脚本文件处理的数据或者变量必须在MATLAB的公共工作空间中。脚本文件中常用的MATLAB指令程序流程控制语句:1、for循环构造语法:fori=初值:增量:终值语句1……语句nend说明:1〕i=初值:终值,那么增量为1。2〕初值、增量、终值可正可负,可以是整数或小数,只须符合数学逻辑。2、while循环构造语法:while逻辑表达式循环体语句end说明:1〕whiIe构造依据逻辑表达式的值判断是否执行循环体语勾。假设表达式的值为真,执行循环体语句一次、在反复执行时,每次都要进展判断。假设表达式的值为假,那么程序执行end之后的语句。2〕为了防止因逻辑上的失误,而陷入死循环,建议在循环体语句的适当位置加break语句、以便程序能正常执行。〔执行循环体的次数不确定;每一次执行循环体后,一定会改变while后面所跟关系式的值。〕3〕while循环也可以嵌套、其构造如下:while逻辑表达式1循环体语句1while逻辑表达式2循环体语句2end循环体语句3end三、主要仪器及耗材计算机四、实验内容和步骤1、分别使用for循环语句和while循环语句找出最小的n值,使得n!>10100,并求出n!。要求显示的结果为n=70n!=1.197857e+100>1e100或70!=1.197857e+100>1e100程序for:s=1;forn=1:100s=s*n;if(s>10^100)break;endendstr1=['n=',num2str(n)];str2=['n!=',num2str(s)];disp(str1)disp(str2)程序while:n=1;s=1;while(s<=10^100)s=s*n;n=n+1;endstr1=['n=',num2str(n-1)];str2=['n!=',num2str(s)];disp(str1)disp(str2)2、f1=1,n=1f2=0,n=2f3=1,n=3fn=fn-1-2fn-2+fn-3,n>3求f1~f50中:1〕最大值和最小值及它们的位置,各数之和〔最大值给变量MAX,其位置给变量x,最小值给变量MIN,其位置给变量y,各数之和给变量SUM〕。程序:f(1)=1;f(2)=0;f(3)=1;forn=4:50f(n)=f(n-1)-2*f(n-2)+f(n-3);end[MAX,x]=max(f)%×¢Òâ²»Òª·ÖºÅ£¬ÒªÖ´ÐеÄÓï¾ä??[MIN,y]=min(f)SUM=sum(f)2〕正数、零、负数的个数〔依次赋值给变量positive,zero,negative〕。将[MAX,x]=max(f)和之后的语句换为:positive=length(find(f>0))zero=length(find(f==0))negative=length(find(f<0))3、Fibonacci数组的元素满足Fibonacci规那么:ak+2=ak+ak+1,〔k=1,2,3,…〕;且a1=a2=1。请设计一段程序,求出该数组中第一个大于10000的元素,要求显示的结果为:i=21a(i)=10946或者a(21)=10946程序为:a=[];a(1)=1;a(2)=1;fori=1:10000a(i+2)=a(i)+a(i+1);ifa(i)>10000break;endenddisp(['i=',num2str(i)])disp(['a(i)=',num2str(a(i))])五、实验本卷须知1、for语句和while语句的应用场合2、注意输出格式的要求六、思考题请思考以下两段程序及其运行结果,说明原因。clear〔2〕clearfori=1:10;fori=1:10;x(i)=i.^2;x(i)=i.^2;endendxx(i)实验工程序号5MATLAB选择构造程序设计一、实验目的1、掌握建设和执行M文件的方法;2、掌握利用if语句和switch语句实现选择构造的方法。二、实验基本知识MATLAB的M语言文件是纯文本格式的文件,MATLAB也提供了一个编辑器,叫作meditor,它也是系统默认的M文件编辑器。运行meditor的方法非常简单,在MATLAB命令行窗口中键入下面的指令就可以翻开meditor: >>edit这时MATLAB将启动meditor,然后创立一个未命名的空白文件。这时用户就可以直接在编辑器中键入MATLAB指令,开发M语言文件了。M语言文件可以分为两类,其中一类是脚本文件,另外一类叫作函数文件。脚本文件是最简单的一种M语言文件。所谓脚本文件,就是由一系列的MATLAB指令和命令组成的纯文本格式的M文件,执行脚本文件时,文件中的指令或者命令按照出现在脚本文件中的顺序依次执行。脚本文件没有输入参数,也没有输出参数,执行起来就像早期的DOS操作系统的批处理文件一样,而脚本文件处理的数据或者变量必须在MATLAB的公共工作空间中。脚本文件中常用的MATLAB指令程序流程控制语句:1、if-else-end分支构造语法:if表达式1语句1elseif表达式2(可选)语句2else(可选)语句3endend说明:1〕if构造是一个条件分支语句,假设满足表达式的条件,那么往下执行;假设不满足,那么跳出if构造。2〕elseif表达式2与else为可选项,这两条语句可依据具体情况取舍。3〕注意:每一个if都对应一个end,即有几个if,记就应有几个end。2、switch-case构造语法:switch表达式case常量表达式1语句组1case常量表达式2语句组2……otherwise语句组nend说明:1〕switch后面的表达式可以是任何类型,如数字、字符串等。2〕当表达式的值与case后面常量表达式的值相等时,就执行这个case后面的语句组如果所有的常量表达式的值都与这个表达式的值不相等时,那么执行otherwise后的执行语句。三、主要仪器及耗材计算机四、实验内容和步骤1、输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90分~100分为A,80分~89分为B,70分~79为C,60分~69分为D,60分以下为E。要求:1〕分别用if语句和switch语句实现2〕对不合理的成绩应输出出错信息“输入的成绩不合理〞〔假设成绩出现小数,那么只能是“.5〞〕程序switch:score=input('ÇëÊäÈë°Ù·ÖÖÆ³É¼¨:');ifrem(score,0.5)==0switchscorecasenum2cell(90:0.5:100)disp('ÄúµÄ³É¼¨µÈ¼¶ÎªA')casenum2cell(80:0.5:89)disp('ÄúµÄ³É¼¨µÈ¼¶ÎªB')casenum2cell(70:0.5:79)disp('ÄúµÄ³É¼¨µÈ¼¶ÎªC')casenum2cell(60:0.5:69)disp('ÄúµÄ³É¼¨µÈ¼¶ÎªD')casenum2cell(0:0.5:59.5)disp('ÄúµÄ³É¼¨µÈ¼¶ÎªE')otherwisedisp('ÄãÊäÈëµÄ³É¼¨²»ºÏÀí')endelsedisp('ÄãÊäÈëµÄ³É¼¨²»ºÏÀí£¬Èô³öÏÖСÊýÖ»ÄÜÊÇ0.5')end程序if:x=input('??????????:');ifrem(x,0.5)==0if(x<=100&x>=90)disp('A')elseif(x>=80&x<=89)disp('B')elseif(x>=70&x<=79)disp('C')elseif(x>=60&x<=69)disp('D')elseif(x<60&x>=0)disp('E')elsedisp('ÊäÈëµÄ³É¼¨²»ºÏÀí')endelsedisp('???????????¡§?????¨ª??????????????????0.5')end设计程序,完成两位数的加、减、乘、除四那么运算,即产生两个两位随机整数,再输入一个运算符号,做相应的运算,显示相应的结果,并要求结果显示类似于“a=x+y=34〞。程序:x=round(rand(1)*100);y=round(rand(1)*100);disp(['x=',num2str(x)]);disp(['y=',num2str(y)]);A=input('请输入一个运算符号:','s');%书上114页有说明switch(A)case'+'a=x+y;disp(['a=x+y=',num2str(a)]);case'-'a=x-y;disp(['a=x-y=',num2str(a)]);case'*'a=x*y;disp(['a=x*y=',num2str(a)]);case'/'a=x/y;disp(['a=x/y=',num2str(a)]);end3、求以下分段函数的值要求:用if语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y值。其中x的值以向量的形式从键盘输入。x=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0]ifx<0&x~=-3y=x.*x+x-6;elseifx>=0&x<5&x~=2&x~=3y=x.*x-5*x+6;elsey=x.*x-x-1endy五、实验本卷须知1、if语句和switch语句的应用场合2、编程时对输入和输出的要求六、思考题填写以下程序的执行结果:a=[90,70,65,54,76];n=length(a);b=zeros(1,n);fori=1:nifa(i)>75b(i)=100-a(i);elseifa(i)<=75b(i)=a(i)-60;endenddisp(b)b=10105-624。实验工程序号6MATLAB函数文件程序设计一、实验目的1、理解函数文件的概念;2、掌握定义和调用MATLAB函数的方法。二、实验基本知识MATLAB的M语言文件是纯文本格式的文件,MATLAB也提供了一个编辑器,叫作meditor,它也是系统默认的M文件编辑器。运行meditor的方法非常简单,在MATLAB命令行窗口中键入下面的指令就可以翻开meditor: >>edit这时MATLAB将启动meditor,然后创立一个未命名的空白文件。这时用户就可以直接在编辑器中键入MATLAB指令,开发M语言文件了。M语言文件可以分为两类,其中一类是脚本文件,另外一类叫作函数文件。M函数文件和脚本文件不同,函数文件不仅有自己特殊的文件格式,不同的函数还分别具有自己的工作空间。同其他高级语言类似,M函数文件也有局部变量和全局变量。函数文件的构造和编写方法:函数只能在函数体内对变量进展操作,也就是只能访问函数本身工作空间中的变量。M函数文件的构造:〔1〕函数定义行〔function〕〔2〕H1行〔函数帮助文本的第一行〕〔3〕函数帮助文本〔4〕函数体〔5〕注释函数文件编写后,保存时,其文件名必须与函数名一样。注意:函数名不要与MATLAB自身的函数命令一样。三、主要仪器及耗材计算机四、实验内容和步骤1、编写一个函数文件chengji.m,用于求两个矩阵的乘积和点乘,然后在命令行窗口中调用该函数〔提示:使用varargout函数〕,要求:1〕当两矩阵是尺寸一样的方阵时,返回它们的乘积和点乘。2〕当两矩阵不是尺寸一样的方阵时,那么根据它们的尺寸,分别进展乘积或点乘。3〕当两矩阵的尺寸不能满足乘积或点乘的要求时,那么提示“这两个矩阵不能乘〞。程序为:functionvarargout=chengji(a,b)[x,y]=size(a);[xx,yy]=size(b);if(xx==yy&&x==y&&x==xx)varargout{1}=a*b;varargout{2}=a.*b;elseif(x==xx&&y==yy)varargout{1}=a.*b;disp('Ö»ÄÜ×öµã³Ë')varargout{2}=0;elseif(x==yy&&xx==y)disp('¿ÉÒÔ×öÁ½ÖÖ¾ØÕó³Ë')varargout{1}=a*b;varargout{2}=b*a;elseif(x==yy||xx==y)tryvarargout{1}=a*b;disp('Ö»ÄÜ×ö¾ØÕó³Ë')varargout{2}=0;catchvarargout{1}=b*a;disp('Ö»ÄÜ×ö¾ØÕó³Ë')varargout{2}=0;endelseerror('ÕâÁ½¸ö¾ØÕó²»ÄܳË')end2、编写一函数qiuhe.m,实现sum(A)的功能,其中A为矩阵。程序为:functiony=qiuhe(a)y=[];[x,yy]=size(a);ifx==1s=0;fork=1:yys=s+a(1,k);endy=s;elseforj=1:yys=0;fori=1:xs=s+a(i,j);endy(1,j)=s;endend3、编写一个阶乘函数jiecheng.m,然后在试验三的编程题“分别使用for和while语句找出最小的n值,使得n!>10100,并求出n!〞程序中调用该函数。程序:functions=jiecheng(n)s=1;ifn==0s=1;elseifn<0error('n±ØÐë´óÓÚµÈÓÚ0')elsefori=1:ns=s*i;endend五、实验本卷须知1、注意脚本文件和函数文件的区别2、函数文件的调用六、思考题一函数文件如下:functiony=temf(a)iflength(a)<2y=a;elsey=max(a)-min(a);end那么在命令窗口执行有:temf([23456789])=66temf(78)=78实验工程序号7数据插值与曲线拟合实验一、实验目的1、掌握数据统计和分析的方法;2、掌握数据插值与曲线拟合的方法及其应用。二、实验基本知识1、数据插值运算MATLAB提供的插值计算函数函数说明函数说明interp1一维插值〔数值查表〕griddata3三维数据网格的超外表数据插值interp1q一维快速插值〔数值查表〕griddatan多维数据网格的超外表数据插值interp2二维插值〔数值查表〕mkpp产生分段多项式interp3三维插值〔数值查表〕pchip分段的厄密多项式interpnN维插值〔数值查表〕ppval计算分段多项式的数值interpft使用FFT算法的一维插值spline三次杨条插值griddata二维数据网格的外表数据插值unmkpp分段多项式的细节1〕一维插值:在MATLAB中实现一维插值的函数是interp1。调用格式为:Yi=interp1(X,Y,Xi,method)X和Y为的原始数据,分别描述采样点和采样值;Xi为需要计算的插值点,是一个向量或标量;Yi是插值结果;X和Y,Xi和Yi假设都为向量,那么等长,假设Y和Yi为矩阵,那么length(X)andsize(Y,1)mustbethesame.method是插值方法,允许的取值有多种;假设进展插值运算时,Xi的取值超过了X的范围,那么需要进展外插值运算:Yi=interp1(X,Y,Xi,method,’extrap’)。2〕二维插值:在MATLAB中实现二维插值的函数是interp2。调用格式为:Zi=interp2(X,Y,Z,Xi,Yi,method)X和Y为原始数据,是两个等长的向量,分别描述两个参数的采样点;Z是与参数采样点对应的函数值;Xi,Yi是两个向量或标量,描述欲插值的点;Zi是根据相应的插值方法得到的插值结果;method是插值方法,允许的取值有多种,与一维插值函数一样;X,Y,Z也可以是矩阵的形式;假设进展插值运算时,Xi的取值超过了X的范围,那么需要进展外插值运算:Zi=interp2(X,Y,Z,Xi,Yi,method,’extrap’)。2、曲线拟合曲线拟合的目的是用一个较简单的函数去逼近一个复杂的或未知的函数。利用MATLAB进展曲线拟合主要有两种方法:回归法拟合和多项式拟合。1〕回归法拟合主要是使用MATLAB的左除运算来寻找曲线拟合解析函数的系数。2〕多项式拟合在MATLAB中进展多项式拟合主要使用的函数有:polyfit:用来进展拟合计算P=polyfit(x,y,n)x和y为参与曲线拟合的原始数据,n为进展拟合计算的多项式次数,函数的返回值是多项式的系数,即函数的运算结果为多项式的系数向量polyval:用来计算多项式的数值y=polyval(p,x)p为多项式的系数,x是变量的数值,得到的结果就是函数的数值向量。三、主要仪器及耗材计算机四、实验内容和步骤1.原始数据,插值点为,试用四种不同的插值方法进展插值,并在一副图中绘出四种插值曲线。程序:x=0:1:4*pi;y=sin(x).*exp(-x/5);xi=0:0.3:4*pi;y1=interp1(x,y,xi,'nearset');y2=interp1(x,y,xi,'linear');y3=interp1(x,y,xi,'spline');y4=interp1(x,y,xi,'cubic');plot(x,y,'-m',xi,y1,'*r',xi,y2,'ok',xi,y3,'^b',xi,y4,'+g')legend('ÔʼÊý¾Ý','×î½üµã²åÖµ','ÏßÐÔ²åÖµ','ÑùÌõ²åÖµ','Á¢·½²åÖµ')title('µÚÒ»ÌâËÄÖÖ²åÖµ·½·¨½øÐвåÖµ','FontName','Á¥Êé','FontSize',20)xlabel('XÖá','FontName','Á¥Êé','FontSize',16)ylabel('YÖá','FontName','Á¥Êé','FontSize',16)2.考虑下面的数据,一位举重教练收集了不同性别的举重发动每个年龄的最大举重磅数,他相信这三者之间存在着函数关系,请创立一个年龄数组,以便估算当前队伍中队员〔要求13~20岁每一岁都有〕的最大举重。性别年龄重举大最性别年龄重举大最1315171920男270290330350380女250270310330360程序:t=[1315171920];sex=[0,1]';y=[270290330350380;250270310330360];x=[13:20];sex_2=[0,1]';y_2=interp2(t,sex,y,x,sex_2)surf(x,sex_2,y_2)3.某乡镇企业2009-2015年的生产利润如下年份2009201020112012201320142015利润〔万元〕70122144152174196202要求用多项式拟合法预测出该企业2016年和2017年的利润,并绘出拟合图。程序:x=2004:2010;y=[70122144152174196202];k=polyfit(x,y,1);x1=2004:2013;y1=polyval(k,x1);plot(x,y,'-ro',x1,y1,'-b*');title('ijÏçÕòÆóÒµ2004-2013ÄêµÄÉú²úÀûÈó')legend('04-10ÄêµÄÀûÈó','04-13ÄêµÄÀûÈóÇ÷ÊÆÏß')xlabel('Äê·Ý');ylabel('ÀûÈó');text(2011,polyval(k,2011),'<---2011ÄêÀûÈó')text(2012,polyval(k,2012),'<---2012ÄêÀûÈó')gridon4.先使用命令load加载census.mat得到一组数据〔cdate,pop〕,该数据是美国自1790到1990年〔以10年为一单位〕的总人口。利用回归法拟合,预测出美国在2010年的人口总数,写出拟合模型,并绘出拟合图。load('census.mat');nian=[1990:2010];p=polyfit(cdate,pop,2);z=polyval(p,cdate);zz=polyval(p,nian);my=mean(pop);mz=mean(z);R=sum((pop-my).*(z-mz))./sqrt(sum((pop-my).^2).*sum((z-mz).^2))plot(cdate,pop,'*',cdate,z,'r',nian,zz,'b-')xlabel('Äê·Ý(Ê®Äê)','FontName','Á¥Êé','FontSize',16)ylabel('È˿ڣ¨°ÙÍò£©','FontName','Á¥Êé','FontSize',16)title('µÚËÄÌâÃÀ¹ú×Ô1790-1990ÄêµÄ×ÜÈË¿Ú','FontName','Á¥Êé','FontSize',20)text(1990,248.73,'<----Ö®ºóΪÄâºÏÊý¾Ý')legend('ÔÊý¾Ý','ÄâºÏÇúÏß')五、实验本卷须知1、插值运算时应变量和自变量确实定2、曲线拟合时逼近函数确实定六、思考题由离散点数据来确定函数的方法有函数插值和曲线拟合两种:假设测量值是准确的,没有误差,一般用插值;假设测量值与真实值有误差,一般用拟合。实验工程序号8MATLAB基本绘图一、实验目的掌握绘制MATLAB二维、三维和特殊图形的常用函数;掌握绘制图形的辅助操作。二、实验基本知识1、基本的绘图指令绘制函数——plot函数函数能够将向量或者矩阵中的数据绘制在图形窗体中,并且可以指定不同的线型和色彩同一个plot函数可以一次绘制多条曲线基本语法格式绘制一条曲线plot(xdata,ydata,’color_linestyle_marker’)绘制多条曲线plot(xdata1,ydata1,’clm1’,xdata2,ydata2,’clm2’,……)2、使用子图子图的功能可以将图形窗体划分为多个图形显示区域,每个区域彼此独立。使用子图的方法用subplot函数选择绘制区域subplot函数的基本用法subplot(m,n,p)m——图形窗体分割的行数n——图形窗体分割的列数p——选定的窗体区域的序号〔以行元素优先顺序排列〕3、格式化绘图使用函数title添加图形标题title(‘string’)标题将被自动地设置在轴的正中顶部使用函数legend添加轴的图例Legend(‘string1’,’string2’,MATLAB可以为不同的坐标轴添加不同的坐标信息使用函数xlabel、ylabel、zlabel分别为图形窗体的X轴、Y轴和Z轴添加轴标签xlabel(‘string’)ylabel(‘string’)zlabel(‘string’)使用函数text向图形窗体添加文本注释text(x,y,’string’)x和y是文本注释添加的坐标值4、特殊图形绘制绘制对数坐标轴系曲线时,使用的函数loglog:两个坐标轴都使用对数刻度semilogx:x轴用对数刻度,y轴用普通线性刻度semilogy:y轴用对数刻度,x轴用普通线性刻度绘制条状图和面积图的函数bar:绘制二维条状图,将m行n列的矩阵绘制成m组,每组n个垂直条barh:绘制二维水平条状图,将m行n列的矩阵绘制成m组,每组n个水平条bar3:绘制三维条状图,将m行n列的矩阵绘制成m组,每组n个垂直条bar3h:绘制三维水平条状图,将m行n列的矩阵绘制成m组,每组n个水平条area:绘制面积图,将向量数据绘制成面积图向量或矩阵元素所有和大于等于1时,饼图是用来显示向量或矩阵元素占所有元素和的百分比;向量或矩阵元素所有和小于1时,饼图是用来显示向量或矩阵元素与1的百分比。分类有:二维饼图→用函数pie绘制三维饼图→用函数pie3绘制柱状图是用来显示数据的分布情况,可以绘制在普通的直角坐标下,也可以绘制在极坐标下绘制在普通的直角坐标下→使用hist函数绘制在极坐标下→使用rose函数这两个函数分别计算输入向量中数据落入某一范围的数量,绘制的柱状高度或者长度表示落入该范围的数据的个数5、三维绘图使用plot3函数绘制三维线图该函数能够将X、Y、Z坐标绘制在三维的空间基本语法:plot3(xdata1,y
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 争取8小时工作制度
- 光学冷加工工作制度
- 二手车车行工作制度
- 五化党支部工作制度
- 农村志愿者工作制度
- 舌根后坠的护理技巧分享
- 办公室月报工作制度
- 加油站防火工作制度
- 化妆品检测工作制度
- 医共体工作制度汇编
- 国家广播电视总局部级社科研究项目申请书
- 水利工程汛期施工监理实施细则
- 安徽省江南十校2026届高三3月联考英语试卷(含答案)
- 2025年武汉警官职业学院单招综合素质考试试题及答案解析
- (2025)AHA心肺复苏与心血管急救指南第11部分:心脏骤停后护理课件
- 牛津友邻课件
- 直播样品协议书范本
- 铁路营业线施工安全管理办法(新)
- 高三英语完形填空试题(有答案和解析)及解析
- 中国水稻专用型叶面肥项目投资计划书
- 《十八岁出门远行》读书分享会
评论
0/150
提交评论