




免费预览已结束,剩余28页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验3matlab编程介绍与循环结构,3.1.1建立、运行M-文件的步骤,1.建立M-文件的步骤(1)打开程序编辑窗口,点击matlab命令窗口工具条上的NewFile图标,或点击命令窗口中的File菜单,点击选项中的New,选择M-file,就可以打开打开MATLAB程序编辑窗口,用户可在窗口中输入、编辑程序。(2)保存程序:在程序输入过程中或程序输入完成后,点击工具条上的Save图标,或点击File菜单下的Save,在弹出的窗口中输入自己定义的文件名,点击保存保存文件。此时,程序被保存在默认路径指定的work文件夹中(初学者最好不要改变这个路径,避免添加路径步骤),保存后的文件名自动加上“.m”后缀,即为M-文件。,注意:文件名是要以字母开头中间不含空格和标点符号的字符串;不能用汉字、数字和专用变量名作为文件名,如1,11,pi,ans等。程序通常保存在文件夹:MATLAB6p5work中,此路径为MATLAB的默认路径。程序若要存放到其他文件夹中,则要添加该路径到MATLAB的路径设置中,否则程序不能执行。具体操作:点击编辑窗工具条上File菜单,选择SetPath.,此时打开路径设置窗口,再点击AddFoider.,选择你所使用的文件夹(若没有,则要先新建),选定后该路径自动显示在列表的第一行或最后一行,再点击Save保存即可。,2.运行M-文件运行M-文件有两种方法:方法一:在MATLAB编辑窗口中对正在编辑的M-文件,保存后可直接点击工具条上的Debug中的Run命令(或按F5键),即可运行当前程序。其运行结果或信息显示在命令窗口,此时,用户可以切换到命令窗口进行查看,之后可回到编辑窗对程序进行修改,重新保存再次运行。方法二:在MATLAB命令窗口中直接输入文件名回车,即可运行相应的M-文件。其运行结果或程序运行中的错误信息等显示在命令窗口,此时,用户若要修改程序则可以切换到编辑窗口进行修改,修改后重新保存。注意:当对程序进行修改保存时,当前程序将覆盖原来程序。此时若想保存为另外的文件,则要点击工具条上的File菜单,选择Saveas.,另取文件名保存即可。,3.1.2MATLAB程序的基本结构程序是使计算机实现某一类功能任务的命令集。MATLAB提供了三种基本的程序结构:顺序结构、循环结构和选择结构。因此,MATLAB中除了按正常顺序执行程序中的命令和函数以外,有多种控制程序流程的语句,这些语句包括for,while,if,switch,try,continue,break,return等。用户编制程序时,需要按照解决问题的逻辑步骤和求解算法,用MATLAB提供的这些语句和函数,按照三种基本结构逐条编写。一般一行一条语句,以便调试和查找错误。程序一般包含三个部分:数据输入、功能处理和结果输出。其中功能处理部分是核心,主要是根据处理问题的逻辑步骤,采用循环迭代、判断推理、分步计算等来解决问题。,3.1.3M-文件的输入、输出方式M-文件的输入、输出方式同前面所讲的命令窗中的输入、输出方式基本相同,具体如下:1.输入方式(1)程序中直接赋值x=2;a=123;456;780;s=Anystring!,3.程序运行时赋值格式:变量=input(提示符号串);功能:从键盘接收数据并赋予等号左边变量。其中提示符号串是在命令窗口中的提示。如:X=input(x=);Y=input(Pleaseinputy=);%提示语句输入当执行此语句时,暂停程序运行,在命令窗口中光标将停留在提示符号串后闪烁,等待从键盘接收数据。用户从键盘输入数据并按回车键确认,继续程序运行。其优点是,每次运行可以输入不同数据,实现人机对话。,2.输出方式(1)直接输出%变量后无分号“;”,变量直接输出disp(a);%a可以是标量、向量、矩阵(2)格式控制输出格式:fprintf(x=%.3fy=%.0fn,a,b);%按指定格式输出;其中,单引号内为格式说明符,%前为提示符,%.3f为数据格式符,通常与单引号后面的数据项对应,f指显示一个实数,3表示显示的数小数点后3位,小数点前整数部分不限。%.0f指显示一实数其小数部分显示0位,结果只显示整数部分。n为换行符,即一行显示结束后,光标自动换到下一行。a、b为要显示的变量,它们与前面的格式符相对应。,例如:fprintf(x=%.5fy=%.0fn,pi,sqrt(2);x=3.14159y=1fprintf(x=%.5fy=%.0fn,sqrt(2),pi);x=1.41421y=3,3.2MATLAB循环结构与应用,循环结构是MATLAB程序中最常见的结构之一,它是让计算机按照一定的条件多次重复执行某一命令集,从而实现诸如累加、迭代、分层计算等功能。MATLAB软件提供了两种循环结构:有限次循环for-end结构和条件循环while-end结构。,3.2.1有限次循环(for-end)结构,格式:forn=n1:step:n2commands-1endcommands-2其中n为循环变量(自己定义),n1为起始值,step为步长,n2为结束值;commands-1为循环体(循环模块),commands-2为后续命令。作用:循环变量n从n1开始,执行commands-1,遇到end时n自动增加step步长,同时与n2比较,当n不超过n2时重复执行commands-1;当n超过n2时转向执行commands-2。当步长为1时可省略。,在设计for-end循环结构时,应在循环模块内充分利用循环变量的变化规律,开展相关运算。另外,结构中for与end要成对出现。,例3-1:求n(n=100)个奇数的和:s=1+3+5+(2n-1).clear;clc;%清除内存变量,清理命令窗口n=100;%赋值给定奇数的个数s=0;%设定存放和的变量s并赋初值0fori=1:n%定义循环变量i从1到n,以1为步长,即为奇数序号s=s+(2*i-1);%先计算右端奇数并累加后再赋给左端的变量sfprintf(i=%.0f,s=%.0fn,i,s)%逐行显示出累加求和的过程end%循环体结束,i=1,s=1i=98,s=9604i=99,s=9801i=100,s=10000,问题1:可否用从1开始的奇数作为循环变量?,clear;clc;%清除内存变量,清理命令窗口n=2*100-1;%赋值给定奇数的个数s=0;%设定存放和的变量s并赋初值0fori=1:2:n%定义循环变量i从1到n,以1为步长,即为奇数序号s=s+i;%先计算右端奇数并累加后再赋给左端的变量end%循环体结束fprintf(i=%.0f,s=%.0fn,i,s)%逐行显示出累加求和的过程,clear;clc;%清除内存变量,清理命令窗口m=input(请输入第m个奇数)n=2*m-1;%赋值给定奇数的个数s=0;%设定存放和的变量s并赋初值0fori=1:2:n%定义循环变量i从1到n,以1为步长,即为奇数序号s=s+i;%先计算右端奇数并累加后再赋给左端的变量end%循环体结束fprintf(i=%.0f,s=%.0fn,i,s)%逐行显示出累加求和的过程,问题2:不显示求和过程,只显示最后结果?,clear;clc;%清除内存变量,清理命令窗口n=100;%赋值给定奇数的个数s=1;%设定存放和的变量s并赋初值0fori=2:n%定义循环变量i从1到n,以1为步长,即为奇数序号s=s+(2*i-1);%先计算右端奇数并累加后再赋给左端的变量sendfprintf(i=%.0f,s=%.0fn,i,s)%显示出最后结果,例3-2:求正整数n的阶乘:p=123n=n!,并求出n=20时的结果。,分析:这是一个逐次乘积的过程,从1开始存放在积p中,再乘以下一个正整数之后再取代积p,以此类推,直到乘至第n个数,因此,使用循环结构来实现。,i=1,p=1i=2,p=2i=3,p=6i=4,p=24i=5,p=120i=6,p=720i=7,p=5040i=8,p=40320i=9,p=362880i=10,p=3628800i=11,p=39916800i=12,p=479001600i=13,p=6227020800i=14,p=87178291200i=15,p=1307674368000i=16,p=20922789888000i=17,p=355687428096000i=18,p=6402373705728000i=19,p=121645100408832000i=20,p=2432902008176640000,只显示最后一个数的阶乘,clear;clc;%清除内存变量,清理命令窗口n=20;%赋值给定正整数p=1;%设定存放阶乘的变量p并赋初值1fori=1:n%定义循环变量i从1到n,以1为步长,即连续正整数p=p*i;%先计算右端乘积后再赋给左端的变量pend%循环结构结束fprintf(i=%.0f,p=%.0fn,i,p)%显示出i和p(注意该行要不要“;”都会输出)i=20,p=2432902008176640000,fprintf(i=%.0f,p=%.0fn,i,p)可改为:i,p,clear;clc;%清除内存变量,清理命令窗口n=20;%赋值给定正整数p=1;%设定存放阶乘的变量p并赋初值1fori=1:n%定义循环变量i从1到n,以1为步长,即连续正整数p=p*i;%先计算右端乘积后再赋给左端的变量pend%循环结构结束i,p%fprintf(i=%.0f,p=%.0fn,i,p)可改为:i,pi=20,p=2.4329e+018,利用input命令对n进行赋值,随时改变其大小。,clear;clc;%清除内存变量,清理命令窗口p=1;%设定存放阶乘的变量p并赋初值1n=input(Pleaseinputn=)fori=1:n%定义循环变量i从1到n,以1为步长,即连续正整数p=p*i;%先计算右端乘积后再赋给左端的变量pend%循环结构结束fprintf(i=%.0f,p=%.0fn,i,p)%显示出i,Pleaseinputn=Pleaseinputn=10n=10i=10,p=3628800,例3-3:根据麦克劳林公式可以得到e1+1+1/2!+1/3!+1/n!,试求e的近似值。,clear;clc;%清除内存变量,清理命令窗口n=10;%赋值给定正整数p=1;%设定存放阶乘的变量p并赋初值1s=1;%设定存放累加和的变量s并赋初值1fori=1:n%定义循环变量i从1到n,以1为步长p=p*i;%先计算右端乘积后再赋给左端的变量p,此时p为i的阶乘s=s+1/p;%先计算右端阶乘倒数的累加后再赋给左端的变量sfprintf(i=%.0f,s=%.8fn,i,s)%逐行显示出第i次e的近似值end%循环结构结束,i=1,s=2.00000000i=2,s=2.50000000i=3,s=2.66666667i=4,s=2.70833333i=5,s=2.71666667i=6,s=2.71805556i=7,s=2.71825397i=8,s=2.71827877i=9,s=2.71828153i=10,s=2.71828180,问题:如何有效控制e的近似值的精度,或者说如何修改程序使其根据近似值的精度要求自动控制循环次数?,3.2.2条件循环(while-end)结构,格式:while(conditions)Commands-1;EndCommands-2;作用:当条件conditions成立即条件为真时,执行commands-1,当遇到end时,自动检测条件;当条件conditions不满足时,转向执行commands-2。在设计while-end循环结构时,应在循环模块内有改变conditions的内容,确保在执行了一定次数之后可以结束循环;否则,就成了“死循环”,即无限次重复执行循环。另外,结构中while与end要成对出现。,例3-4:对于数列,求其前n项和不超过1000时的n的值及和.,分析:用循环结构来实现,但每次累加前要判断大小。clear;clc;%清除内存变量,清理命令窗口n=0;%设定正整数并赋初值0s=0;%设定存放累加和的变量s并赋初值0whiles=1000%用累加和s与1000进行比较作为循环条件n=n+1;%改变n为连续正整数s=s+sqrt(n);%先计算右端开方数的累加后再赋给左端的变量sfprintf(n=%.0f,s=%.4fn,n,s)%逐行显示正整数及部分和end%循环结构结束,n=128,s=970.8891n=129,s=982.2469n=130,s=993.6487n=131,s=1005.0942,问题:从结果上看,最后一行的结果并不是要求的答案,而倒数第二行是所求问题的解。这是为什么?如何修改程序来避免这种情况?,clear;clc;%清除内存变量,清理命令窗口n=0;%设定正整数并赋初值0s=0;%设定存放累加和的变量s并赋初值0whiles1000fprintf(n=%.0f,s=%.4fn,n-1,a)endn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 食材供应链仓库管理制度
- 上市公司基础管理制度
- 企业进行物料管理制度
- 上级关于考勤管理制度
- 中国户籍变更管理制度
- 企业党校分校管理制度
- 休闲体育整体管理制度
- 企业环保设备管理制度
- 食堂管理流程及管理制度
- 一级医院医保管理制度
- 2025年四年级下册美术期末测试题附答案
- 计量经济学知到智慧树期末考试答案题库2025年南开大学
- 2025至2030中国天文馆行业投资前景研究与销售战略研究报告
- 国开学习网《员工招聘与配置》形考任务1-4答案
- 浙江省诸暨市2025年5月高三适应性考试-地理+答案
- 苹果店员入职试题及答案
- 手机使用课件
- 2025年对外汉语教师资格考试试卷及答案
- 配电室安全管理培训课件
- 急性心梗诊疗(2025指南)解读课件
- 矿井通风与安全课件
评论
0/150
提交评论