




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 2 3 4 和其他语言一样 MATLAB的程序结构也不外三种 顺序结构 分支结构和循环结构 5 程序结构和流程控制 5 1顺序结构 顺序结构即指顺序往下执行的程序语句结构 其实也就是一组复合的表达式 在MATLAB中 表达式之间可以用分号 逗号或换行来分隔 如前例的函数文件summ m和命令文件use m均为顺序结构 5 2分支结构 1 MATLAB的分支结构 5 2 分支结构的语句形式及实例 分支结构就是由逻辑判断决定程序执行流转方向的一种结构 现有if else end和switch case end两种形式 第一类分支结构采用的语句形式有3种 if表达式语句组1end if表达式语句组1else语句组2end if表达式A语句组1elseif表达式B语句组2else语句组3end 注意 除直接应用上述三种形式外 第3种结构可扩展 if还可以嵌套 6 举例 例5 1输入数n 判断其奇偶性 程序式书写法 n input n ifrem n 2 0A even elseA odd end 更完善的程序式书写法 n input n ifisempty n 1A empty elseifrem n 2 0A even elseA odd end 命令行书写法 n input n ifisempty n 1A empty elseifrem n 2 0 A even else A odd end 7 例5 2写程序 判断某一年是否闰年 C语言程序 main intyear leap scanf d MATLAB程序 year input year ifrem year 4 0ifrem year 100 0ifrem year 400 0leap 1 elseleap 0 endelseleap 1 endelseleap 0 endifleapdisplay isaleapyear elsedisplay isnotaleapyear end 8 switch表达式case值1语句组1case值2语句组2 otherwise语句组n 第二类分支结构采用的语句形式如下 注意 switch后的表达式的结果值 通常为标量或字符串 9 举例 例5 3用switch语句改写例3 1 程序式书写法 n input n switchmod n 2 case1A 奇 case0A 偶 otherwiseA 空 end 10 例5 4给出一百分制成绩 要求输出成绩等级 A B C D E 90分以上为 A 80 89分为 B 70 79分为 C 60 69分为 D 60分以下为 E C语言程序 main intscore g scanf d MATLAB程序 score input score g round score 10 0 5 ifg 10display A elseswitchgcase9 display A case8 display B case7 display C case6 display D otherwisedisplay E endend 11 1 MATLAB的循环结构循环结构就是执行重复运算的一段程序 MATLAB的循环语句有for end和while end两种形式 2 循环结构的语句形式及实例 5 3循环结构 For循环结构的语句形式 for变量 初值 增量 终值语句组end 注意 for还可以嵌套 12 举例 例5 5列出构成Hilbert矩阵的程序 clear closeallformatrat n input n fori 1 nforj 1 nh i j 1 i j 1 endendh 13 例5 6求100 200间的全部素数 C语言程序 includemain intm k i n 0 for m 101 m k 1 printf d m n n 1 MATLAB程序 n 0 x 1 21 form 101 2 200k round sqrt m 1 0 5 fori 2 kifrem m i 0break endj i 1 ifj k 1n n 1 x n m endendendx 14 While循环结构的语句形式 while表达式语句组end 注意 while语句中的表达式通常为关系表达式或逻辑表达式 举例 例5 7求如下级数的和 1 1 2 1 3 1 4 1 100 s 0 n 1 whilen 100s s 1 n n n 1 end s 15 例5 8用 4 1 1 3 1 5 1 7 公式求 的近似值 直到最后一项的绝对值小于10 6为止 C语言程序 includemain ints floatn t pi t 1 pi 0 n 1 0 s 1 while fabs t 1e 6 pi pi t n n 2 s s t s n pi pi 4 printf pi 10 6f n pi MATLAB程序 t 1 pi 0 n 1 s 1 whileabs t 1e 6pi pi t n n 2 s s t s n endpi 4 pi 16 匿名函数可以接受多个输入输出参数 创建匿名函数的格式 fhandle arglist expr其中 expr 通常是一个简单的MATLAB变量表达式 实现函数的功能 arglist 是参数列表 是MATLAB中创建函数句柄的操作符 匿名函数实例 myfhd1 x x x 2 myfhd1 2 ans 6 myfhd2 x y sin x cos y myfhd2 pi 2 pi 6 ans 1 8660 每一个M文件第一行定义的文件就是M文件主函数 一个M文件只能包含一个主函数 通常将M文件名和M文件主函数名设为一致 在一个函数内部可以定义一个或多个函数 这种定义在其他函数内部的函数被成为嵌套函数 嵌套函数的书写语法格式如下 functionx A p1 p2 functiony B p3 endend 嵌套函数的互相调用需要注意和嵌套的层次密切相关 例 functionA x y 外层函数A 例如主函数 B x y D y functionB x y A的嵌套函数 B的父函数为A C x D y functionC x B的嵌套函数 C的父函数为B D x endend 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 实例1matlab神经网络工具箱 41 1 1网络数据对象的建立 net newff xm xM h1 hk f1 fk xm xM分别为列向量 行数为变量个数 分别存储每个变量的最小值和最大值 h1 hk 表示网络各层的节点数 一共有k层 f1 fk 表示各层使用的传输函数 默认为 tansig 即Sigmoid函数 还可使用函数 purelin 即f x x 其它可看matlab帮助 helpnewff 42 1 2网络数据对象net的属性 net IW 来自输入层的加权矩阵 BP网络只用net IW 1 表示各个输入变量对第1层各节点的加权矩阵 net LW 来自中间层的加权向量 BP网络用net IW 2 1 表示第1隐层个节点向下一层个节点的加权矩阵 net IW 3 2 表示第2隐层向下一层的加权矩阵 net b 各层的偏移 Net b 1 表示第1隐层个节点的偏移 43 net trainParam epochs 最大训练步数 不过当误差准则满足时 即使没达到此步数也停止训练 缺省为100 net trainParam goad 网络误差准则 当误差小于此准则时停止训练 缺省为0 net trainFcn 训练算法 缺省为 trainlm 即Levenberg Marquardt算法 还可使用 traingdx 即带动量的梯度下降算法 traincgf 即共轭梯度法 其它可看matlab帮助 help contents NeuralNetworkToobox NetworkObjectReference help net trainFcn 44 1 3网络的训练 net tr Y1 E train net X Y net是函数newff建立的数据对象 X为n m的矩阵 n为输入变量个数 m为样本数 即把每个样本是一个列向量 Y为k m的矩阵 k为数出变量个数 tr返回训练的跟踪信息 tr epochs为训练步数 tr perf为各步目标函数的值 Y1和E返回网络最终的输出和误差 训练结束后可以用plotperf tr 来绘制目标值随着训练步数变化的曲线 45 1 4网络的泛化 预测 Y sim net X net是函数newff建立的数据对象 X为n m的矩阵 n为输入变量个数 m为样本数 即把每个样本是一个行向量 Y为k m的矩阵 k为数出变量个数 46 2例子 神经网络函数拟合 预测 试构造合适的神经网络模型拟合如下数据点 并预测x 10的值 47 matlab代码 x 0 0 5 9 5 y 0 0 43 0 69 0 74 0 61 0 36 0 08 0 17 0 34 0 4 0 35 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 客房应急房管理制度
- 室外休息区管理制度
- 库房领用料管理制度
- 影像科费用管理制度
- 微商城推广管理制度
- 心理健康室管理制度
- 快递站消毒管理制度
- 怎样学餐饮管理制度
- 总商会培训管理制度
- 慈善会日常管理制度
- 在幼儿园中打造有趣的数学学习环境
- 食品小作坊应急预案范本
- 2023全屋定制家具合同范文正规范本(通用版)
- 兰州市新初一分班英语试卷含答案
- 吾心可鉴 澎湃的福流
- ZPW-2000A无绝缘轨道电路演示幻灯片
- 黄平县旧州飞机场红砖厂原址改扩建项目环评报告
- 统计预测与决策-南京财经大学中国大学mooc课后章节答案期末考试题库2023年
- 零星材料采购合同
- 天津市大港区2023年数学五下期末学业质量监测模拟试题含解析
- 上海市静安区2023年数学五下期末教学质量检测试题含解析
评论
0/150
提交评论