数学建模与MATLAB课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学建模与MATLAB 8
关系运算符
运算符 < > == 说明 小于 大于 等于 运算符 <= >= ~= 说明 小于或等于 大于或等于 不等于
9
数学建模与MATLAB
逻辑运算符
• 逻辑真:1 逻辑假:0
与运算:&
1&1=1 1&0=0 0&0=0
或运算:|
1|1=1 1|0=1 0|0=0
数学建模与MATLAB
数学建模与MATLAB
23
例题2
• 从键盘输入一个年份,判断是否是闰年。 • 公历闰年计算方法(按一回归年365天5小时48分45.5秒) • 1、普通年能整除4且不能整除100的为闰年。(如2004年 就是闰年,1901年不是闰年) • 2、世纪年能整除400的是闰年。(如2000年是闰年,1900 年不是闰年) • 3、对于数值很大的年份,这年如果能被3200整除,并且能被 172800整除则是闰年(即出现限制条件,仅被3200整除的 年份不是闰年) 。如172800年是闰年,86400年不是闰年( 因为虽然能被3200整除,但不能被172800整除)。
数学建模与MATLAB 6
函数M文件
• 函数M文件是第一个可执行语句以function开始的M文件 ,每一个函数文件都定义一个函数,它可以接受参数、也 可以返回参数。
• 格式 function [输出变量组]=函数名(输入变量组) 注释说明部分 函数体 end
数学建模与MATLAB
7
§3.2
程序设计
数学建模与MATLAB
22
例题2
• 从键盘输入一个年份,判断是否是闰年。 disp('请输入一个年份:'); x=input('year='); if mod(x,400)==0 | (mod(x,4)==0 & mod(x,100)~=0) fprintf('%d是闰年!\n',x); else fprintf('%d不是闰年!\n',x); end
非运算:~
~1=0 ~0=1
10
运算符优先级
• 当将多个运算符和变量写成一个MATLAB表达式时,运算 符的优先次序必须明确。
优先级 最高 ↓ ↓ ↓ ↓ ↓ ↓ ↓ 最低 圆括号 () 转置 (.’),共轭转置 (‘),乘方 (.^),矩阵乘方 (^) 逻辑非(~) 乘法 (.*),矩阵乘法 (*),右除 (./),左除 (.\),矩阵右除 (/),矩阵左除 (\) 加法 (+),减法 (-) 冒号运算符 (:) 小于 (<),小于等于 (<=),大于 (>),大于等于 (>=),等于 (==),不等于 (~=) 逻辑与 (&) 逻辑或 ( | ) 运算符
数学建模与MATLAB
17
选择结构
• 选择结构又称为分支结构,是指有条件地选择要 执行的程序段。
K
真(非0) 假(0)
条件
K=k1
K≠k1…kn K=k2 A2 K=ki
A
B
A1
…
Ai
……
B
数学建模与MATLAB
18
if-else-end语句
• 1、单分支 if-end 结构
• 格式
if 表达式 执行代码块 end
• 顺序结构: – 一种按书写顺序执行的结构。 • 选择结构: – 根据运行时的情况自动选择要执行的语句。 • 循环结构: – 根据情况自动重复执行有关语句。
数学建模与MATLAB
13
顺序结构
• 顺序结构即按照语句书写顺序执行的程序结构。
A
B
数学建模与MATLAB
14
顺序结构程序举例
• 使用脚本式M文件绘制一个正弦曲线:
if 表达式 执行代码块1 else 执行代码块2 end
• 当判断表达式为真时,执行代码块1,否则执行代码块2。
数学建模与MATLAB 20
例题1
• 输入两个整数,输出其中较大的数。
真
开始 输入x、y
假
x>y
max=x
max=y 输出max 结束
数学建模与MATLAB
21
例题2
• 从键盘输入一个年份,判断是否是闰年。 • 公历闰年计算方法(按一回归年365天5小时48分45.5秒) • 1、普通年能整除4且不能整除100的为闰年。(如2004年 就是闰年,1901年不是闰年) • 2、世纪年能整除400的是闰年。(如2000年是闰年,1900 年不是闰年)
数学建模与MATLAB
15
课堂练习
• 现有一份学生成绩: 45 69 78 96 32 95 88 79 85 74 • 创建M文件,利用顺序结构,编程计算: • (1)平均分 • (2)及格人数 • (3)小于40分和大于等于90分的人数
数学建模与MATLAB
16
答案
clear; clc; A=[45 69 78 96 32 95 88 79 85 74]; a=sum(A)/sum(A>0); b=sum(A>60); c=sum(A<40|A>=90); fprintf('平均分:%4.2f分\n及格人数:%d人\n高分低分 人数:%d人\n',a,b,c);
Mathematical Modeling and MATLAB 数学建模与MATLAB 主讲人:孙越
数学建模与MATLAB
第三讲:MATLAB程序设计(1)
2018/11/17
§3.1
M文件
数学建模与MATLAB 2
M文本编辑器的基本知识
• M文件的语法类似于一般高级语言,是一种程序化的编程 语言。 • 但是,与传统的高级语言相比,M文件又有自己的特点。 • 它只是一个简单的ASCII型码文本文件,因此,它的语法 比一般的高级语言要简单,程序也容易调试,并且有很好 的交互性。 • 文件名必须以英文字符开头,且不包含运算符,不与变量 名函数名重复。 • M文件分为脚本文件和函数文件。
• 这是最简单的判断语句,只有一个判断语句,其中的表达 式为逻辑表达式,当表达式为真时,执行相应的语句,否 则,直接跳到下一段语句。
数学建模与MATLAB
Βιβλιοθήκη Baidu19
if-else-end语句
• 2、双分支 if…else…end 结构
• 当程序有两个选择时,可以选择 if…else…end 结构,此时 程序结构为:
数学建模与MATLAB
24
数学建模与MATLAB
11
例题
A= 1 2 3 4 5 6 7 8 9 B= 9 8 7 6 5 4 3 2 1 L=
• L1=A<4 • L2=A>3&B<6 • L3=A>3 | B<6
数学建模与MATLAB 12
程序设计三种结构
• MATLAB语言提供三种结构化语句来控制程序的 执行流程:
数学建模与MATLAB
3
M文件的建立与运行
数学建模与MATLAB
4
M文件的建立与运行
数学建模与MATLAB
5
脚本M文件
• 脚本文件是命令的集合,是由一系列MATLAB命令、内置 函数及M文件等组成的文件。它是M文件中最简单的一种 ,不需要输入、输出参数,用命令语句可以控制MATLAB 命令工作空间的所有数据。在运行过程中,产生的所有变 量均是命令工作空间变量,这些变量一旦生成,就一直保 持在内存空间中,除非用户执行clear命令将它们清除。 • 运行一个脚本文件等价于从命令窗口中顺序运行文件里的 语句。由于脚本文件只是一串命令的集合,因此,只需像 在命令窗口中输入语句那样,依次将语句编辑在脚本文件 ,然后在MATLAB命令窗口输入该命令文件的名字就会顺 序执行命令文件中的命令。
关系运算符
运算符 < > == 说明 小于 大于 等于 运算符 <= >= ~= 说明 小于或等于 大于或等于 不等于
9
数学建模与MATLAB
逻辑运算符
• 逻辑真:1 逻辑假:0
与运算:&
1&1=1 1&0=0 0&0=0
或运算:|
1|1=1 1|0=1 0|0=0
数学建模与MATLAB
数学建模与MATLAB
23
例题2
• 从键盘输入一个年份,判断是否是闰年。 • 公历闰年计算方法(按一回归年365天5小时48分45.5秒) • 1、普通年能整除4且不能整除100的为闰年。(如2004年 就是闰年,1901年不是闰年) • 2、世纪年能整除400的是闰年。(如2000年是闰年,1900 年不是闰年) • 3、对于数值很大的年份,这年如果能被3200整除,并且能被 172800整除则是闰年(即出现限制条件,仅被3200整除的 年份不是闰年) 。如172800年是闰年,86400年不是闰年( 因为虽然能被3200整除,但不能被172800整除)。
数学建模与MATLAB 6
函数M文件
• 函数M文件是第一个可执行语句以function开始的M文件 ,每一个函数文件都定义一个函数,它可以接受参数、也 可以返回参数。
• 格式 function [输出变量组]=函数名(输入变量组) 注释说明部分 函数体 end
数学建模与MATLAB
7
§3.2
程序设计
数学建模与MATLAB
22
例题2
• 从键盘输入一个年份,判断是否是闰年。 disp('请输入一个年份:'); x=input('year='); if mod(x,400)==0 | (mod(x,4)==0 & mod(x,100)~=0) fprintf('%d是闰年!\n',x); else fprintf('%d不是闰年!\n',x); end
非运算:~
~1=0 ~0=1
10
运算符优先级
• 当将多个运算符和变量写成一个MATLAB表达式时,运算 符的优先次序必须明确。
优先级 最高 ↓ ↓ ↓ ↓ ↓ ↓ ↓ 最低 圆括号 () 转置 (.’),共轭转置 (‘),乘方 (.^),矩阵乘方 (^) 逻辑非(~) 乘法 (.*),矩阵乘法 (*),右除 (./),左除 (.\),矩阵右除 (/),矩阵左除 (\) 加法 (+),减法 (-) 冒号运算符 (:) 小于 (<),小于等于 (<=),大于 (>),大于等于 (>=),等于 (==),不等于 (~=) 逻辑与 (&) 逻辑或 ( | ) 运算符
数学建模与MATLAB
17
选择结构
• 选择结构又称为分支结构,是指有条件地选择要 执行的程序段。
K
真(非0) 假(0)
条件
K=k1
K≠k1…kn K=k2 A2 K=ki
A
B
A1
…
Ai
……
B
数学建模与MATLAB
18
if-else-end语句
• 1、单分支 if-end 结构
• 格式
if 表达式 执行代码块 end
• 顺序结构: – 一种按书写顺序执行的结构。 • 选择结构: – 根据运行时的情况自动选择要执行的语句。 • 循环结构: – 根据情况自动重复执行有关语句。
数学建模与MATLAB
13
顺序结构
• 顺序结构即按照语句书写顺序执行的程序结构。
A
B
数学建模与MATLAB
14
顺序结构程序举例
• 使用脚本式M文件绘制一个正弦曲线:
if 表达式 执行代码块1 else 执行代码块2 end
• 当判断表达式为真时,执行代码块1,否则执行代码块2。
数学建模与MATLAB 20
例题1
• 输入两个整数,输出其中较大的数。
真
开始 输入x、y
假
x>y
max=x
max=y 输出max 结束
数学建模与MATLAB
21
例题2
• 从键盘输入一个年份,判断是否是闰年。 • 公历闰年计算方法(按一回归年365天5小时48分45.5秒) • 1、普通年能整除4且不能整除100的为闰年。(如2004年 就是闰年,1901年不是闰年) • 2、世纪年能整除400的是闰年。(如2000年是闰年,1900 年不是闰年)
数学建模与MATLAB
15
课堂练习
• 现有一份学生成绩: 45 69 78 96 32 95 88 79 85 74 • 创建M文件,利用顺序结构,编程计算: • (1)平均分 • (2)及格人数 • (3)小于40分和大于等于90分的人数
数学建模与MATLAB
16
答案
clear; clc; A=[45 69 78 96 32 95 88 79 85 74]; a=sum(A)/sum(A>0); b=sum(A>60); c=sum(A<40|A>=90); fprintf('平均分:%4.2f分\n及格人数:%d人\n高分低分 人数:%d人\n',a,b,c);
Mathematical Modeling and MATLAB 数学建模与MATLAB 主讲人:孙越
数学建模与MATLAB
第三讲:MATLAB程序设计(1)
2018/11/17
§3.1
M文件
数学建模与MATLAB 2
M文本编辑器的基本知识
• M文件的语法类似于一般高级语言,是一种程序化的编程 语言。 • 但是,与传统的高级语言相比,M文件又有自己的特点。 • 它只是一个简单的ASCII型码文本文件,因此,它的语法 比一般的高级语言要简单,程序也容易调试,并且有很好 的交互性。 • 文件名必须以英文字符开头,且不包含运算符,不与变量 名函数名重复。 • M文件分为脚本文件和函数文件。
• 这是最简单的判断语句,只有一个判断语句,其中的表达 式为逻辑表达式,当表达式为真时,执行相应的语句,否 则,直接跳到下一段语句。
数学建模与MATLAB
Βιβλιοθήκη Baidu19
if-else-end语句
• 2、双分支 if…else…end 结构
• 当程序有两个选择时,可以选择 if…else…end 结构,此时 程序结构为:
数学建模与MATLAB
24
数学建模与MATLAB
11
例题
A= 1 2 3 4 5 6 7 8 9 B= 9 8 7 6 5 4 3 2 1 L=
• L1=A<4 • L2=A>3&B<6 • L3=A>3 | B<6
数学建模与MATLAB 12
程序设计三种结构
• MATLAB语言提供三种结构化语句来控制程序的 执行流程:
数学建模与MATLAB
3
M文件的建立与运行
数学建模与MATLAB
4
M文件的建立与运行
数学建模与MATLAB
5
脚本M文件
• 脚本文件是命令的集合,是由一系列MATLAB命令、内置 函数及M文件等组成的文件。它是M文件中最简单的一种 ,不需要输入、输出参数,用命令语句可以控制MATLAB 命令工作空间的所有数据。在运行过程中,产生的所有变 量均是命令工作空间变量,这些变量一旦生成,就一直保 持在内存空间中,除非用户执行clear命令将它们清除。 • 运行一个脚本文件等价于从命令窗口中顺序运行文件里的 语句。由于脚本文件只是一串命令的集合,因此,只需像 在命令窗口中输入语句那样,依次将语句编辑在脚本文件 ,然后在MATLAB命令窗口输入该命令文件的名字就会顺 序执行命令文件中的命令。