Matlab经典教案(土木工程专业)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
同以前的版本比起来4.0版本作了很大的改进,如增加
了Simulink(动态仿真)/Control/Network/Optimization/
Signal Processing/Spline/Identification/Robust Control/
Mu-analysis and synthesis(Mu分析与合成)等工具箱。
第二章 MATLAB简介
一、Matlab使用入门 二、数值计算 三、符号运算 四、图形处理 五、程序设计 六、在计算方法中的应用
1
内容讲解安排
1. 目的意义:掌握Matlab的基本用法 2.重 点:数值计算、符号运算、图形制作 及程序设计 3.难 点:程序设计 4.内容分配: 第 2 次:§1 Matlab简介
10
1984年,Mathworks公司成立,把Matlab推向了
市场,并继续Matlab的研制和开发。Matlab在市场 上的出现,为各国科学家开发本学科相关软件提供 了基础。 1993年,Matlab的第一个Windows版本Matlab3.5k
问世,同年,支持Windows3.x的Matlab4.0版本推出,
另外,MATLAB并不“排他”,MATLAB可以方 便地与FORTRAN、C语言进行连接,以充分利用各 种资源。用户只需将已有的EXE文件转换成MEX文件, 就可以方便地调用有关程序和子程序。
7
(4).编程易、效率高
从形式上看,MATLAB程序文件是一个纯文本
文件,扩展名为M。用任何字处理软件都可以对它进
由于MATLAB的开放性、易学易用性等特点,
MATLAB已成为高校学生、老师、科研人员和工程计
算人员的最好选择。MATLAB是真正面向21世纪的科
学计算语言。
3
MATLAB语言主要有以下其它语言不可比拟的特点:
(1).功能强大
MATLAB4.0以上(不包括4.0)的各版本,不仅在
数值计算上保持着相对其它同类软件的绝对优势,而
19
(2).向量的加、减、数乘、点乘、叉乘等运算 已知向量a=[a1, a2, a3]、b=[b1, b2, b3],则有
数量加法:a+2=[a1+2, a2+2, a3+2];
数量减法:a-2=[a1-2, a2-2, a3-2]; 数乘向量:a*2=[a1*2, a2*2, a3*2];
向量加法:a+b=[a1+b1, a2+b2, a3+b3]; 向量减法:a-b=[a1-b1, a2-b2, a3-b3]; 向量相乘:a.*b=[a1*b1, a2*b2, a3*b3]; 向量右除:a./b=[a1/b1, a2/b2, a3/b3];
(3).程序及数据结构 优化
(4).图形处理
(5).用户图形界面
(6).应用程序接口
13
4、MATLAB6.x的桌面平台 (1). Matlab的主窗口 (2). 命令窗口 (3). 历史窗口 (4). 当前目录窗口 (5). 发行说明窗口 (6). 工作间管理窗口
14
4、MATLAB6.5的帮助系统
身为工程师的John Little意识到MATLAB潜在的广 阔应用领域应在工程计算方面,于是在同年,他与 Moler、Steve Bangert一起合作开发了第二代专业版 MATLAB。从这一代开始,MATLAB的核心就采用
C语言编写。也是从这一代开始,MATLAB不仅具
有数值计算功能,而且具有了数据可视化功能。
16
二、MATLAB的数值计算功能
1、Matlab的数据类型 (1). 变量
变量名以字母开头,长度不超过31位,区分大小写。
(2). 常量
pi=3.1415926, i, j=
(3).数字变量 (4). 字符串
1
, eps=10-52 , inf: 无穷大。
258*123; x=258*123.
演示1:juzhen01.m,注意矩阵的输入法,及行数、
列数的确定函数size(A), size(A,1)—行数,size(A,2)—列数。
22
(2). 矩阵的基本运算
矩阵加法: A+B、 A+a; 矩阵减法: A-B 、A-a; 数乘矩阵:A*2; 矩阵相乘:A*B,注意匹配:A的列数等于B的行数; 矩阵左除: A\B, 注意匹配:A的行数等于B的行 数,用于解线性方程组(恰定、超定、欠定方程 组)、矩阵方程组; 矩阵右除:A/B,注意匹配:A的列数等于B的列 数(用法同上);
注意:加分号不显示结果,不加分号显示结果。
s=‘matrix laboratory’
size(s) s(4)
17
(5).向量与矩阵
例2.1 要求计算水在00C、200C、400C、600C、800C的
粘度,已知水的粘度随温度的变化公式为
0
1 at bt
,
2
其中μ 0为水在00C的粘度,在00C值为.785×10-3 。
2000年下半年,Mathworks公司推出了他们的最 新产品Matlab6.0(R12)的试用版,并于2001年初推出
了正式版,同前面的版本对比起来,Matlab6.0在
Matlab5.x 的基础上这种在计算速度上作了比较大的
改善,计算速度有了明显的提高。
12
3、MATLAB6.x的新特点
与MATLAB5.x版本相比较,MATLAB6.x 版本在 各个方面都进行了较大的改进和增补,增加了许多新 功能和更为有效的处理方法,甚至在整个系统的结构 上也作了很大的改进。 (1).开发环境扩展 (2). 数值处理功能增强
且还开发了自己的符号运算功能。特别是 MATLAB6.0
版本在符号运算功能上丝毫不逊于其它各类软件,如
MathCAD、 Mathematica 等。 只要学会了MATLAB,就可以方便地处理诸如矩 阵变换及运算、多项式运算、微积分运算、线性与非 线性方程求解、常微分方程求解、偏微分方程求解、
插值与拟合、统计及优化等问题。
他开始用业余时间为学生编写使用方便的LINPACK和
EISPACK的接口程序。Cleve Moler给这个接口程序取
名为MATLAB,意思是“矩阵实验室”。
9
不久以后,MATLAB受到了学生的普遍欢迎,并
且,MATLAB也成了应用数学界的一个术语。
1983年早春,Cleve Moler到斯坦福大学访问,
行编写和修改,因此程序易调试,人机交换型强。
另外,MATLAB6.5也具有比较健全的调试系统, 调试方便、简单。
8
2、 MATLAB的发展历史
在20世纪70年代,Cleve Moler和其同事在美国国
家科学基金的资助下研究开发了LINPACK和EISPACK
的Fortran子程序库,这两个程序库代表着当时矩阵计 算的最高水平。 到20世纪70年代后期,身为墨西哥大学计算机科 学系系主任的Cleve Moler,在给学生开线性代数课程时,
演示1:jisuan01.m
18
2、向量及其运算
(1).向量的生成
(i). 直接输入向量: a=[1 2 3 4] b=[2,1,4,5] c=[1;2;3;4] (ii). 利用冒号表达式生成向量 a=1:2:12,b=1:6,c=12:-2:1
(iii). 线性等分向量的生成 y=linspace(x1,x2) y=linspace(x1,x2,n) 生成100维的行向量 生成n维的行向量
§2 §3 §4 §5 Matlab的数值计算功能 Matlab的符号运算功能 Matlab的图形制作功能 Matlab的M文件及程序设计
2
一、 Matlab简介
例1.1 Lagrange插值:Lagrange.m , Lag.m
1、Matlab的特点
MATLAB源于Matrix Laboratory一词,原意为 矩阵实验室。一开始它是一种专门用于矩阵数值计算 的软件。随着MATLAB逐渐市场化,MATLAB不仅 具有了数值计算功能,而且具有了数据可视化功能。
向量左除: a.\b=[b1/a1, b2/a2, b3/a3];
20
向量乘幂:a.^2=[a1^2, a2^2, a3^3]; 2.^a=[2^a1, 2^a2, 2^a3] a.^b=[a1^b1, a2^b2, a3^b3] 点乘运算:dot(a,b)=a1*b1+a2*b2+a3*b3, sum(a.*b)= a1*b1+a2*b2+a3*b3; 向量混合积: dot(a,cross(b,c)) 演示0:在命令窗口演示向量的各种运算。
21
3.矩阵的运算
(1). 矩阵的生成 在命令窗口直接键入:A=[1 2 3;4 5 6;7 8 9]; 用M文件输入大型矩阵 A=[10 12 32 41 52 63;21 23 45 67 78 43;21 34 90 89 67 54 ] 或者
A=[10 12 32 41 52 63 21 23 45 67 78 43 21 34 90 89 67 54 ]
箱的初学者)提供了intro及demo等演示命令,用
户可以从中得到兴趣的例子及演示。
6
(3).扩充能力强、可开发性强 MATLAB可扩充性和可开发性起着不可估量的 作用。MATLAB本身就像一个解释系统,对其中的函 数程序的执行以一种解释执行的方式进行,这样最 大的好处是MATLAB完成了一个开放的系统,用户可 以方便地看到函数的源程序,也可以方便地开发自 己的程序,甚至创建自己的“库”。
矩阵乘幂:A^2,注意匹配:A必须为方阵;
23
(3). 矩阵的其它运算
zeros(m,n):
ones(m,n): eye(n):
m行n列的零矩阵
m行n列的全1矩阵 n阶单位矩阵
rand(m,n): m行n列的均匀分布的随机数矩阵
randn(m,n ):m行n列的均匀分布的随机数矩阵 det(A): 矩阵的行列式 inv(A): 矩阵求逆 rank(A): 矩阵求秩 trace(A): 矩阵的迹
1.联机帮助系统:按下主窗口的?及Help下拉菜
单的前四项。
2.命令窗口查询系统:
help,help+函数名,lookfor函数。
3.联机演示系统 基本介绍窗口:intro; 演示界面:demo.
15
5、常用的命令与技巧
dir: 显示目录下文件 type: 显示文件内容 clear: 清理内存变量 pack: 收集内存碎片,扩大内存空间 clc: 清除工作窗口 例1.2南半球气旋流的曲面图:photo1.m,photo2.m。
4
做过数学计算的人都知道,在计算中最难处理的 就是算法的选择,但MATLAB 中许多功能函数都带 有算法的自适应能力,且算法先进,大大解决了用户
的后顾之忧。 另外,提供了一套完善的图形可视化功能,为用
户向别人展示自己的计算结果提供了广阔的空间。 (2).语言简单 MATLAB允许用户以数学形式的语言编写程序, 比 BASIC语言、FORTRAN语言和C语言等更接近于书 写公式的思维方式。
5
它的操作和功能函数指令就是以平时计算机和数
学书上的一些简单的英文单词表达的。由于它是用C 语言开发的,它的不多的几个程序流控制语句同C语 言差别甚微,初学者很容易掌握。 MATLAB语言的帮助系统的功能也相当强大, 用户可以方便地查学到想要的各种信息。另外, MATLAB还专门为初学者(包括其中某一个工具
L为 U=chol(A): 下三角阵,U为上三角阵,A=LU。 实对乘矩阵的平方根分解,U为上三角阵。 [Q,R]=qr(A):是对称矩阵的qr分解,Q为正交阵,R 为上 三角阵,A=QR。 [U,S,V]=svd(A):更一般矩阵的奇异值分解,A为m*n 矩阵, A=USV。 tril(A): 提取矩阵主下三角部分 tril(A,k): 提取矩阵的第k条对角线(包括第k条对角线) 下面的部分,k为正值为上方对角线,k为负值为下方对
11
1993年11月,Matnworks公司又推出了Matlab4.1
版本,首次开发了Symbolic Math符号运算工具箱。 其升级版本MatlaLeabharlann Baidu4.2在用户中有着广泛的应用。
1997年,Matlab5.0版本问世了相对于Matlab4.x版本来说, 它可以说是一个飞跃;真正的32位运算,功能强大,数值计算 加快,图形表现有效,变成简洁直观,用户界面十分友好。
24
d=eig(A):
矩阵的特征值
[v,d]=eig(A):
poly(A): cond(A): cond(X,p):
矩阵的特征值及特征向量
矩阵的特征多项式 矩阵的条件数 向量或矩阵的范数,p=1,2,inf; 各种运算。
演示2:juzhen02.m,
25
(4). 矩阵的分解与变换
[L,U]=lu(A): LU三角分解,用于非奇异的一般矩阵,
了Simulink(动态仿真)/Control/Network/Optimization/
Signal Processing/Spline/Identification/Robust Control/
Mu-analysis and synthesis(Mu分析与合成)等工具箱。
第二章 MATLAB简介
一、Matlab使用入门 二、数值计算 三、符号运算 四、图形处理 五、程序设计 六、在计算方法中的应用
1
内容讲解安排
1. 目的意义:掌握Matlab的基本用法 2.重 点:数值计算、符号运算、图形制作 及程序设计 3.难 点:程序设计 4.内容分配: 第 2 次:§1 Matlab简介
10
1984年,Mathworks公司成立,把Matlab推向了
市场,并继续Matlab的研制和开发。Matlab在市场 上的出现,为各国科学家开发本学科相关软件提供 了基础。 1993年,Matlab的第一个Windows版本Matlab3.5k
问世,同年,支持Windows3.x的Matlab4.0版本推出,
另外,MATLAB并不“排他”,MATLAB可以方 便地与FORTRAN、C语言进行连接,以充分利用各 种资源。用户只需将已有的EXE文件转换成MEX文件, 就可以方便地调用有关程序和子程序。
7
(4).编程易、效率高
从形式上看,MATLAB程序文件是一个纯文本
文件,扩展名为M。用任何字处理软件都可以对它进
由于MATLAB的开放性、易学易用性等特点,
MATLAB已成为高校学生、老师、科研人员和工程计
算人员的最好选择。MATLAB是真正面向21世纪的科
学计算语言。
3
MATLAB语言主要有以下其它语言不可比拟的特点:
(1).功能强大
MATLAB4.0以上(不包括4.0)的各版本,不仅在
数值计算上保持着相对其它同类软件的绝对优势,而
19
(2).向量的加、减、数乘、点乘、叉乘等运算 已知向量a=[a1, a2, a3]、b=[b1, b2, b3],则有
数量加法:a+2=[a1+2, a2+2, a3+2];
数量减法:a-2=[a1-2, a2-2, a3-2]; 数乘向量:a*2=[a1*2, a2*2, a3*2];
向量加法:a+b=[a1+b1, a2+b2, a3+b3]; 向量减法:a-b=[a1-b1, a2-b2, a3-b3]; 向量相乘:a.*b=[a1*b1, a2*b2, a3*b3]; 向量右除:a./b=[a1/b1, a2/b2, a3/b3];
(3).程序及数据结构 优化
(4).图形处理
(5).用户图形界面
(6).应用程序接口
13
4、MATLAB6.x的桌面平台 (1). Matlab的主窗口 (2). 命令窗口 (3). 历史窗口 (4). 当前目录窗口 (5). 发行说明窗口 (6). 工作间管理窗口
14
4、MATLAB6.5的帮助系统
身为工程师的John Little意识到MATLAB潜在的广 阔应用领域应在工程计算方面,于是在同年,他与 Moler、Steve Bangert一起合作开发了第二代专业版 MATLAB。从这一代开始,MATLAB的核心就采用
C语言编写。也是从这一代开始,MATLAB不仅具
有数值计算功能,而且具有了数据可视化功能。
16
二、MATLAB的数值计算功能
1、Matlab的数据类型 (1). 变量
变量名以字母开头,长度不超过31位,区分大小写。
(2). 常量
pi=3.1415926, i, j=
(3).数字变量 (4). 字符串
1
, eps=10-52 , inf: 无穷大。
258*123; x=258*123.
演示1:juzhen01.m,注意矩阵的输入法,及行数、
列数的确定函数size(A), size(A,1)—行数,size(A,2)—列数。
22
(2). 矩阵的基本运算
矩阵加法: A+B、 A+a; 矩阵减法: A-B 、A-a; 数乘矩阵:A*2; 矩阵相乘:A*B,注意匹配:A的列数等于B的行数; 矩阵左除: A\B, 注意匹配:A的行数等于B的行 数,用于解线性方程组(恰定、超定、欠定方程 组)、矩阵方程组; 矩阵右除:A/B,注意匹配:A的列数等于B的列 数(用法同上);
注意:加分号不显示结果,不加分号显示结果。
s=‘matrix laboratory’
size(s) s(4)
17
(5).向量与矩阵
例2.1 要求计算水在00C、200C、400C、600C、800C的
粘度,已知水的粘度随温度的变化公式为
0
1 at bt
,
2
其中μ 0为水在00C的粘度,在00C值为.785×10-3 。
2000年下半年,Mathworks公司推出了他们的最 新产品Matlab6.0(R12)的试用版,并于2001年初推出
了正式版,同前面的版本对比起来,Matlab6.0在
Matlab5.x 的基础上这种在计算速度上作了比较大的
改善,计算速度有了明显的提高。
12
3、MATLAB6.x的新特点
与MATLAB5.x版本相比较,MATLAB6.x 版本在 各个方面都进行了较大的改进和增补,增加了许多新 功能和更为有效的处理方法,甚至在整个系统的结构 上也作了很大的改进。 (1).开发环境扩展 (2). 数值处理功能增强
且还开发了自己的符号运算功能。特别是 MATLAB6.0
版本在符号运算功能上丝毫不逊于其它各类软件,如
MathCAD、 Mathematica 等。 只要学会了MATLAB,就可以方便地处理诸如矩 阵变换及运算、多项式运算、微积分运算、线性与非 线性方程求解、常微分方程求解、偏微分方程求解、
插值与拟合、统计及优化等问题。
他开始用业余时间为学生编写使用方便的LINPACK和
EISPACK的接口程序。Cleve Moler给这个接口程序取
名为MATLAB,意思是“矩阵实验室”。
9
不久以后,MATLAB受到了学生的普遍欢迎,并
且,MATLAB也成了应用数学界的一个术语。
1983年早春,Cleve Moler到斯坦福大学访问,
行编写和修改,因此程序易调试,人机交换型强。
另外,MATLAB6.5也具有比较健全的调试系统, 调试方便、简单。
8
2、 MATLAB的发展历史
在20世纪70年代,Cleve Moler和其同事在美国国
家科学基金的资助下研究开发了LINPACK和EISPACK
的Fortran子程序库,这两个程序库代表着当时矩阵计 算的最高水平。 到20世纪70年代后期,身为墨西哥大学计算机科 学系系主任的Cleve Moler,在给学生开线性代数课程时,
演示1:jisuan01.m
18
2、向量及其运算
(1).向量的生成
(i). 直接输入向量: a=[1 2 3 4] b=[2,1,4,5] c=[1;2;3;4] (ii). 利用冒号表达式生成向量 a=1:2:12,b=1:6,c=12:-2:1
(iii). 线性等分向量的生成 y=linspace(x1,x2) y=linspace(x1,x2,n) 生成100维的行向量 生成n维的行向量
§2 §3 §4 §5 Matlab的数值计算功能 Matlab的符号运算功能 Matlab的图形制作功能 Matlab的M文件及程序设计
2
一、 Matlab简介
例1.1 Lagrange插值:Lagrange.m , Lag.m
1、Matlab的特点
MATLAB源于Matrix Laboratory一词,原意为 矩阵实验室。一开始它是一种专门用于矩阵数值计算 的软件。随着MATLAB逐渐市场化,MATLAB不仅 具有了数值计算功能,而且具有了数据可视化功能。
向量左除: a.\b=[b1/a1, b2/a2, b3/a3];
20
向量乘幂:a.^2=[a1^2, a2^2, a3^3]; 2.^a=[2^a1, 2^a2, 2^a3] a.^b=[a1^b1, a2^b2, a3^b3] 点乘运算:dot(a,b)=a1*b1+a2*b2+a3*b3, sum(a.*b)= a1*b1+a2*b2+a3*b3; 向量混合积: dot(a,cross(b,c)) 演示0:在命令窗口演示向量的各种运算。
21
3.矩阵的运算
(1). 矩阵的生成 在命令窗口直接键入:A=[1 2 3;4 5 6;7 8 9]; 用M文件输入大型矩阵 A=[10 12 32 41 52 63;21 23 45 67 78 43;21 34 90 89 67 54 ] 或者
A=[10 12 32 41 52 63 21 23 45 67 78 43 21 34 90 89 67 54 ]
箱的初学者)提供了intro及demo等演示命令,用
户可以从中得到兴趣的例子及演示。
6
(3).扩充能力强、可开发性强 MATLAB可扩充性和可开发性起着不可估量的 作用。MATLAB本身就像一个解释系统,对其中的函 数程序的执行以一种解释执行的方式进行,这样最 大的好处是MATLAB完成了一个开放的系统,用户可 以方便地看到函数的源程序,也可以方便地开发自 己的程序,甚至创建自己的“库”。
矩阵乘幂:A^2,注意匹配:A必须为方阵;
23
(3). 矩阵的其它运算
zeros(m,n):
ones(m,n): eye(n):
m行n列的零矩阵
m行n列的全1矩阵 n阶单位矩阵
rand(m,n): m行n列的均匀分布的随机数矩阵
randn(m,n ):m行n列的均匀分布的随机数矩阵 det(A): 矩阵的行列式 inv(A): 矩阵求逆 rank(A): 矩阵求秩 trace(A): 矩阵的迹
1.联机帮助系统:按下主窗口的?及Help下拉菜
单的前四项。
2.命令窗口查询系统:
help,help+函数名,lookfor函数。
3.联机演示系统 基本介绍窗口:intro; 演示界面:demo.
15
5、常用的命令与技巧
dir: 显示目录下文件 type: 显示文件内容 clear: 清理内存变量 pack: 收集内存碎片,扩大内存空间 clc: 清除工作窗口 例1.2南半球气旋流的曲面图:photo1.m,photo2.m。
4
做过数学计算的人都知道,在计算中最难处理的 就是算法的选择,但MATLAB 中许多功能函数都带 有算法的自适应能力,且算法先进,大大解决了用户
的后顾之忧。 另外,提供了一套完善的图形可视化功能,为用
户向别人展示自己的计算结果提供了广阔的空间。 (2).语言简单 MATLAB允许用户以数学形式的语言编写程序, 比 BASIC语言、FORTRAN语言和C语言等更接近于书 写公式的思维方式。
5
它的操作和功能函数指令就是以平时计算机和数
学书上的一些简单的英文单词表达的。由于它是用C 语言开发的,它的不多的几个程序流控制语句同C语 言差别甚微,初学者很容易掌握。 MATLAB语言的帮助系统的功能也相当强大, 用户可以方便地查学到想要的各种信息。另外, MATLAB还专门为初学者(包括其中某一个工具
L为 U=chol(A): 下三角阵,U为上三角阵,A=LU。 实对乘矩阵的平方根分解,U为上三角阵。 [Q,R]=qr(A):是对称矩阵的qr分解,Q为正交阵,R 为上 三角阵,A=QR。 [U,S,V]=svd(A):更一般矩阵的奇异值分解,A为m*n 矩阵, A=USV。 tril(A): 提取矩阵主下三角部分 tril(A,k): 提取矩阵的第k条对角线(包括第k条对角线) 下面的部分,k为正值为上方对角线,k为负值为下方对
11
1993年11月,Matnworks公司又推出了Matlab4.1
版本,首次开发了Symbolic Math符号运算工具箱。 其升级版本MatlaLeabharlann Baidu4.2在用户中有着广泛的应用。
1997年,Matlab5.0版本问世了相对于Matlab4.x版本来说, 它可以说是一个飞跃;真正的32位运算,功能强大,数值计算 加快,图形表现有效,变成简洁直观,用户界面十分友好。
24
d=eig(A):
矩阵的特征值
[v,d]=eig(A):
poly(A): cond(A): cond(X,p):
矩阵的特征值及特征向量
矩阵的特征多项式 矩阵的条件数 向量或矩阵的范数,p=1,2,inf; 各种运算。
演示2:juzhen02.m,
25
(4). 矩阵的分解与变换
[L,U]=lu(A): LU三角分解,用于非奇异的一般矩阵,