- 在线时间
- 36 小时
- 最后登录
- 2017-7-6
- 注册时间
- 2009-4-19
- 听众数
- 5
- 收听数
- 1
- 能力
- 0 分
- 体力
- 2412 点
- 威望
- 98 点
- 阅读权限
- 60
- 积分
- 1865
- 相册
- 0
- 日志
- 1
- 记录
- 1
- 帖子
- 316
- 主题
- 28
- 精华
- 0
- 分享
- 0
- 好友
- 24
TA的每日心情 | 开心 2014-9-21 08:29 |
---|
签到天数: 19 天 [LV.4]偶尔看看III - 自我介绍
- 我思我在
群组: 数学建模 群组: 中国矿业大学数学建模协会 群组: 数学趣味、游戏、IQ等 群组: 南京邮电大学数模协会 群组: LINGO |
MatLab & 数学建模
第一讲 MatLab简介及基本运算
一、MatLab简介
MATLAB名字由MATrix和 LABoratory 两词的前三个字母组合而成。那是20世纪七十年代后期的事:时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的"通俗易用"的接口,此即用FORTRAN编写的萌芽状态的MATLAB。
经几年的校际流传,在Little的推动下,由Little、Moler、Steve Bangert合作,于1984年成立了MathWorks公司,并把MATLAB正式推向市场。从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。
MATLAB以商品形式出现后,仅短短几年,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包(如英国的UMIST,瑞典的LUND和SIMNON,德国的KEDDC)纷纷淘汰,而改以MATLAB为平台加以重建。在时间进入20世纪九十年代的时候,MATLAB已经成为国际控制界公认的标准计算软件。
在欧美大学里,诸如应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把MATLAB作为内容。这几乎成了九十年代教科书与旧版书籍的区别性标志。在那里,MATLAB是攻读学位的大学生、硕士生、博士生必须掌握的基本工具。
在国际学术界,MATLAB已经被确认为准确、可靠的科学计算标准软件。在许多国际一流学术刊物上,(尤其是信息科学刊物),都可以看到MATLAB的应用。
在设计研究单位和工业部门,MATLAB被认作进行高效研究、开发的首选软件工具。如美国National Instruments公司信号测量、分析软件LabVIEW,Cadence公司信号和通信分析设计软件SPW等,或者直接建筑在MATLAB之上,或者以MATLAB为主要支撑。又如HP公司的VXI硬件,TM公司的DSP,Gage公司的各种硬卡、仪器等都接受MATLAB的支持。
MATLAB具有用法简易、可灵活运用、程式结构强又兼具延展性。以下为其几个特色:
" 功能强的数值运算 - 在MATLAB环境中,有超过500种数学、统计、科学及工程方面的函数可使用,函数的标示自然,使得问 题和解答像数学式子一般简单明了,让使用者可全力发挥在解题方面,而非浪费在电脑操作上。
" 先进的资料视觉化功能 - MATLAB的物件导向图形架构让使用者可执行视觉数据分,并制作高品质的图形,完成科学性或工程 性图文并茂的文章。
" 高阶但简单的程式环境 - 作为一种直译式的程式语言,MATLAB容许使用者在短时间内写完程式,所花的时间约为用 FORTRAN 或 C 的几分之一,而且不需要编译(compile)及联结 (link) 即能执行,同时包含了更多及更容易使用的内建 功能。
" 开放及可延伸的架构 - MATLAB容许使用者接触它大多数的数学原使码,检视运算法,更改现存函数,甚至加入自己的函数使 MATLAB成为使用者所须要的环境。
" 丰富的程式工具箱 - MATLAB的程式工具箱融合了套装前软体的优点,与一个灵活的开放但容易操作之环境,这些工具箱提 供了使用者在特别应用领域所需之许多函数。现有工具箱有:符号运算(利用Maple V的计算核心执行 )、影像处理、统计分析、讯号处理、神经网路、模拟分析、控制系统、即时控制、系统确认、强建控 制、弧线分析、最佳化、模糊逻辑、mu分析及合成、化学计量分析。
二、MatLab界面
MATLAB系统命令
命 令 含 义
help 在线帮助
helpwin 在线帮助窗口
helpdesk 在线帮助工作台
demo 运行演示程序
ver 版本信息
readme 显示Readme文件
who 显示当前变量
whos 显示当前变量的详细信息
clear 清空工作间的变量和函数
pack 整理工作间的内存
load 把文件调入变量到工作间
save 把变量存入文件中
quit/exit 退出MATLAB
what 显示指定的matlab文件
lookfor 在HELP里搜索关键字
which 定位函数或文件
path 获取或设置搜索路径
echo 命令回显
cd 改变当前的工作目录
pwd 显示当前的工作目录
dir 显示目录内容
unix 执行unix命令
dos 执行dos命令
! 执行操作系统命令
computer 显示计算机类型
在MATLAB系统中使用帮助方式有三:
1. 是利用help指令,如果你已知要找的题材 (topic) 为何的话,直接键入help <topic>。所以即使身旁没有使用手册,也可以使用help指令查询不熟悉的指令或是题材之用法,例如help sqrt
2. 是利用lookfor指令,它可以从你键入的关键字(key-word)(即使这个关键字并不是MATLAB的指令)列出 所有相关的题材,例如lookfor cosine, lookfor sine。
3. 是利用指令视窗的功能选单中的Help,从中选取Table of Contents(目录)或是Index(索引)。
三、基本数学运算
在MATLAB下进行基本数学运算,只需将运算式直接打在提示号 >> 后面,并按入Enter键即可。MATLAB将计算 的结果以ans显示。
【例】求 的算术运算结果。
(1)用键盘在MATLAB指令窗中输入以下内容
>> (12+2*(7-4))/3^2
(2)在上述表达式输入完成后,按【Enter】键,该就指令被执行。
(3)在指令执行后,MATLAB指令窗中将显示以下结果。
ans =
2
我们也可给运算式的结果设定一个变量x:
x = (5*2+1.3-0.8)*10^2/25
x =
42
变量x的值可以在下个语句中调用:
y= 2*x+1
y =
85
变量命名规则:
1. 变量名的大小写是敏感。
2. 变量的第一个字符必须为英文字母,而且不能超过31个字符。
3. 变量名可以包含下连字符、数字,但不能为空格符、标点。
系统预定义的变量
ans 预设的计算结果的变量名
eps MATLAB定义的正的极小值=2.2204e-16
pi 内建的π值(= 3.1415926...)
inf ∞值,无限大 ( )
NaN 无法定义一个数目 ( )
i 或 j 虚数单位i=j=
nargin 函数输入参数个数
nargout 函数输出参数个数
realmax 最大的正实数
realmin 最小的正实数
flops 浮点运算次数
而键入clear则是去除所有定义过的变量名称。
表达式
MATLAB书写表达式的规则与"手写算式"差不多相同,但要求所有表达式都是以纯文本形式输入。
如果一个指令过长可以在结尾加上...(代表此行指令与下一行连续), 例如:
>> 1*2+3*4+5*6+7*8+9*10+11*12+...
13*14+15*16
ans =
744
若不想让MATLAB每次都显示运算结果,只需在运算式最後加上分号(;)即可,如下例:
y = 1034*22+3^5;
若要显示变数y的值,直接键入y即可:
>>y
y =
22991
MATLAB会忽略所有在百分比符号(%)之後的文字,因此百分比之後的文字均可视为程式的注解(Comments)。
例:计算圆面积Area = ,半径r = 2,则可键入
>> r=2; % 圆半径r = 2,
>> area=pi*r^2; % 计算圆面积area
>> area =
12.5664
MATLAB提供基本的算术运算有: 加 (+)、减 (-)、乘 (*)、除 (/)、幂次方 (^),范例为:5+3, 5-3, 5*3, 5/3, 5^3
MATLAB常用数学函数
三角函数和双曲函数
名称 含义 名称 含义 名称 含义
sin 正弦 csc 余割 atanh 反双曲正切
cos 余弦 asec 反正割 acoth 反双曲余切
tan 正切 acsc 反余割 sech 双曲正割
cot 余切 sinh 双曲正弦 csch 双曲余割
asin 反正弦 cosh 双曲余弦 asech 反双曲正割
acos 反余弦 tanh 双曲正切 acsch 反双曲余割
atan 反正切 coth 双曲余切 atan2 四象限反正切
acot 反余切 asinh 反双曲正弦
sec 正割 acosh 反双曲余弦
指数函数
名称 含义 名称 含义 名称 含义
exp E为底的指数 log10 10为底的对数 pow2 2的幂
log 自然对数 log2 2为底的对数 sqrt 平方根
复数函数
名称 含义 名称 含义 名称 含义
abs 绝对值 conj 复数共轭 real 复数实部
angle 相角 imag 复数虚部
圆整函数和求余函数
名称 含义 名称 含义
ceil 向+∞圆整 rem 求余数
fix 向0圆整 round 向靠近整数圆整
floor 向-∞圆整 sign 符号函数
mod 模除求余
矩阵变换函数
名称 含义 名称 含义
fiplr 矩阵左右翻转 diag 产生或提取对角阵
fipud 矩阵上下翻转 tril 产生下三角
fipdim 矩阵特定维翻转 triu 产生上三角
Rot90 矩阵反时针90翻转 det 行列式的计算
其他函数
名称 含义 名称 含义
min 最小值 max 最大值
mean 平均值 median 中位数
std 标准差 diff 相邻元素的差
sort 排序 length 个数
norm 欧氏(Euclidean)长度 sum 总和
prod 总乘积 dot 内积
cumsum 累计元素总和 cumprod 累计元素总乘积
cross 外积
例:
>>y = sin(10)*exp(-0.3*4^2)
y =
-0.0045
【例】复数 表达,及计算 。
(1)经典教科书的直角坐标表示法
z1= 3 + 4i
z1 =
3.0000 + 4.0000i
(2)采用运算符构成的直角坐标表示法和极坐标表示法
z2 = 1 + 2 * i %运算符构成的直角坐标表示法
z3=2*exp(i*pi/6) %运算符构成的极坐标表示法
z=z1*z2/z3
z2 =
1.0000 + 2.0000i
z3 =
1.7321 + 1.0000i
z =
0.3349 + 5.5801i
【例】复数矩阵的生成及运算
A=[1,3;2,4]-[5,8;6,9]*i
B=[1+5i,2+6i;3+8*i,4+9*i]
C=A*B
A =
1.0000 - 5.0000i 3.0000 - 8.0000i
2.0000 - 6.0000i 4.0000 - 9.0000i
B =
1.0000 + 5.0000i 2.0000 + 6.0000i
3.0000 + 8.0000i 4.0000 + 9.0000i
C =
1.0e+002 *
0.9900 1.1600 - 0.0900i
1.1600 + 0.0900i 1.3700
【例】求上例复数矩阵C的实部、虚部、模和相角。
C_real=real(C)
C_imag=imag(C)
C_magnitude=abs(C)
C_phase=angle(C)*180/pi %以度为单位计算相角
C_real =
99 116
116 137
C_imag =
0 -9
9 0
C_magnitude =
99.0000 116.3486
116.3486 137.0000
C_phase =
0 -4.4365
4.4365 0
【例】指令行操作过程示例。
(1)若用户想计算 的值,那末用户应依次键入以下字符
y1=2*sin(0.3*pi)/(1+sqrt(5))
(2)按【Enter】键,该指令便被执行,并给出以下结果
y1 =
0.5000
若又想计算 ,可以简便地用操作键获得指令,具体办法是: 先用 键调回已输入过的指令 y1=2*sin(0.3*pi)/(1+sqrt(5)) ;然后移动光标,把y1改成y2;把 sin 改成 cos 便可。即得
y2=2*cos(0.3*pi)/(1+sqrt(5))
y2 =
0.3633 |
|