Matlab基础与应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Matlab基础及其应用
教师简介
主讲教师:李浩 刘大刚 holly@uestc.edu.cn 物理电子学院
MATLAB课程介绍
定位:公共基础选修课 目标:了解MATLAB,能够熟练掌握数学
(矩阵)运算,简单编程,简单的数据处 理、符号运算及基本图形绘制.对MATLAB面 向对象编程与simulink有基本了解。
Di
a21
a2,i1
b2
a2,i1
a2n
an1 an,i1 bn an,i1 ann
线性方程组求解
数值求解方法: 1.直接法 Gauss消去法、Gauss-Jordan消去法、矩 阵分解法等。
2.迭代法 Jacobi迭代法、Gauss-Seidel迭代法和超松 弛迭代法等。
0
-0.2
-0.4
-0.6
-0.8
-1
0
1
2
3
4
5
6
用四种方法描述cos(x)*sin(y)图形
1
0.5
0
-0.5
-1 4
2
5
0
-2
0
-4 -5
1
0.5
0
-0.5
-1 4
2
5
0
-2
0
-4 -5
4
3
2
1
0
-1
-2
-3
-4
-4
-2
0
2
4
matlab工具箱
MATLAB包含两个部分:核心部分和各种可选的工具箱。 核心部分中有数百个核心内部函数。
输入下面Matlab指令
4 2 2 A 1 3 2
1 3 3
A=[4 2 3;1 3 2;1 3 3;3 2 2]; B=[35 20 60 45;10 15 50 40; …20 12 45 20]; C=A*B
3 2 2
35 20 60 45 B 10 15 50 40
Jack Little CEO / Founder
1983年春天,Cleve Moler到Standford大学讲学, MATLAB深深地吸引了工程师John Little。John Little敏 锐地觉察到MATLAB在工程领域的广阔前景,同年,他和 Cleve Moler,Steve Bangert一起,用C语言开发了第 二代专业版。这一代的MATLAB语言同时具备了数值计算 和数据图示化的功能 。
上机地点:主楼东312(物电机房) 上机时间:18:00~20:00
20:00~22:00
主要内容
1. Matlab 概述与入门; 2. 数据类型和运算; 3. 数值计算; 4. 符号运算; 5. 数据和函数的可视化; 6. Matlab编程;
第一章 MATLAB语言概述
一、MATLAB产生的历史背景
当D=|A|≠0, 方程组有解,可 用Cramer法则 求解。
a11 a12 a1n x1 b1
a21
a22
a2n
x2
b2
an1
an2
ann
xn
bn
线性方程组求解
x1
Cleve Moler 博士
在70年代中期,Cleve Moler博士和其同事在美国 国家科学基金的资助下开发了调用EISPACK和 LINPACK的FORTRAN子程序库.EISPACK是特征 值求解的FORTRAN程序库,LINPACK是解线性方 程的程序库.在当时,这两个程序库代表矩阵运算的 最高水平.
续行符号
数值、变量和表达式
数值的记述;
变量命名规则;
Matlab默认的预定义 变量;
大小写敏感; 首字母为英文 (少于63个字符); 变量名不包含空格、标点;
运算符和表达式;
复数和复数矩阵;
Matlab采用习惯的十进制表示:
-99
0.001
1.3e-3
4.5e33
数值范围:10e-308~10e308
MATLAB 实现:C=A*B
例、用简短命令计算并绘制在0x6范 围内的sin(2x)、sinx2、sin2x。
x=linspace(0,6) y1=sin(2*x),y2=sin(x.^2),y3=(sin(x)).^2; plot(x,y1,x, y2,x, y3)
1
0.8
0.6
0.4
0.2
20 12 45 20
C=
220 105 125 165
146 475 320 89 300 205 101 345 225 114 370 255
考虑一个实际编程例子 如何编写一个能求出两个矩阵相乘的计算机通 用子程序?
是否正确? 错误,未考虑其一为标量 加入标量判定,是否就是通用程序了? 错误,考虑其一或二者为复数矩阵
指令输入提示符 >> (12+2*(7-4))/3^2
ans =
2 >>
Answer的缩写
简单矩阵的输入步骤:
>> A=[1,2,3;4,5,6;7,8,9] A=
123 456 789 >>
指令续行输入
>> S=1-1/2+1/3-1/4+... 1/5-1/6+1/7-1/8 S=
0.6345 >>
线性方程组求解
3x1 x2 x3 3.6
x1
2 x2
Байду номын сангаас
4 x3
2.1
x1 4x2 5x3 1.4
Matlab求解过程:
数据统计与处理
一个工厂生产三种橄榄球用品 : 防护帽、 垫 肩、臀垫。需要不同数量的:硬塑料 、 泡沫 塑料 尼龙线 、 劳动力。
为监控生产,管理者对它们之间的关系十分关 心。为把握这些量的关系,列出下面的表格
菜单 三.Matlab 界面与初步操作
快捷工具栏
workspace
工作目录选择栏 指令窗口
Command window运行入门
最简单的计算器使用法; 数值、变量和表达式; 指令行中的标点符号; 计算结果的图形表示;
求 [12 2 (7 4)] 32 的运算结果。
一、MATLAB产生的历史背景
Jack Little is president, CEO, and a co-founder of The MathWorks, Inc. He was a co-author and principal architect of early versions of the company's flagship MATLAB product as well as the Signal Processing Toolbox and the Control Systems Toolbox.
Cleve Moler is chairman and chief scientist at The MathWorks. Moler was a professor of math and computer science for almost 20 years at the University of Michigan, Stanford University and the University of New Mexico.
工 具M符箱A号又T数L分学A为B工两主具类工箱:具功箱能性工具箱和学科性工具箱。 功功 能能S控性,I制M工文系U具字L统箱处IN工主理K具要功仿箱用能真来以工扩及具充与箱其硬符件号实计时算交功互能功,能图。示功建能模性仿工真具 箱 可信用号于处多理种工学具科箱。 图象处理工具箱 学 科通性讯工工具具箱箱是专业的,如(control、signal p ro系ce统e辨ss识in工g具、箱commumnication) toolbox等。这 些用 工户神金具无经融箱需元工都编网具是写络箱由自工该己具领学箱域科内范学围术内水的平基很础高程的序专。家编写的,所以
参考教材:MATLAB基础及应用
参考书目:
《Matlab程序设计教程》,李海涛、邓樱,高等教育出版社/2005.5.1 《精通MATLAB 6.5版》,张志涌,北京航空航天大学出版社/2003.3 《科学运算语言MATLAB5.3程序设计及应用》,薛定宇,清华大学出版社 /2000 《数值方法和MATLAB实现与应用》,拉克唐瓦尔德(美),机械工业出版 社/2004.9
1
0.5
0
-0.5
-1
0
5
10
15
画出
sin( z
x2 y2 )
x2 y2
是 [-8,8]
所表示的三维曲面 ,的取值范围
clear;x=-8:0.5:8;
1
y=x';
0.5
X=ones(size(y))*x;
z
0
Y=y*ones(size(x));
-0.5
R=sqrt(X.^2+Y.^2)+eps; 10
2004年5月推出Matlab7.0
时至今日,经过MathWorks公司的不断完善, MATLAB已经发展成为适合多学科,多种工作平台 的功能强大的大型软件。在国外,MATLAB已经经 受了多年考验。在欧美等高校,MATLAB已经成为 线性代数,自动控制理论,数理统计,数字信号处 理,时间序列分析,动态系统仿真等高级课程的基 本教学工具;成为攻读学位的大学生,硕士生,博 士生必须掌握的基本技能。在设计研究单位和工业 部门,MATLAB被广泛用于科学研究和解决各种具 体问题。在国内,特别是工程学术界,MATLAB也 逐步盛行起来。可以说,无论你从事工程方面的哪 个学科,都能在MATLAB里找到合适的功能。
原料产品关系表
原料 防护帽 产品
硬塑料 4 泡沫塑料 1
尼龙线 1 劳动力 3
垫肩
2 3 3 2
臀垫
2 2 3 2
订单 1 订单 2 订单
3
防护帽 35
20
60
垫肩 10
15
50
臀垫 20
12
45
订单 4
45 40 20
管理者接到四份订单如上表所示。
问应该如何计算每份订单所需的原材料,
以便组织生产?
t
画出衰减振荡曲线 其它的包络线 y0
y
e
t 3
e 3 sin 3t 及
。的取值范围是
[0,4 ] 。
t=0:pi/50:4*pi; y0=exp(-t/3); y=exp(-t/3).*sin(3*t); plot(t,y,'-r',t,y0,':b',t,-y0,':b') grid
D1 D
,
x2
D2 D
,,
xn
Dn D
a11 a12 a1n D a21 a22 a2n
an1 an2 ann
N阶行列式的计算需要n! 次乘法,求解n阶线性方程 组,共需要做(n+1)!次乘 法。如n=20,则,需做: 21!=5.10909×1019
a11 a1,i1 b1 a1,i1 a1n
10
Z=sin(R)./R;
0
0
y -10 -10 x
surf(X,Y,Z);
colormap(cool)
特点:完全不必具备其它语言的基础,各年 级各专业的同学都可选修。
MATLAB课程安排
学时: 32学时(基于matlab6.5版本) 安排:讲课16学时,上机16学时 考核要求:实验报告必须齐备。 考核方式: 实验报告
上机安排
从9月21日(也就是下个星期四)起,每个星 期四安排为上机时间。
MATLAB的第一个商业化的版本是1984年推出的 是3.0的DOS版本
1992年MathWorks 公司于推出了4.0版本,
1994年的4.2版本扩充了4.0版本的功能,尤其在 图形界面设计方面更提供了新的方法。
1997年推出的5.0版允许了更多的数据结构,如单 元数据、多维矩阵、对象与类等,使其成为一种更 方便编程的语言。
1999年推出的 MATLAB 5.3版在很多方面又进一 步改进了 MATLAB 语言的功能。
2000年10月底推出了其全新的 MATLAB 6.0正式 版(Release 12),在核心数值算法、界面设计、外 部接口、应用桌面等诸多方面有了极大的改进。
2002年6月发布了其全新的 MATLAB 6.5正式版 (Release 13)
二、MATLAB的语言特点
1. 语言简洁紧凑,使用方便灵活,库函数极 其丰富;
2. 运算符丰富; 3. 兼聚结构化与面向对象编程的特性; 4. 程序设计自由度大; 5. 良好的程序可移植性; 6. 强大的图形功能; 7. 功能性工具箱和学科性工具箱; 8. 源程序的开放性。
线性方程组求解
a11x1 a12x2 a1n xn b1 a21x1 a22x2 a2n xn b2 an1x1 an2 x2 ann xn bn
教师简介
主讲教师:李浩 刘大刚 holly@uestc.edu.cn 物理电子学院
MATLAB课程介绍
定位:公共基础选修课 目标:了解MATLAB,能够熟练掌握数学
(矩阵)运算,简单编程,简单的数据处 理、符号运算及基本图形绘制.对MATLAB面 向对象编程与simulink有基本了解。
Di
a21
a2,i1
b2
a2,i1
a2n
an1 an,i1 bn an,i1 ann
线性方程组求解
数值求解方法: 1.直接法 Gauss消去法、Gauss-Jordan消去法、矩 阵分解法等。
2.迭代法 Jacobi迭代法、Gauss-Seidel迭代法和超松 弛迭代法等。
0
-0.2
-0.4
-0.6
-0.8
-1
0
1
2
3
4
5
6
用四种方法描述cos(x)*sin(y)图形
1
0.5
0
-0.5
-1 4
2
5
0
-2
0
-4 -5
1
0.5
0
-0.5
-1 4
2
5
0
-2
0
-4 -5
4
3
2
1
0
-1
-2
-3
-4
-4
-2
0
2
4
matlab工具箱
MATLAB包含两个部分:核心部分和各种可选的工具箱。 核心部分中有数百个核心内部函数。
输入下面Matlab指令
4 2 2 A 1 3 2
1 3 3
A=[4 2 3;1 3 2;1 3 3;3 2 2]; B=[35 20 60 45;10 15 50 40; …20 12 45 20]; C=A*B
3 2 2
35 20 60 45 B 10 15 50 40
Jack Little CEO / Founder
1983年春天,Cleve Moler到Standford大学讲学, MATLAB深深地吸引了工程师John Little。John Little敏 锐地觉察到MATLAB在工程领域的广阔前景,同年,他和 Cleve Moler,Steve Bangert一起,用C语言开发了第 二代专业版。这一代的MATLAB语言同时具备了数值计算 和数据图示化的功能 。
上机地点:主楼东312(物电机房) 上机时间:18:00~20:00
20:00~22:00
主要内容
1. Matlab 概述与入门; 2. 数据类型和运算; 3. 数值计算; 4. 符号运算; 5. 数据和函数的可视化; 6. Matlab编程;
第一章 MATLAB语言概述
一、MATLAB产生的历史背景
当D=|A|≠0, 方程组有解,可 用Cramer法则 求解。
a11 a12 a1n x1 b1
a21
a22
a2n
x2
b2
an1
an2
ann
xn
bn
线性方程组求解
x1
Cleve Moler 博士
在70年代中期,Cleve Moler博士和其同事在美国 国家科学基金的资助下开发了调用EISPACK和 LINPACK的FORTRAN子程序库.EISPACK是特征 值求解的FORTRAN程序库,LINPACK是解线性方 程的程序库.在当时,这两个程序库代表矩阵运算的 最高水平.
续行符号
数值、变量和表达式
数值的记述;
变量命名规则;
Matlab默认的预定义 变量;
大小写敏感; 首字母为英文 (少于63个字符); 变量名不包含空格、标点;
运算符和表达式;
复数和复数矩阵;
Matlab采用习惯的十进制表示:
-99
0.001
1.3e-3
4.5e33
数值范围:10e-308~10e308
MATLAB 实现:C=A*B
例、用简短命令计算并绘制在0x6范 围内的sin(2x)、sinx2、sin2x。
x=linspace(0,6) y1=sin(2*x),y2=sin(x.^2),y3=(sin(x)).^2; plot(x,y1,x, y2,x, y3)
1
0.8
0.6
0.4
0.2
20 12 45 20
C=
220 105 125 165
146 475 320 89 300 205 101 345 225 114 370 255
考虑一个实际编程例子 如何编写一个能求出两个矩阵相乘的计算机通 用子程序?
是否正确? 错误,未考虑其一为标量 加入标量判定,是否就是通用程序了? 错误,考虑其一或二者为复数矩阵
指令输入提示符 >> (12+2*(7-4))/3^2
ans =
2 >>
Answer的缩写
简单矩阵的输入步骤:
>> A=[1,2,3;4,5,6;7,8,9] A=
123 456 789 >>
指令续行输入
>> S=1-1/2+1/3-1/4+... 1/5-1/6+1/7-1/8 S=
0.6345 >>
线性方程组求解
3x1 x2 x3 3.6
x1
2 x2
Байду номын сангаас
4 x3
2.1
x1 4x2 5x3 1.4
Matlab求解过程:
数据统计与处理
一个工厂生产三种橄榄球用品 : 防护帽、 垫 肩、臀垫。需要不同数量的:硬塑料 、 泡沫 塑料 尼龙线 、 劳动力。
为监控生产,管理者对它们之间的关系十分关 心。为把握这些量的关系,列出下面的表格
菜单 三.Matlab 界面与初步操作
快捷工具栏
workspace
工作目录选择栏 指令窗口
Command window运行入门
最简单的计算器使用法; 数值、变量和表达式; 指令行中的标点符号; 计算结果的图形表示;
求 [12 2 (7 4)] 32 的运算结果。
一、MATLAB产生的历史背景
Jack Little is president, CEO, and a co-founder of The MathWorks, Inc. He was a co-author and principal architect of early versions of the company's flagship MATLAB product as well as the Signal Processing Toolbox and the Control Systems Toolbox.
Cleve Moler is chairman and chief scientist at The MathWorks. Moler was a professor of math and computer science for almost 20 years at the University of Michigan, Stanford University and the University of New Mexico.
工 具M符箱A号又T数L分学A为B工两主具类工箱:具功箱能性工具箱和学科性工具箱。 功功 能能S控性,I制M工文系U具字L统箱处IN工主理K具要功仿箱用能真来以工扩及具充与箱其硬符件号实计时算交功互能功,能图。示功建能模性仿工真具 箱 可信用号于处多理种工学具科箱。 图象处理工具箱 学 科通性讯工工具具箱箱是专业的,如(control、signal p ro系ce统e辨ss识in工g具、箱commumnication) toolbox等。这 些用 工户神金具无经融箱需元工都编网具是写络箱由自工该己具领学箱域科内范学围术内水的平基很础高程的序专。家编写的,所以
参考教材:MATLAB基础及应用
参考书目:
《Matlab程序设计教程》,李海涛、邓樱,高等教育出版社/2005.5.1 《精通MATLAB 6.5版》,张志涌,北京航空航天大学出版社/2003.3 《科学运算语言MATLAB5.3程序设计及应用》,薛定宇,清华大学出版社 /2000 《数值方法和MATLAB实现与应用》,拉克唐瓦尔德(美),机械工业出版 社/2004.9
1
0.5
0
-0.5
-1
0
5
10
15
画出
sin( z
x2 y2 )
x2 y2
是 [-8,8]
所表示的三维曲面 ,的取值范围
clear;x=-8:0.5:8;
1
y=x';
0.5
X=ones(size(y))*x;
z
0
Y=y*ones(size(x));
-0.5
R=sqrt(X.^2+Y.^2)+eps; 10
2004年5月推出Matlab7.0
时至今日,经过MathWorks公司的不断完善, MATLAB已经发展成为适合多学科,多种工作平台 的功能强大的大型软件。在国外,MATLAB已经经 受了多年考验。在欧美等高校,MATLAB已经成为 线性代数,自动控制理论,数理统计,数字信号处 理,时间序列分析,动态系统仿真等高级课程的基 本教学工具;成为攻读学位的大学生,硕士生,博 士生必须掌握的基本技能。在设计研究单位和工业 部门,MATLAB被广泛用于科学研究和解决各种具 体问题。在国内,特别是工程学术界,MATLAB也 逐步盛行起来。可以说,无论你从事工程方面的哪 个学科,都能在MATLAB里找到合适的功能。
原料产品关系表
原料 防护帽 产品
硬塑料 4 泡沫塑料 1
尼龙线 1 劳动力 3
垫肩
2 3 3 2
臀垫
2 2 3 2
订单 1 订单 2 订单
3
防护帽 35
20
60
垫肩 10
15
50
臀垫 20
12
45
订单 4
45 40 20
管理者接到四份订单如上表所示。
问应该如何计算每份订单所需的原材料,
以便组织生产?
t
画出衰减振荡曲线 其它的包络线 y0
y
e
t 3
e 3 sin 3t 及
。的取值范围是
[0,4 ] 。
t=0:pi/50:4*pi; y0=exp(-t/3); y=exp(-t/3).*sin(3*t); plot(t,y,'-r',t,y0,':b',t,-y0,':b') grid
D1 D
,
x2
D2 D
,,
xn
Dn D
a11 a12 a1n D a21 a22 a2n
an1 an2 ann
N阶行列式的计算需要n! 次乘法,求解n阶线性方程 组,共需要做(n+1)!次乘 法。如n=20,则,需做: 21!=5.10909×1019
a11 a1,i1 b1 a1,i1 a1n
10
Z=sin(R)./R;
0
0
y -10 -10 x
surf(X,Y,Z);
colormap(cool)
特点:完全不必具备其它语言的基础,各年 级各专业的同学都可选修。
MATLAB课程安排
学时: 32学时(基于matlab6.5版本) 安排:讲课16学时,上机16学时 考核要求:实验报告必须齐备。 考核方式: 实验报告
上机安排
从9月21日(也就是下个星期四)起,每个星 期四安排为上机时间。
MATLAB的第一个商业化的版本是1984年推出的 是3.0的DOS版本
1992年MathWorks 公司于推出了4.0版本,
1994年的4.2版本扩充了4.0版本的功能,尤其在 图形界面设计方面更提供了新的方法。
1997年推出的5.0版允许了更多的数据结构,如单 元数据、多维矩阵、对象与类等,使其成为一种更 方便编程的语言。
1999年推出的 MATLAB 5.3版在很多方面又进一 步改进了 MATLAB 语言的功能。
2000年10月底推出了其全新的 MATLAB 6.0正式 版(Release 12),在核心数值算法、界面设计、外 部接口、应用桌面等诸多方面有了极大的改进。
2002年6月发布了其全新的 MATLAB 6.5正式版 (Release 13)
二、MATLAB的语言特点
1. 语言简洁紧凑,使用方便灵活,库函数极 其丰富;
2. 运算符丰富; 3. 兼聚结构化与面向对象编程的特性; 4. 程序设计自由度大; 5. 良好的程序可移植性; 6. 强大的图形功能; 7. 功能性工具箱和学科性工具箱; 8. 源程序的开放性。
线性方程组求解
a11x1 a12x2 a1n xn b1 a21x1 a22x2 a2n xn b2 an1x1 an2 x2 ann xn bn