教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 综合文档 >

matlab实验五报告

来源:网络收集 时间:2026-05-27
导读: 实验五 MATLAB程序设计 实验者:祝松 年级:机设092 学号:09405701002 一、实验目的 掌握 MATLAB 程序设计的主要方法,熟练编写 MATLAB 函数。 二、实验内容 (1) M 文件的编辑。 (2)程序流程控制结构。 (3)子函数调用和参数传递。 (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:100 s=s+n; end s

保存好文件后,在命令窗口输入 exp1 即可运行该脚本文件,注意观察变量空间。接着创建 M 函数文件,然后输入以下内容,并保存文件名为 exp2.m 。 % 这是 M 函数文件

% 功能:计算自然数列 1 ~ x 的数列和 function s=exp2(x) s=0; for n=1:x

s=s+n; end

保存好文件后,在命令窗口输入 >>clear

>>s=exp2(100)

以open命令可以打开M文件进行修改 >>open conv % 打开 conv 函数

2. 程序流程控制结构 1) for 循环结构 for n=1:10

n end

另一种形式的 for 循环: n=10:-1:5

for i=n % 循环的次数为向量 n 的列数

i end

2) while 循环结构 在命令窗口输入: >>clear,clc; x=1; while 1

x=x*2 end

将会看到 MATLAB 进入死循环,因为 while 判断的值恒为真,这时须按下 Ctrl + C 键来中断运行,并且可看到 x 的值为无穷大。

练习: (1) 请把 exp2.m 函数文件用 while 循环改写。

(2) 用 π /4 ≈ 1 - 1/3+1/5 - 1/7+ … 公式求 π 的近似值,直到最后一项的绝对值小于

10?6为止,试编写其 M 脚本文件。

3) if-else-end 分支结构

if-else-end 分支有如下 3 种形式。 (a) if 表达式

语句组 1 end

(b) if表达式

语句组 1 else

语句组 2 end

(c) if 表达式 A

语句组 1

elseif 表达式 B

语句组 2

elseif

语句组 3

…… else

语句组 n

end

4) switch-case 结构

创建 M 脚本文件 exp3.m ,输入以下内容并在命令窗口中运行。 % 功能:判断键盘输入的数是奇数还是偶数 n=input('n=');

if isempty(n)

error('please input n') end

switch mod(n,2) case 1

A=' 奇数 ' case 0

A=' 偶数 ' end

3. 子函数和参数传递 有一个函数 g ( x ) =

?n!( x = 1,2,3 … ) ,试编写实现该函数的函数文件。

n?1xfunction g=exp4(x) % 主函数 g=0; for n=1:x

g=g+fact(n); % 调用子函数 end

function y=fact(k) % 子函数 y=1; for i=1:k y=y*i; end

输入参数可以由函数 nargin 计算,下面的例子 sinplot2( ) ,当只输入一个参数 w 时,sinplot2( ) 函数会给 p 赋予默认值 0 。 function y=sinplot (w,p) if nargin>2

erro(‘too many input’) end

if nargin==1 p=0; end

x=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 脚本文件 use.m 来调用 summ.m 函数文件,它们之间通过全局变量传递参数。

程序如下:

global BEG END BEG=1; END=10;

s1=summ; BEG=1; END=20; s2=summ;

…… 此处隐藏:503字,全部文档内容请下载后查看。喜欢就下载吧 ……
matlab实验五报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/403539.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)