- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2017年4月14日
第1页
MATLAB程序设计
张 兵
Email: zhangbing_end@163.com
第二讲 脚本文件、函数及数组
MATLAB 程序设计
2017年4月14日
第2页
教学内容
脚本文件
函数和自定义函数
MATLAB数组
脚本文件(1/6)
什么是脚本文件
2017年4月14日
第3页
r = 5
h=10
例 计算圆柱表面积和体积
无法保存,不易修改
脚本文件:扩展名为“.m”的文本文件,存储了一系列计算变量、命令、表达式。
脚本文件(2/6)
创建和保存
2017年4月14日
第4页
新建脚本文件
脚本文件(3/6)
编写代码
添加注释
代码单元
2017年4月14日
第5页
块注释
以%{开头,%}结尾
脚本文件(4/6)
运行和调用
2017年4月14日
第6页
脚本文件(5/6)
文件扩展名是.m
通过调用文件名来执行
文件名必须满足MATLAB的命名规则
一般的脚本文件结构
2017年4月14日
第7页
脚本文件(6/6)
例子
2017年4月14日
第8页
函数
完成一定功能的子程序
使用方式
如:sin(a) – 计算以弧度为单位的角度a的正弦值
linspace(a,b,c) – 生成一个以a为起始值、b为结束值、元素个数为c的向量
cosa
exp[60]
sind{60}
函数名(参数1,参数2,…)
变量=函数名()
a=1+sind(60)
2017年4月14日
第9页
编写自定义函数(1/4)
匿名函数
定义方式:函数名=@(输入变量1,输入变量2,…)表达式
cylinder_volume=@(r,h)pi*r.^2.*h;
circle_area = @(r) pi*r.^2;
完成上述定义后,采用如下方法使用:
%计算半径2、高度3的圆柱体体积,将结果存储在vol中
vol = cylinder_volume(2,3);
area = circle_area(5); %圆面积
2017年4月14日
第10页
编写自定义函数(2/4)
一般函数
定义方式,在m文件中采用如下方式定义:
function [输出值1,输出值2,…] = 函数名(输入参数1,输入参数2,…)
函数执行体
end
function [area] = tri_area(a,b,c)
s=(a+b+c)/2;
area = sqrt(s.*(s-a).*(s-b).*(s-c));
end
tri_area.m
tri_area(3,4,5);
调用方式:
2017年4月14日
第11页
名称要一致
编写自定义函数(2/4)
输入参数的作用域
2017年4月14日
第12页
function [] = add(a,b,c)
c = a + b;
end
add.m
命令窗口:
a = 1; b = 2; c = 0;
add(a,b,c);
问题:c = ???
参数的作用域仅为函数内:在函数体内对输入参数的修改不影响调用时的值。
答案:c = 0
编写自定义函数(3/4)
函数脚本文件一般格式
2017年4月14日
第13页
function […] = funname(…)
...
fun_1(…);
...
end
function […] = fun_1(…)
…
fun_2(…);
…
end
function […] = fun_2(…)
…
end
...
funname.m
主函数
子函数
子函数
编写自定义函数(4/4)
全局变量
2017年4月14日
第14页
global varname
定义方法:
作用:
在各个程序、函数中共享数据
演示:Test_2_1
clear global varname
清除方法:
clear varname
从全局工作空间中删除
从当前工作空间中删除
定义全局变量,并初始化为空数组
如何判断全局变量是否已初始化:
isempty(varname)
2017年4月14日
第15页
再论MATLAB编程(1/2)
计算机硬件
操作系统
MATLAB软件
MATLAB程序
MATLAB程序的执行层次结构
2017年4月14日
第16页
再论MATLAB编程(2/2)
处理器 MATLAB 操作系统 存储器
R=2;
H=5;
V=pi*R^2*H;
ALU
R
H
^2*
: pi*
2017年4月14日
第17页
MATLAB数组(1/4)
什么是数组
R=2;
A=[1,2,3,4,5,6,7,8];
您可能关注的文档
- (冀教版)五年级科学下册《相似与差异》探究.ppt
- 比较线段的长短教学设计预案.doc
- (监理)水泥搅拌桩检测实施方案探究.doc
- 比利石路施工方案预案.doc
- (姜在兴,2012)层序地层学进展_国际层序地层学会综述探究.pdf
- 必背习题(企业人力资源师二级)预案.doc
- 必修1知识点预案.doc
- (金融法规与)探究.ppt
- (雷蕾老师讲座)2015珠海高三备考探究.pptx
- (模板)2009-5(张三)交流分布式电力系统的小信号方法——综述探究.doc
- 二年级语文看图写话《爱护眼睛》精品PPT课件.pptx
- 2025年山东信息职业技术学院单招语文测试模拟题库及完整答案一套.docx
- 2025年山东信息职业技术学院单招职业技能测试题库一套.docx
- 湖南省长沙市明德集团5月2025年中考一模化学试卷(含答案).docx
- 贵州省铜仁市沿河县2025年5月中考三模测试理综化学试卷(含答案).pdf
- 二年级语文看图写话《爱护眼睛》精品PPT课件.pptx
- 湖南省长沙市明德集团5月2025年中考一模化学试卷(含答案).pdf
- 湖南省长沙市雅礼麓谷中学2025年中考三模化学试题(含答案).docx
- 2025年宿迁职业技术学院单招职业技能测试题库及答案1套.docx
- 二年级语文看图写话《爱护眼睛》精品PPT课件.pptx
文档评论(0)