第二单元 第2课 Matlab程序控制结构 1.顺序结构 2.选择结构 3.循环结构.

Slides:



Advertisements
Similar presentations
CSIM, PU C Language Introduction to the C Programming Language 重覆敘述 (for,while,break,continue) 適合重複性的計算或判斷.
Advertisements

說 劍 《莊子‧雜篇》─ 第 一 組 賴泊錞 謝孟儒 張維真 羅苡芸
大學入學考試中心 九十六學度學科能力測驗試題 國文科 -哈利波特番外篇-
普陀区税务局 营业税改征增值税试点 最新政策 货物和劳务税科 2013年7月.
中小学教育网课程推荐网络课程 小学:剑桥少儿英语 小学数学思维训练 初中:初一、初二、初三强化提高班 人大附中同步课程
肌肉、骨骼、關節 傷害急救 組員: 499i0014 高藝庭 499i0017 徐育敏 499i0022 林佳瑩 499i0048 詹謹禎
第四章 保税货物的通关(上).
我征服了黃山 林達的黃山之旅 2006春.
情緒與壓力管理 手部舒壓運動 第六組.
第4章 條件判斷與迴圈 Java 2 程式設計入門與應用.
迴圈 迴圈基本觀念 while迴圈 do 迴圈 for迴圈 巢狀迴圈 迴圈設計注意事項 其他控制指令 迴圈與選擇的組合.
C#程序设计案例教程 第3章 程 序 结 构.
06学年度工作意见 2006年8月30日.
第一章信託法 第一節 信託契約 第二節 信託財產 第三節 受益人 第四節 受託人 第五節 信託關係之消滅.
忠孝國小自立午餐老師的叮嚀 教師指導手冊.
歌仔戲 與 歌舞伎 4a 張淇惠 4a11b025 許巧嬑 4a 倪曼凌 4a1c0004 楊長梵
成才之路 · 语文 人教版 · 必修2 路漫漫其修远兮 吾将上下而求索.
请同学们思考下列问题:.
第 5 章 流程控制 (一): 條件分支.
面向海洋的开放地区——珠江三角洲 山东省高青县实验中学:郑宝田.
第一次世界大战的时候,一位法国飞行员在2 000 m高空飞行的时候,发现脸旁有一个小玩意儿在游动着,飞行员以为这是一只小昆虫,敏捷地把它一把抓了过来,令他吃惊的是,他发现他抓到的竟是一颗德国子弹!     问题:大家都知道,子弹的飞行速度是相当快的,这名法国飞行员为什么会有这么大的本领呢?为什么飞行员能抓到子弹?
第1节 光的干涉 (第2课时).
空間向量 朱泰吉 蔡宇翔 張力夫 莊孟霏.
算法和程序设计 第4课 分支结构的算法设计 •.
狂賀!妝品系同學美容乙級通過 妝品系三甲 學號 姓名 AB 陳柔諺 AB 陳思妤 AB 張蔡婷安
程式設計實作.
Class 2 流程控制-選擇敘述與迴圈.
第5章 程序结构.
C++Primer 3rd edition 中文版 Chap 5
張智星 (Roger Jang) 清大資工系 多媒體檢索實驗室
數學與電腦 的初相識 汪群超 個人網址: 變有不可者三,有不可不變者三: 能力未至不可變也、 學識未敷不得變也、 功侯未到不能變也。
如何寫工程計畫書 臺北市童軍會考驗委員會 高級考驗營 版.
Application of Matlab Language
新觀念的 VB6 教本 第七章 讓程式轉彎的控制敘述.
條件判斷指令 -if 指令 -switch 指令 迴圈指令 - for 迴圈 - while迴圈 - break、continue 指令
PHP 程式流程控制結構.
第三章 流程控制與例外處理 資訊教育研究室 製作 注意:本投影片僅供上課使用,非經同意,請勿散播或轉載。
Introduction to the C Programming Language
電腦解題─流程圖簡介 臺北市立大同高中 蔡志敏老師.
程序的三种基本结构 if条件分支语句 switch多路开关语句 循环语句 循环嵌套 break,continue和goto语句
產品語意 班級:夜四技產設三甲 學生:鄭舜鴻 學號:9A01C023 指導教師:唐蔚.
陳維魁 博士 儒林圖書公司 第五章 控制結構 陳維魁 博士 儒林圖書公司.
授课老师:龚涛 信息科学与技术学院 2016年3月 教材:《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
第2章 C++流程控制语句 if 语句 switch语句 for语句 while语句 do - while语句 break语句
MATLAB介绍 Matlab基本命令介绍 Matlab矩阵运算 Matlab控制流 Matlab图像处理工具箱 实习题讲解.
第2章 MATLAB程序设计 编者.
C++大学基础教程 第3章 C++控制语句 北京科技大学 信息基础科学系.
C 语言程序设计 程序的循环结构 电大崇信县工作站 梁海亮.
第2章 算法与C语言程序 程序 (1)数据的描述:数据的类型和组织形式(数据结构) (2)操作的描述:操作步骤(算法) 沃思指出:
電子白板百萬小學堂 本活動建議搭配電子白板 學生最多可分成2~6組(請按組別按鈕) 老師可以視時間多少,來進行活動 每一組要回答十個問題。
第二章 MATLAB编程与作图 2.1 程序设计 2.2 作图 2.3 在线帮助和文件管理 2.4 习题 2019年4月23日
第3章 JavaScript基本语句.
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
第二章 Java语法基础.
目标 流程控制 字符串处理 C# 的类和对象 C# 访问修饰符 C# 构造函数和析构函数.
問題解決與流程圖 高慧君 台北市立南港高中 2006年12月22日.
程序设计基础.
#include <iostream.h>
第二章 Java基本语法 讲师:复凡.
第五章 逻辑运算和判断选取控制 §5.1 关系运算符和关系表达式
PHP程式設計 五、程式流程控制結構 建國科技大學 資訊管理學系 饒瑞佶.
遞迴 Recursion.
第7章 MATLAB工程计算.
Do While 迴圈 東海大學物理系‧資訊教育 施奇廷.
美丽的旋转.
C#快速導讀 流程控制.
C语言基本语句 判断循环.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
第二章 Java基础语法 北京传智播客教育
1.2.3 循环语句.
Presentation transcript:

第二单元 第2课 Matlab程序控制结构 1.顺序结构 2.选择结构 3.循环结构

1.顺序结构 顺序结构是指按照程序中语句的排列顺序依次执行,直到程序的最后一个语句。 例5.1 求一元二次方程 的根。 例5.1  求一元二次方程 的根。 由于Matlab能进行复数运算,所以不需要判断方程的判别式,可直接根据求根公式求根。 程序如下: a = input('a=?'); b = input('b=?'); c = input('c=?'); d = b*b-4*a*c; x = [(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)]; disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]); 程序输出为: a=?4 b=?78 c=?54 x1=-0.7188,x2=-18.7812

2.选择结构 选择结构是根据给定的条件成立或不成立,分别执行不同的语句。 Matlab用于实现选择结构的语句有if语句,switch语句和try语句。 (1). if语句   在Matlab中,if语句有3种格式。 (1.1)单分支if语句 语句格式: if 条件    语句组 end 例5.2 :当x是整数矩阵时,输出x的值 if fix(x)==x     disp(x);

(1.2)双分支if语句 语句格式: if 条件    语句组 1 else    语句组 2 end 当条件成立时,执行语句组1,否则执行语句组2,然后再执行if语句的后续语句。

例5.3 计算分段函数: 程序如下: x = input(‘请输入x的值:'); if x == 10    y = cos(x+1)+sqrt(x*x+1); else    y = x*sqrt(x+sqrt(x)); end y 也可以用单分支if语句来实现: x =input('请输入x的值: '); y =cos(x+1)+sqrt(x*x+1); ifx~=10     y = x*sqrt(x+sqrt(x));

(1.3)多分支if语句 语句格式: if 条件1    语句组 1 elseif 条件2    语句组 2 … elseif 条件m    语句组 m else    语句组n end

例5.4大小写字母的置换  输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字 母,则输出其对应的大写字母;若为数字字符则输出其对应的数值,若为其他字符则原样输出。程序如下: c = input(‘请输入一个字符’,‘s’); if c >=‘A’ & c<=‘Z’    disp(setstr(abs(c) + abs(‘a’)-abs(‘A’))); elseif c>=‘a’ & c<=‘z’    disp(setstr(abs(c)- abs(‘a’) + abs(‘A’))); elseif c>=‘0’ & c<=‘9’    disp(abs(c)-abs(‘0’)); else    disp(c); end

(2) switch语句 switch语句根据表达式的取值不同,分别执行不同的语句,其语句格式: switch 表达式 case 表达式1         语句组1 case 表达式2         语句组2 … case 表达式m         语句组m otherwise          语句组 n end

例5.5 某商场对顾客所购买的商品实行打折销售,标准如下: price<200                  没有折扣 200<=price<500        3%折扣 500<=price<1000      5%折扣 1000<=price<2500    8%折扣 2500<=price<5000    10%折扣 5000<=price              14%折扣 输入所售商品的价格,求其实际销售价格。请编程实现。

程序如下: price= input(‘请输入商品价格’); switchfix(price/100)     case{0,1}                       %价格小于200         rate = 0;     case{2,3,4}         rate = 3/100;             %价格大于等于200但小于500     case num2cell(5:9)       %num2cell函数是将数值矩                                        %阵转化为单元矩阵。         rate = 5/100;              %价格大于等于500但小于1000      case num2cell(10:24)         rate = 8/100;              %价格大于等于1000但小于 2500      case num2cell(25:49)         rate = 10/100;            %价格大于等于2500但小于 5000

    otherwise          rate = 14/100;           %价格大于等于5000    end    price= price*(1-rate)       %输出商品实际销售价格 (3)try语句    try语句是一种试探性执行语句,其语句格式为:     try         语句组1    catch         语句组2    end   try语句先试探性执行语句组1,如果在执行过程中出现错误,则将     错误信息赋给保留的lasterr变量,并转去执行语句组2.

例5.6 矩阵乘法运算要求两矩阵的维数相容,否则会出错。先求两矩阵的 乘积,若出错则自动转去求两矩阵的点乘。 程序如下: A = [1,2,3;4,5,6]; B = [7,8,9;10,11,12]; try    C = A*B; catch    C = A.*B; end C lasterr        %显示出错原因

3.循环结构 循环是指按照给定的条件,重复执行指定的语句,Matlab提供了两种实现循环结构的语句:for语句和while语句。    循环体语句 end 其中表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的 值为循环变量的终值。步长为1时,表达式2可以省略。

例5.7已知,当n=100时,求y的值。 程序如下: y = 0;n = 100; for i=1:n    y = y+1/i/i; end y (2)、while语句 while语句的一般格式为: while条件       循环体语句 其执行过程为:若条件成立,则执行循环体语句,执行后再判断条件是否成立,如果不成立则跳出循环。

例5.8 从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和. sum =0; n =0; x =input(‘Enter a number(end in 0):’); while(x~=0)     sum = sum+x;     n = n+1;     x = input(‘Entera number(end in 0):’); end if(n>0)     sum     mean = sum/n

(3)break语句和continur语句 它们一般与if语句配合使用。 break语句用于终止循环的执行。 当在循环体内执行到该语句时,程序将跳出循环,继续执行循环语句的 下一语句。 continue语句控制跳过循环体中的某些语句。 当在循环体内执行到该语句时,程序将跳过循环体中所有剩下的语句, 继续下一次循环。

例5.9 求[100,200]之间第一个能被21整除的整数。 程序如下: for n = 100:200    if rem(n,21)~=0;       continue    end    break end n