1:MATLAB及基本运算
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关于SUM的用法,有: SUM Sum of elements. For vectors, SUM(X) is the sum of the elements of X. For matrices, SUM(X) is a row vector with the sum over each column. For N-D arrays, SUM(X) operates along the first non-singleton dimension. SUM(X,DIM) sums along the dimension DIM.
-0.2706 0.4824 -0.0353 0.0471
-0.9412 0.7647 -0.4706 0.2941
矩阵的行列式运算
det(A) 表示计算矩阵A的行列式。 例:对于上面的a,有: det(a)= -85 det(inv(a)) = -0.0118
矩阵的幂运算:
^ Matrix power. Z = X^y is X to the y power if y is a scalar and X is square. If y is an integer greater than one, the power is computed by repeated multiplication. For other values of y the calculation involves eigenvalues and eigenvectors. Z = X^Y is X to the Y power, if Y is a square matrix and X is a scalar, computed using eigenvalues and eigenvectors.
5. 向量的基本运算
加(减)法、数加(减): 对同维数向量进行,对应元素相加(减); 数加(减) :是Matlab规定的一种运算, 即对向量的每一个分量加(减)同一个数; 数乘:向量的每一个分量乘同一个数; 点积(内积、数量积):计算用函数dot实现 C=dot(A,B), A和B必须同维,当A和B都为列向 量时,dot(A,B)等同于A’*B。
例如:分别计算水在温度为0、20、40、60和 80度时的黏度。已知水的黏度随温度的变化 公式为:
,,
其中:
0
1 at bt
3
2
0 1.785e
a 0.03368
b 0.000221
用Matlab计算的命令为: muw0=1.785e-3; % 定义零度时的黏度 a=0.03368; b=0.000221; t=0:20:80; % 定义温度变量 muw=muw0./(1+a*t+b*t.^2) muw = 0.0018 0.0010 0.0007 0.0005 0.0003
Example: If X = [0 1 2 3 4 5] then sum(X,1) is [3 5 7] and sum(X,2) is [ 3 12];
பைடு நூலகம்
叉积 实现函数:cross C=cross(A,B) A与B必须为3维向量; 混合积: a=[1 2 3]; b=[3 4 5]; c=cross(a,b) c= -2 4 -2 dot(a,cross(b,c)) ans = 24
理论复习:解的理论
• 若秩(A) = 秩(A,b) = n, 存在唯一解; • 若秩(A) = 秩(A,b) < n, 存在无穷多解,其 通解可表示为Ax=0的一个基础解系与Ax=b 的一个特解的叠加; • 若秩(A) 秩(A,b),则无解,寻求最小二乘 近似解
逆
• 方阵A称为可逆的,如果存在方阵B,使 AB=BA=E 则称B为A的逆矩阵,记 为B = A -1。 • 方阵A可逆的充要条件是A0。 A -1 =
这里: “;”表示当前不输出结果;如以后想看此 变量的值,只要输入该变量名即可; “t=0:20:80”表示t的值从0开始,间隔 为20,到80为止; “./”表示数组的右除,在此处,当t取不 同的值后,muw即构成了一个数组; 以%开始的部分表示注释。 常用运算符:+、-、*、/、^、sqrt.
4.对数等分生成向量 函数logspace用来生成对数等分向量: LOGSPACE Logarithmically spaced vector. LOGSPACE(d1, d2) generates a row vector of 50 logarithmically equally spaced points between decades 10^d1 and 10^d2. If d2 is pi, then the points are between 10^d1 and pi. LOGSPACE(d1, d2, N) generates N points. logspace(0,5,6) , 此处log以10为底数。
矩阵的基本运算
矩阵的四则运算 : 加 + A+B (同维矩阵) 矩阵相加 减 - A-B (同维矩阵 ) 矩阵相减 乘 * A*B (A的列数=B的行数 ) 矩阵相乘 左除 \ A\B (=INV(A)*B) 用于求方程组的解 右除/ A/B (=A*INV(B)) 用于求方程组的解 点乘.* A.*B 同维矩阵或其中一个为数 对应元素相乘 点除./ A./B 同维矩阵或其中一个为数 对应元素相除
a=[1 2 3 4 5678 3 4 5 6] a= 1 2 3 5 6 7 3 4 5
4 8 6
几个重要的Matlab矩阵命令
• • • • • • • • zeros ones eye linspace rand diag \ /
• • • • • • • det inv eig rank rref orth null
主要工具箱
• 数学类:最优化,统计,神经网络,符 号数学,偏微分方程,样条函数,数据 拟合、结构动力学,虚拟现实等 • 数据库类 • 信号处理类 • 控制工程类 • 金融经济类 • 系统仿真类(Simulink)
几个有用的命令
Help : 包括help,help+函数名, helpwin 和helpdesk。 demo : 演示界面
MATLAB及基本运算
第一章 MATLAB概述 第二章 数值计算功能
第一章 MATLAB概述
§1.1 发展历史 1970s,创始人:Cleve Moler博士; 1984年,Cleve Moler和John Little成立了 MathWorks公司,将MATLAB推上市场; 1993年推出MATLAB4.0版; 1997年推出5.0版; 1998年推出5.2版; 目前我们可以看到的最新版本为7.x版。
intro : 介绍界面
who : 查 询
whos: 查 询
clear: 清 除
第二章 数值计算功能
§2.1 数字及其运算
Matlab的基本运算单元是以数字为元素 的矩阵,而将数字看成 1×1 矩阵作统一处 理,当我们使用数的运算功能时,我们可以 如同平时用手在纸上写字一样,直接写出 要计算的表达式后,按回车键即可得到结 果。
1 A* A
特征值与特征向量
• 对于方阵A,若存在数和非零向量x使 Ax=x
则称为A一个特征值,x为A的一个 对应于特征值的特征向量。 • 特征值计算归结为特征多项式的求根。
• 对应于特征值的特征向量是齐次线性 方程组(A - E) x = 0 的所有非零解。
正交矩阵
• 正交向量 x’x=0
• 单位向量 x’x=1 • 正交矩阵A’A=E • 正交矩阵的各列向量两两正交,且均为单 位向量
矩阵及其运算
MatLab的所有数值计算功能都是以(复) 矩阵为基本单元进行的,因此MatLab 对矩阵的运算功能是最全、最强的。
1.直接输入 多用于小型矩阵的输入,以[ ]为标识, 同行元素以“,”或空格分开,行与行 之 间用“;”或回车符分隔。
C=dot(A,B,DIM) 将返回A和B在维数为DIM的点积 例如:计算向量(1,2,3)和向量(3,4,5) 的点积。 a=[1,2,3]; % 如此定义的是行向量 b=[3,4,5]; dot(a,b) ans = 26
a=[1;2;3]; % 这样定义的是列向量 b=[3;4;5]; dot(a,b) a'*b b'*a 另一种计算点积的方法: sum(a.*b) ans = 26
矩阵与常数间的运算
矩阵与常数间的运算为矩阵的每一个元素 之间的运算。需要注意的是作除法运算时,常 数只能作除数。 矩阵的逆运算 inv(A) :表示求矩阵A的逆矩阵。 例如:a=[2 1 -3 -1;3 1 0 7;-1 2 4 -2;1 0 -1 5]
a= 2 1 -3 -1 3 1 0 7 -1 2 4 -2 1 0 -1 5 inv(a) ans = -0.0471 0.5882 0.3882 -0.3529 -0.2235 0.2941 -0.0353 -0.0588
例如:>>23*23 ans = 529 这里 ans 是系统规定的存放计算结果的变量, 也可以自己定义,如: >>x=230 x= 230
>>y=450 y= 450 >>z=x*y z= 103500 这 里 , 将 x 定 义 为 230 , y 定 义 为 450 , 而 z=x*y,这种方法常用在计算较为复杂的时 候。
在欧美高校,MATLAB已经成为线性代 数、自动控制理论、数理统计、数字信号 处理、时间序列分析、动态系统仿真等高 级课程的基本教学工具;成为攻读学位的 本科生、硕士生、博士生必须掌握的基本 技能。在国内,目前各个高校也正在逐步 开设相关课程,为广大学生学习和使用 MATLAB提供方便。
§1.2 MATLAB的语言特点 优点:简洁、紧凑,使用方便灵活, 库函数丰富、可靠;运算符丰富,提供了 几乎和C语言一样多的运算符;具有结构 化的控制语句,面向对象编程的特性;语 法限制不严格,程序设计自由度大;程序 的可移植性很好;图形功能强大;具有功 能强劲的工具箱;源程序具有开放性。 缺点:程序的执行速度较慢。
2. 利用冒号表达式生成向量 基本形式为: FirstValue:Step:LastBound , 例如:B=12:3:35 B= 12 15 18 21 24 27 30 33 其中 Step也可以为负, 例如:C=12:-2:5 C= 12 10 8 6 特别当Step=1时可以省略。
3.线性等分生成向量 函数linspace用来生成线性等分向量: LINSPACE(x1, x2) generates a row vector of 100 linearly equally spaced points between x1 and x2. LINSPACE(x1, x2, N) generates N points between x1 and x2. linspace(1,10,4) linspace(1,15,6) Linspace(1,100)
特殊矩阵的生成
[ ] 空阵; zeros 全0阵;eye 单位阵;ones 全1阵; rand随机阵;magic魔方矩阵;company伴随矩阵; pascal Pascal矩阵;gallery Higham测试阵; rosser 经典对称特征值测试矩阵; hadamard Hadamard矩阵; toeplitz Toeplitz矩阵; hankel Hankel矩阵;vander 范得蒙矩阵; hilb Hilbert矩阵; wilkinson Wilkinson’s特征值测试矩阵; invhilb 反Filbert矩阵。
输入输出格式用format命令来控制: FORMAT SHORT 5位 FORMAT LONG 15位 FORMAT RAT 有理数表达 注:具体可用 help format 查看
常住变量: pi, i 或 j, inf, NaN
§2.2 向量及其运算
输入向量的方法: 1. 直接输入法
A=[1 2 3 4], B=[1,2,3,4], C=[1;2;3;4],元素用[ ]括起来,元素之间 用空格或逗号分隔表示行向量, 用分号分隔就表示列向量。