matlab实验五报告.doc_第1页
matlab实验五报告.doc_第2页
matlab实验五报告.doc_第3页
matlab实验五报告.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验五 MATLAB程序设计实验者:祝松 年级:机设092 学号:09405701002一、实验目的掌握 MATLAB 程序设计的主要方法,熟练编写 MATLAB 函数。二、实验内容(1) M 文件的编辑。(2)程序流程控制结构。(3)子函数调用和参数传递。(4)局部变量和全局变量。三、实验步骤1. M 文件的编辑选择 MATLAB 的菜单 File|New|M-file ,打开新的 M 文件进行编辑,然后输入以下内容,并保存文件名为 exp1.m 。% M 脚本文件% 功能:计算自然数列 1 100 的数列和s=0;for n=1:100s=s+n;end s保存好文件后,在命令窗口输入 exp1 即可运行该脚本文件,注意观察变量空间。接着创建 M 函数文件,然后输入以下内容,并保存文件名为 exp2.m 。% 这是 M 函数文件% 功能:计算自然数列 1 x 的数列和function s=exp2(x)s=0;for n=1:xs=s+n;end保存好文件后,在命令窗口输入clears=exp2(100)以open命令可以打开M文件进行修改open conv % 打开 conv 函数2. 程序流程控制结构 1) for 循环结构for n=1:10n end另一种形式的 for 循环:n=10:-1:5for i=n % 循环的次数为向量 n 的列数iend2) while 循环结构在命令窗口输入:clear,clc; x=1;while 1x=x*2end将会看到 MATLAB 进入死循环,因为 while 判断的值恒为真,这时须按下 Ctrl C 键来中断运行,并且可看到 x 的值为无穷大。练习: (1) 请把 exp2.m 函数文件用 while 循环改写。(2) 用 /4 1 - 1/3+1/5 - 1/7+ 公式求 的近似值,直到最后一项的绝对值小于为止,试编写其 M 脚本文件。3) if-else-end 分支结构if-else-end 分支有如下 3 种形式。(a) if 表达式语句组 1end(b) if表达式语句组 1else语句组 2end(c) if 表达式 A 语句组 1elseif 表达式 B语句组 2elseif 语句组 3else语句组 nend4) switch-case 结构创建 M 脚本文件 exp3.m ,输入以下内容并在命令窗口中运行。% 功能:判断键盘输入的数是奇数还是偶数n=input(n=); if isempty(n)error(please input n) endswitch mod(n,2) case 1A= 奇数 case 0A= 偶数 end3. 子函数和参数传递有一个函数 g ( x ) =( x 1,2,3 ) ,试编写实现该函数的函数文件。function g=exp4(x) % 主函数g=0;for n=1:xg=g+fact(n); % 调用子函数endfunction y=fact(k) % 子函数y=1;for i=1:ky=y*i;end输入参数可以由函数 nargin 计算,下面的例子 sinplot2( ) ,当只输入一个参数 w 时,sinplot2( ) 函数会给 p 赋予默认值 0 。function y=sinplot (w,p) if nargin2erro(too many input)endif nargin=1 p=0; endx=linspace(0,2*pi,500); z=sin(x.*w+p);练习: (1) 编写求矩形面积函数 rect ,当没有输入参数时,显示提示信息;当只输入一个参数时,则以该参数作为正方形的边长计算其面积;当有两个参数时,则以这两个参 数为长和宽计算其面积。(2) 编写一个字符串加密函数 nch=my_code( ch , x) ,其中 ch 是字符串参数, x 为整 数;加密方法是:把 ch 的每一个字符的 ASCII 码值加上 x ,得到的即为加密后的新 的字符串 nch 。由于可显示 ASCII 码值是有范围的 (32 , 126) ,因此当得到的 ASCII码值大于 126 时,需要减去 93 。同理,再编写一个解码函数 nch=my_dcode( ch , x) 。提示: char(32:126) 可获得 ASCII 码值为 32 126 的字符。4. 局部变量和全局变量自程序执行开始到退出 MATLAB ,始终存放在工作空间,可被任何命令文件和数据文件存取或修改的变量即是全局变量,全局变量可用于函数之间传递参数,全局变量用关键 字 global 声明。编写一个求和的函数文件,其名为 summ.m 。程序如下:function s=summ global BEG END k=BEG:END; s=sum(k);再编写调用 M

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论