MATLAB自学教程

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中是相Βιβλιοθήκη Baidu的。

矩阵的加减运算 矩阵乘法
运算符:* 条件:前一个矩阵的列数和后一个矩阵的行数相同或者其中一个是标量。 (记忆:前一个矩阵行元素的个数与后一个矩阵列元素的个数相等)

矩阵除法
运算符:有两种运算符“/”(除以)和“\”(除),分别表示右除和左 除。
区别 :B 1 A
AB 1
1 凡是按规则可以和 B 相乘的矩阵,都可以根据左乘和右乘作“除”或 “除
精讲多练 MATLAB
主讲:张安莉
第1章 MATLAB语言的基本使用方法
了解MATLAB的基本知识及其上机环境 学会利用MATLAB进行基本的数学运算
MATLAB的工作环境
Matlab 首先是一个视窗软件,意思是说,它在一个图形
操作界面內开启自己的视窗。我们目前都使用Windows 操作 界面,那也就是说,我们在Windows桌面上,双击Matlab的图 标,就进入Matlab的工作环境,也就是它的视窗。如下图:
1 / foo
都会执行正确的计算。
第2章 MATLAB的数值运算
介绍MATLAB的两种基本的数值运算: 1、矩阵 2、多项式
2.1 矩阵
Matlab 原本就是 Matrix Laboratory (矩阵实验室) 的缩
写,所以他会认识矩阵,我们应该不会感到意外。我们用 A = [1, 2; 3, 4] 指派一个 2x2 方阵给变量 A。 输入矩阵的时候,我们用中括号夹住两端,用逗号(,)
或者空格分开元素,用分号(;)分列。元素可以是常数、变
量和任何计算出来的数值。
例如
x = pi;
B = [pi, exp(1),log(2);sin(x/2),-cos(3*x/4),1+2^(-2)+3^(-2)]
生成一个2x3 矩阵,并指派给变量 B。
Matlab是一个超级计算器——以矩阵为物件。一般的计算 器或数值计算软件,都能做加减乘除这些运算,通常也都用+ -*/作为运算符,但是这些运算符都是作用在两个整数或者 有理数之间,很少能够作用在两个复数甚至是矩阵之间,而 Matlab 就可以。而且他还可以根据‚物件‛类型的不同而决 定该采取什么样的步骤来进行计算。 Matlab对于矩阵与矩阵之间的运算的处理方法与线形代数
结果为一个纯量:-2 那既然向量是特殊的矩阵,那向量的加、减、乘运算都和矩阵的运算 法则相同。需要说的是向量的构造除了直接输入外,还有几种构造方法: 1、利用字符“:”来生成行向量; n:s:m 产生以s为间隔,从n开始,到“不超过”m的数。
对行向量的作转置运算就可以得到列向量。
2、利用内部函数产生; linspace(a,b,c) 产生首项为a,末项为b,项数为c的等差数列。
把一个数值放进箱子的学名叫做指派 (assign),也就是
赋值。Matlab 用 = 作为指派符号。用法是
变量名字 = 数值 如果变量名字原来不存在,Matlab 就临时开一口新箱子给你;
如果它原来就存在,Matlab 放进新的数值,旧的便不见了,
就好像新的数值「覆盖」了旧的数值。因为箱子里面的数值很 容易改变,所以我们称它为「变量」。 指派的数值可以是一 个常数,例如 foo = 2.7183
(命令窗口)。 command window是用户与Matlab进行人机对
话的主要环境。

命令窗口:用户在>>提示符后键入命令,回车后,系统会
执行输入的命令,并给出计算结果。

有很多的控制键和命令键可用于命令行的编辑。例如用↑, →箭头键可以将所用过的指令调回来重复使用。其他的如←, →,Home,End,Delete,Insert等,其功能一用便知。
除了四则运算与括号之外,Matlab 也具备一般掌上型
计算器该有的最基本功能,这包括计算平方根(square root),指 令是 sqrt( ),例如
sqrt(4)
在 sqrt( ) 里面可以有其他的运算,例如 sqrt(1+2) 或 者sqrt(1+2*3) 另一个基本功能是绝对值 (absolute value),指令是 abs( ),例如 abs(-3) 或者 abs(7-3) 或者 abs(3-7) 像sqrt( )和abs( )这种功能,在 Matlab 中称为函数(function)。 函数可以和其他常数或函数做计算,例如 7+abs(3-7) 或者 sqrt(9)+abs(7-3)
Matlab其实具备一般工程性计算器该有的基本功能。这包 括幂次方、指数与对数函数、三角与反三角函数等等。我们先 看看幂次方。计算幂次方的符号就是常用的 ^ 记号。指数部 分可以是任意数。例如 2^2 或者 2^(-1) 或者 2^(1/2) 或者 2^(1.25)
a e xx
Matlab具备一般工程性计算器该有的基本功能——指数 与对数。 科学与工程领域惯用「标准指数函数」,也就是以e为底 的指数函数。其中,e是一个无理数,大约等于2.71828。 Matlab 并不提供e这个常数,我们不能按幂指数的形式来写,
以后我们会看到更多超越的功能,现在先看一个:复数。
比如我们要Matlab計算 sqrt(-1)
而以为他不会,但是他回答 0 + 1.0000i
Matlab 的所有运算符号、所有函数,都懂得如何做复数 计算。例如 (1+2i)-(1-2i) 或者
3* (1+2i)
abs( ) 计算的是复数的「长度」,也就是复数的模。例

多项式的运算
1、加减运算: 进行加减运算的多项式应该具有相同的阶次,如果阶 次不同,需要补零。 的和、积、商。
a( x) 5x 4 4 x3 3x 2 2 x 1和 b( x) 3x 2 1 例:求两个多项式

多项式 在MATLAB中,多项式用行向量表示。 在MATLAB中,用ploy(A)来产生行向量所对应的形如
p a0
a1 ... an1
an
所对应的多项式。此多项式还是行向量的形式。有一个函数
poly2sym(p,‘x’)
可以将行向量形式的多项式转化为多项式形式。其中,p为要转换的行向 量,x为多项式中的变量。
可以如此求解:令 A = [4 6 -1; 5 -8 3; 1 4 1] b = [1 0 0]’ x = A\b 得到一組數值解 0.1667 0.0167 -0.2333

求特征值
函数eig()用来计算n 阶矩阵的特征值。

求方阵的行列式
把方阵看作行列式,则对应的行列式的值用函数det()来计算。 >>G=[1 2 0;2 5 -1;4 10 -1];
以”的运算。
例如:线性联立方程式可以写成 Ax=b 的形式,其中 A 是一个n维可逆方
阵,b是一个n维向量,则
x = A\b 就是前述联立方程式的一组解。 例如以下线性联立方程式
4 x1 6 x2 x3 1 5 x1 8 x2 3 x3 0 x 4x x 0 2 3 1
Matlab 可能回应Undefined function or variable ‘foo’,
这就是Matlab 沒有一个名叫 foo 的函数,也沒有一口名叫 foo 的箱子。
但是,只要说
foo = 5
Matlab 就自动制造了一口名叫foo的箱子,并且在箱子里放 了数值5。
之后,你可以再说
foo Matlab 就会告告诉你,foo 的值是 5。
提示符号>>之后键入该算式:
>> 1+2+3+4+5 ans =
15
他知道先乘除后加減,例如 2*3-4 ,得到正确的答案 2。
遇到需要先加減的情況,可以用一对小括号,例如: (1 + 2) * (3 - 12) 得到正确的答案 -27。 计算器当然不能只会计算整数,他也会处理小数。例 如以下是一个除法计算 1 / 2 得到答案 0.5。但是 Matlab 输出的格式0.5000。 再试试看 1.23 * 4 或者 1.2 * 3.4 。
反正弦 反正切 反正割 asin() atan() asec() 反余弦 反余切 反余割 acos() acot() acsc()
他们的用法并没有什么特殊的,需要注意的就是使用 三角函数时,角度的单位是‚弧度‛,而不是‚度‛如果 题设的已知条件给的是‚度‛,我们需要将他转化为弧度 来计算。
Matlab 甚至超越了一般工程型计算器该有的基本功能,
比如:
e^2 是非法的。 Matlab以函数exp( )来计算以e为底的指数函数。比如: exp(1) 得到常数e的近似值。
╳!!
Matlab 分别提供三个函数 log( ) 、 log10( ) 和 log2( ),分别表示以 e 为底的对数(自然对数),以10为底 的对数(常用对数)。例如 log(exp(2)) 和 log10(100) 和 log2(4) 的答案都是 2。
下指令
foo 只写一个变量名字 (別加分号),Matlab 就会回应那个变量的 值。其实,这是一个简单的规则:变量如果出现在等号的左 边,就是要被指派的意思。
除此而外,只要在 Matlab 指令的任何地方写出变量的名
字,就是要取出它的值。而取出來之后,那个数值就可以如同 常数般做任何计算。例如 foo * 5 或者
MATLAB的工作环境
他的外框和功能表、工具列,都与一般的 Windows 视
窗软件(例如 MS-Word) 长得很像,因此在一般性质的操作 上,也是相同的。 Matlab 视窗的工作区域被切分为三块:Workspace(工作空 间)、command history(历史命令窗口)和command window
或者任何计算的结果,例如
foo = 2.7183^(-2)
或者
foo = exp(i*pi) 变量的显然用处就是节省打字。如果某个数值要一用再用,可
以利用变量把它存起來,将来再用。比如可以说
x = (-8)^(1/3) 然后再说 x^3 看看 Matlab 是不是真的计算了 -8 的三次方根?
在 Matlab 中,等号 = 是‚指派‛的意思,不是数学中 ‚相等‚的意思 。比如 foo = 1/5; 那么 0.2 就被指派给foo,但是 Matlab 并没有回应。看起来 好像 Matlab 没反应,但是其实他已经做好了。不信的话,就
>>det(G)
Ans= 1

向量: 向量可以看作是矩阵的组成元素。向量分为行向量和列向量。其中行
向量还可以看作是一组序列。一个行向量和一个列向量相乘得到一个1X1的
方阵,也就是一个纯量,这便是这两个向量的“内积”。例如 b = [-3; -1; 0; 1]和v = [2, 0, 2, 4]
则,v * b

清除命令窗口:clc 清除工作空间:clear all(清除全部变量);clear a(清除已
存在的变量a);
1.1 基本计算
MATLAB具备最普通的掌上型计算器 (calculator) 功能。 使用MATLAB进行数学式的计算就象用计算器进行数字运算 一样简便方便。 他可以做基本的四則运算,例如: 假设要计算 1+2+3+4+5的结果,则只需在命令窗的系统
Matlab具备一般工程性计算器该有的基本功能——三角与 反三角函数。 六个三角函数在Matlab 中对应的函数分别为: 正弦 sin() 余弦 cos()
正切
正割
tan()
sec()
余切
余割
cot()
csc()
Matlab具备一般工程性计算器该有的基本功能——三角与 反三角函数。 六个反三角函数在Matlab 中对应的函数分别为:
如:abs(3+4i) 我们知道答案的确是5。 复数的平方根是由「比较系数」法求得,例如要找 1+2i 的平方根,就计算 (a + bi)2 = 1+2i 然后比较系数得到联立 方程式 a2 - b2 = 1 2ab = 2 Matlab 可以代劳,只要说 sqrt(1+2i) 就行了。 由此,我们知道了Matlab他认识复数。
1.2 变量
Matlab 比工程型计算器更好,除了因为他会计算复数之 外,还因为他接受变量 (variable)。变量是指在程序执行 过程中其值可以变化的量。简化来说,Matlab的变量应该有 两个属性:
(1)变量名
(2)它的值
想象变量是一口箱子,在箱子上贴了标签,表明他的名 字,箱子里面放着他的值。 箱子本来不存在,只要你的Matlab 的操作视窗里‚呼唤‛ 他的名字,他就出现了。比如: foo
相关文档
最新文档