Matlab语言基础
第二章 MATLAB基础

3 )向量是一个数学量,一般高级语言中也未引入, 它可视为矩阵的特例。从MATLAB的工作区可以查 看到:一个 n 维的行向量是一个 1 × n 阶的矩阵,而 一个n维的列向量则当成n×1阶的矩阵。 如A=[1 2 3 4]就是一个4维的行向量。也可看成是 一个一维数组,还要看成是一个1×4阶的矩阵。
3
数据类型转换函 数 uint8 uint16 uint32 uint64 int8 int16 int32 int64
说 明 无符号8位整数 无符号16位整数 无符号32位整数 无符号64位整数 有符号8位整数 有符号16位整数 有符号32位整数 有符号64位整数
字节数 1 2 4 8 1 2 4 8
22
【例 2.8】变量赋值 >> a=3.14 a= 3.1400 >> class(a) %函数class用来是判断变量数据类 型的 ans = double %变量a是双精度的浮点型数据
23
>> a='hello!' hello! >> class(a) ans = char
%变量a重新赋值
13
>> whos Name Size a 1x1 x 1x1 y 1x1 z 1x1
Bytes Class Attributes 16 double complex 4 int32 4 int32 8 int32 complex
14
2.2MATLAB的常量及变量
2.2.1常量 常量是程序语句中取不变值的那些量。如表达式 y=0.314*x,其中就包含一个0.314这样的数值常数,它 便是一个数值常量。而在另一表达式s='Hello'中,单引 号内的英文字符串“Hello”则是一个字符串常量。
MATLAB初学者语言基础

▪ 在命令窗口使用help组合命令。当用户知道函数名称想了解其具体用法时,可 以在命令窗口使用help命令,调用方法是help 函数名,例如:
>> help inv
❖ lookfor命令
▪ 在命令窗口使用lookfor组合命令。注意,help 命令要求函数名的精确匹配,而 lookfor只要求与每个函数中的总结信息有匹配。所以当用户不知道函数的确切 名称时可以使用lookfor命令 ,例如找矩阵求逆函数可以输入:
>> 3.14*3^2
ans =
28.2600
▪ 当遇到较为复杂的问题时,可以采用给变量赋值的方法,例如:可以用变量r来表示圆的
半径,用变量S来表示圆的面积,百分号“%”是MATLAB中的注释符
>> r=3
%圆的半径r=3
r=
3
>> S=3.14*r^2 %求圆的面积S
S=
28.2600
▪ 在命令窗口输入r=3并按下Enter键后,MATLAB会在命令窗口直接显示这条命令的计算 结果,若要禁止显示计算的中间结果,则可以通过分号“;”来实现,例如:
❖ 产生与发展
▪ 雏形——基于特征计算的程序库EISPACK和线性代数程序库LINPACK ▪ 免费软件->MathWorks公司 ▪ 演变成为一种具有广泛应用前景的全新的计算机高级编程语言
❖ 优势
▪ 强大易用的科学计算语言 ▪ 全面的图形功能 ▪ 独立开放的平台 ▪ 实用的程序接口
命令窗口 当前目录窗口
❖ 编辑搜索路径的常用命令
>> path
%显示所有搜索路径
>> addpath
%增加目录到MATLAB搜索路径。
Matlab基础知识点

MATLAB讲义第一章 MATLAB系统概述1.1 MATLAB系统概述MATLAB(MATrix LABoratory)矩阵实验室的缩写,全部用C语言编写。
特点:(1)以复数矩阵作为基本编程单元,矩阵运算如同其它高级语言中的语言变量操作一样方便,而且矩阵无需定义即可采用。
(2)语句书写简单。
(3)语句功能强大。
(4)有丰富的图形功能。
如plot,plot3语句等。
(5)提供了许多面向应用问题求解的工具箱函数。
目前,有20多个工具箱函数,如信号处理、图像处理、控制系统、系统识别、最优化、神经网络的模糊系统等。
(6)易扩充。
1.2 MATLAB系统组成(1)MATLAB语言MATLAB语言是高级的矩阵、矢量语言,具有控制流向语句、函数、数据结构、输入输出等功能。
同时MATLAB又具有面向对象编程特色。
MATLAB语言包括运算符和特殊字符、编程语言结构、字符串、文件输入/输出、时间和日期、数据类型和结构等部分。
(2)开发环境MATLAB开发环境有一系列的工具和功能体,其中大部分具有图形用户界面,包括MATLAB桌面、命令窗口、命令历史窗口、帮助游览器、工作空间、文件和搜索路径等。
(3)图形处理图形处理包括二维、三维数据可视化,图像处理、模拟、图形表示等图形命令。
还包括低级的图形命令,供用户自由制作、控制图形特性之用。
(4)数学函数库有求和、正弦、余弦等基本函数到矩阵求逆、求矩阵特征值和特征矢量等。
MATLAB数学函数库可分为基本矩阵和操作、基本数学函数、特殊化数学函数、线性矩阵函数、数学分析和付里叶变换、多项式和二重函数等。
(5)MATLAB应用程序接口(API)MATLAB程序可以和C/C++语言及FORTRAN程序结合起来,可将以前编写的C/C++、FORTRAN语言程序移植到MATLAB中。
1.3 MATLAB的应用范围包括:MATLAB的典型应用包括:●数学计算●算法开发●建模、仿真和演算●数据分析和可视化●科学与工程绘图●应用开发(包括建立图形用户界面)以矩阵为基本对象第二章 Matlab基础2.1 MATLAB快速入门(1)搜索路径搜索路径也被看作是MATLAB的路径,其包含的文件被认为在路径上。
matlab语言基础

例 2*3,
2/3, 2\3, 2^3, a=2, 15ห้องสมุดไป่ตู้a
五
MATLAB矩阵的输入与运算
1、在命令窗口中输入
》a=1; b=2; c=3; 》x=[5 b c; a*b a+c c/b] x= 5.000 2.000 3.000 2.000 4.000 1.500 》y=[2,4, 5 3 6 8] y= 245 368
•矩阵生成不但可以使用纯数字(含复数),也可以使用变 量(或者说采用一个表达式)。矩阵的元素直接排列在方 括号内,行与行之间用分号隔开,每行内的元素使用空格 或逗号隔开。大的矩阵可以用分行输入,回车键代表分号。
2、矩阵的运算 (1)转置:对于实矩阵, 用’符号可求 出它的转置矩阵。
》a=[1 2 3; 4 5 6] a= 》b=a' b=
MATLAB语言基础
一、MATLAB语言的显著特点
1、具有强大的矩阵运算能力:Matrix Laboratory (矩阵实验室),使得矩阵运算非常简单。 2、是一种演算式语言 MATLAB的基本数据单元是既不需要指定维数, 也不需要说明数据类型的矩阵(向量和标量为矩 阵的特例),而且数学表达式和运算规则与通常 的习惯相同。
1
4
2
5
3
6
1
2
4
5
3
6
(2) + - * 运算
》 a=[1 2;3 4], b=[ 3 5; 5 9] 》c=a+b, d=a-b, e= a*b
c=
4 7 8 13
d=
-2 -3 -2 -5 e= 13 23 29 51
• 只有维数相同 的矩阵才能进 行加减运算。 • 注意只有当两 个矩阵中前一 个矩阵的列数 和后一个矩阵 的行数相同时, 才可以进行乘 法运算。
第二章_MATLAB语言基础_第1节-赵亦欣

第2章 MATLAB语言基础
【例2.8】 表达式语句。 >> sqrt(2)*exp(-1*3) ans = 0.0704 >> 8*3+6/4 ans = 25.5000
表达式语句 运算结果 执行下一条 表达式语句 后,结果将 被刷新
第2章 MATLAB语言基础
第2章 MATLAB语言基础
2.1 基础知识
2.1.3 变量和语句
变量名区分字母大小写;不超过31个字 符,31个以后的字符将被忽略,字符之间不 能有空格;必须以字母打头,之后可以是任意 字母、数字或下画线;不允许使用标点符号。
第2章 MATLAB语言基础
MATLAB的一条命令行就是一条语句,
格式与书写数学表达式相近。 在命令窗输入语句,该语句可被解释运 行并给出运行结果。
第2章 MATLAB语言基础
(1)永久变量不能用clear命令清除; (2)永久变量不响应Who, Whos命令; (3)永久变量可以等于表2-1中的值; (4)被赋值的永久变量,在clear命令清除内 存或命令窗关闭再打开后,将被设为默认值;
(5)允许被0除。
第2章 MATLAB语言基础
2.1 基础知识
第2章 MATLAB语言基础
【例2.11】复数矩阵的生成及运算。 >> A=[1 2; 3 4]+[5 6; 7 8]*I % 复数矩阵的输入。 分别由实部矩阵和虚部矩阵组合而成 A= 1.0000 + 5.0000i 2.0000 + 6.0000i 3.0000 + 7.0000i 4.0000 + 8.0000i >> B=[1+2i 3+4i; 5+6i 7+8i] % 复数矩阵的输入。 直接由复数构成矩阵 B= 1.0000 + 2.0000i 3.0000 + 4.0000i 5.0000 + 6.0000i 7.0000 + 8.0000i >> C=A*B % 复数矩阵相乘。 复数矩阵乘法, 1.0e+002表 示标量100,矩阵运算中,存在直 C= 角坐标和极坐标之间的转换 1.0e+002 * -0.3500 + 0.4900i -0.5100 + 0.7700i -0.3900 + 0.7700i -0.5500 + 1.2100i
(完整版)Matlab入门教程

第1章MATLAB操作基础1.1 MATLAB概述1.1.2 MATLAB的主要功能1.数值计算MATLAB以矩阵作为数据操作的基本单位,还提供了十分丰富的数值计算函数。
2.绘图功能可以绘制二维、三维图形,还可以绘制特殊图形(与统计有关的图,例如:区域图、直方图、饼图、柱状图等)。
3.编程语言MATLAB具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。
4.MATLAB工具箱MATLAB包含两部分内容:基本部分和各种可选的工具箱。
MATLAB工具箱分为两大类:功能性工具箱和学科性工具箱。
1.1.3MATLAB语言的特点❖语言简洁紧凑,使用方便灵活,易学易用。
例如:A=[1 2 3;4 5 6;7 8 9]一条语句实现了对3x3矩阵的输入。
❖语句功能强大,一条语句相当于其它语言的一个子程序,例如fft。
❖语句简单,内涵丰富。
同一个函数有不同的输入变量和输出变量,分别代表不同的含义。
❖Matlab既具有结构化的控制语句(if、for、while)又支持面向对象的程序设计。
❖方便的绘图功能。
❖包含功能强劲的工具箱。
❖易于扩展。
1.1.4 初识MATLAB例1-1 绘制正弦曲线和余弦曲线。
x=[0:0.5:360]*pi/180;plot(x,sin(x),x,cos(x));例1-2 求方程3x4+7x3+9x2-23=0的全部根。
p=[3,7,9,0,-23]; %建立多项式系数向量x=roots(p) %求根例1-3 求积分quad('x.*log(1+x)',0,1)例1-4 求解线性方程组。
a=[2,-3,1;8,3,2;45,1,-9];b=[4;2;17];x=inv(a)*b1.2 MATLAB的运行环境与安装1.2.1 MATLAB的运行环境硬件环境:(1) CPU(2) 内存(3) 硬盘(4) CD-ROM驱动器和鼠标软件环境:(1) Windows 98/NT/2000 或Windows XP(2) 其他软件根据需要选用1.2.2 MATLAB的安装运行系统的安装程序setup.exe,可以按照安装提示依次操作。
第一章MATLAB基础知识

第一章MATLAB基础知识1.1 MATLAB开发环境1.MATLAB操作桌面MATLAB4.0以上版本都是在Windows以上环境支持下操作与运行的,因此,这里必须假定读者对Windows有一定的了解和掌握。
本书以Windows98环境,MATLAB6.5版本为例介绍。
书中绝大多数例子在MA TLAB5.3版本中亦能使用.要想进入MATLAB系统,方法有二:(1)在Windows98的桌面上双击MATLAB快捷图标。
(2)单击Windows98的“开始”按钮,再依次单击:程序/MA TLAB/MA TLAB6.5;图1-1MATLAB6.5除保留了传统的命令窗口外,还增加了启动平台窗口、工作空间窗口、命令历史窗口、当前路径窗口等窗口,与新的M文件编辑器和新的在线帮助浏览器等共同构成了MA TLAB6.5的开发环境。
MATLAB的开发环境是MATLAB语言的基础和核心部分,MATLAB语言的全部功能都是在MA TLAB的开发环境中实现的,MA TLAB的仿真工具Simulink、MATLAB的工具箱等其他附加功能的实现也必须使用MATLAB开发环境,因此,掌握MATLAB 的开发环境是掌握MATLAB语言的关键。
启动MA TLAB后,将显示包括命令窗口、启动平台窗口、工作空间窗口、命令历史窗口和当前路径窗口等5个窗口和主菜单组成的操作桌面(图1-1)。
本节对操作桌面的各个窗口作简要介绍,部分窗口的功能和使用将在以后的章节中详细介绍。
操作桌面缺省状态下显示3个窗口,当前路径和工作空间窗口在同一位置显示,可以通过该窗口下方的箭头或窗口标签来切换,命令历史窗口和当前目录窗口在同一位置显示,可以通过该窗口下方窗口标签来切换。
每个窗可以脱离操作桌面独立出来。
也可以通过菜单View来选择显示哪些窗口。
MATLAB还设定了几种特定的窗口布局方式,在View菜单的Desktop Layout选项中,给定了6种布局方式:Default(缺省方式)Command Window Only(只显示命命令窗口方式)Simple(简单方式,只有命令历史窗口和命令窗口)Short History(低命令历史窗口方式)Tall History(高命令历史窗口方式)Five Panel(5个窗口平铺方式)2.MATLAB的通用参数设置MATLAB的通用参数和各功能窗口的参数可以通过主菜单中的file/Preferences项设置,这里先介绍通用参数的设置。
Matlab语言基础

一、Matlab的变量与常量Matlab中变量和常量存储都是相应的数据。
数据类型:基本类型、构造类型、符号对象基本类型:数字型、字符串型数字型:整型、浮点型整形:无符号、有符号(int8、int16、int32、int64 1位、2位、4位、8位)浮点型:单精度(32位)、双精度(64位)基本类型:数组类型(常见)、细胞类型、结构类型、类类型符号对象(比较少见)变量:在运算过程中其数值可以改变的量;常量:在运算过程中其数值不改变的量。
变量命名规则:变数名称是由一个字母开头,其后可以有任意数量的字母、数字或下划线。
在变量命名时尽量使用小写字母,名字要有实在的意义,不要和系统保留的关键字(常量)和函数名相同的名字,容易出错。
MATLAB是区分大小写的,变量名可以是任意长度。
Matlab语言是一种弱类型语言,C语言是强类型语言,变量在复制之前要对它的类型进行严格的申明,不同就会出错,而matlab不需要事先申明。
变量初始化:1、采用赋值语句初始化变量;2、用input函数从键盘输入初始化变量,如下:3、matlab已经定义好了的一些常量:I、j虚数;Inf无穷大;NaN不定式;pi圆周率;ans特殊的变量。
二、matlab的基本数据结构标量、向量、数组、矩阵的概念:标量、向量、数组本质上是特殊的矩阵形式;matlab 常用的是二维矩阵;标量1*1的矩阵;向量可以看成是1行或者1列的矩阵;向量是数学中的说法,数组是matlab语言中的说法,但向量和数组在这里指的是同一种数据结构,可以互用。
手动生成矩阵:行矩阵:a = [1 2 3]列矩阵:b = [1 2 3]’或 b = [1;2;3]2*2矩阵:c = [1 2;3 4]使用内置函数生成矩阵:常用的有 o nes,eye,zeros,size,length.利用冒号表达式生成矩阵:冒号:用来生成向量,定义数组下标,数组的循环迭代。
生成航向量:生成列相量:引用矩阵或矩阵中的元素:举证可以看成一个一位数组,按列从左至右,从上往下依次排列。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
n
结构体是用“字段”来对 其元素进行索引,而不是 通过数字索引。 结构体采用点号“.”来访 问字段中的数据变量,与 C++ 类似。
创建第二个circle
n n
size(circle) Circle是一个结构体标量,1×1维,也就是它只 包含了一个圆的信息。 >> circle(2).radius=3.4; >> circle(2).linestyle=':'; >> circle(2).center=[2.3,-1.2]; >> circle(2).color='green'; size(circle)
有关矩阵函数的示例
n
输入或生成一个矩阵,并求这个矩阵的秩、 维数、逆矩阵、转置矩阵、矩阵与逆相关 的条件数、矩阵行列式的值、矩阵的 Hessenerg形式。 n a=magic(5),b=rank(a),c=size(a), d=inv(a),e=a.‘,f=cond(a),g=det(a), h=hess(a)
创建单元数组
通过赋值语句直接创建 ¨>> A={[1 2],'John Smith';2+3i,5;[2 3 4;3 4 5;4 5 6],'A character string'} n 利用cell函数先为单元数组分配一个内存 空间,然后再给各个单元赋值。 ¨>> A=cell(3,2)
n
索引单元数组
n
Scalar expansion
¨ >>
n
a = [1 2; 3 4] ¨ >> a+[1 2] ¨ >> a+1
矩阵的四则运算 矩阵的加减运算必须是同维之间进行 矩阵的乘法需符合计算要求 矩阵的除法?
运算要符合数学定理和 Matlab语法,否则出错!
矩阵的代数运算 矩阵的求逆:inv(a)、pinv(a) 矩阵的特征值、特征向量和特征多项式 矩阵的分解 求解线性方程组 特殊矩阵
矩阵的下标/索引
() versus []
Indexing Order of operations Argument list Matrix/Vector creation Concatenation Multiple outputs
冒号表达式
n
冒号表达式的原型:v=s1:s2:s3 n %该函数将生成一个行向量v,其中s1为向量 的起始值,s2为步距,s3为最大值。
表达式Expressions
Matlab中的表达式,主要由以下几部分组成:
数字 变量 运算符 函数 Numbers Variables Operators Functions
变量
n
Variables
Matlab的变量在使用前不需要定义数据类型 和维数,但需要赋值。 n 变量的第一个字符必须是英文字母,后面跟 字母、数字或下划线,且不超过31个字符。 n 变量名的大小写敏感。 n 查看变量的值,只需在命令窗口中输入变量 名。
数字 变量 运算符 函数 Numbers Variables Operators Functions
数字
Numbers
例如:2e-004 例如:2+0.45i
Matlab中的数采用十进制表示 科学计数法用e表示, 虚数单位用i或j表示, 数据显示格式:
格式 format (short) format long format short e format long e format bank format hex 含义 短格式(5位定点数) 长格式(15位定点数) 短格式e方式 长格式e方式 2位十进制 十六进制格式
n n n n n
什么情况下用 结构体更方便?
逻辑变量、关系运算和逻辑运算
关系运算符 描述 小于 小于等于 大于 大于等于 等于 不等于 描述 两个逻辑数组间的与 两个逻辑数组间的或 对逻辑数组的取反 标量表达式的避绕式与 标量表达式的避绕式或
n n
区分“=”和“==” 在对一个表达式执行 关系运算和逻辑运算 时,如果表达式真, 则返回1,如果表达式 假,则返回0。
注意清除Workspace中 的变量,以免同名不同意的 变量相互影响!
变量的保存,save
n n
save 文件名,变量名1,变量名2,….
¨ 把变量1、2….保存到文件名.mat二进制文件中。
save 文件名,变量名1,变量名2,…. ASCII
¨ 把变量1、2….保存到文件名ASCII码文件中。
{ }用于访问单元的值 n ( )用于标识单元而不查看它的值 n 对比:A{1,1},A(1,1)
n
创建结构体
n n n n n
>> circle.radius=2.5; >> circle.center=[0,1]; >> circle.linestyle='red'; >> circle.linestyle='--'; >> circle.color='red';
变量的查看、清除和保存
查看变量,who/whos who 列出当前工作空间中的变量
whos 列出当前工作空间中的变量的大小、 类型等详细信息。
在Workspace中 可以看到所有变量 信息!
清除变量,clear
clear 清除工作空间中的所有变量
clear 变量名1,变量名2,… 清除工作空间中特定的变量
n
行数和列数
m*n m*n*z
行数、列数 和页数
字符串
>> t='How about character string?‘ n >> t(11:19) n >> t(3:4)
n
一个字符串就是用单引号括起来的一系列字符的组 合,其中的每个字符都是该字符串的一个元素,通 常用两个字节来存储。
数字与字符串的相互转换
str2num str2double sscanf
其他字符串函数
判断是否为字符串 对比,连接等等
n n n n
ischar iscellstr isspace isstrprop
n n n n n
strcat strvcat strcmp strncmp ……
单元数组
ü
是矩阵的直接拓展,其存储格式类似普通 的矩阵,而这个矩阵的每个元素不一定是 数值,它可以存储任意类型的信息,这样 每个元素成为“单元(cell)” 。
很好用,避免使用 低级文件I/O函数。
变量的装载,load
load 文件名 将文件名指定的磁盘文件中的数据依次读入名 称与文件名相同的工作空间中的变量中去。 可以装载mat、dat、txt等文件。
举个例子吧!
表达式Expressions
Matlab中的表达式,主要由以下几部分组成:
数字 变量 运算符 函数 Numbers Variables Operators Functions
n n n n n n n n
int2str num2str mat2str sprintf fprintf
n n n
通用格式转换函数
>> r=sqrt(2); >> s=pi*r^2; >> area=sprintf('A circle of radius %.5g has an area of %.5g.',r,s)
Function Length ndims numel size Description 矩阵最长维数的长度 维数 元素个数 每一个维的长度(help size)
矩阵形状的改变
Function reshape rot90 fliplr flipud flipdim transpose Description Change size Rotate matrix 90 degrees(counterclockwise) Flip matrix in left/right direction Flip matrix in up/down direction Flip matrix along specified dimension non-conjugate transpose 非共轭转置
创建特殊矩阵
zeros(m,n):创建一个m行n列的全0矩阵 n ones(m,n):创建一个m行n列的全1矩阵 n eye(m,n):创建一个m行n列的单位矩阵 n diag(v):对角矩阵 n rand(m,n):随机矩阵 n magic(n):魔方矩阵(正方形,每行每列元素之 和相等)
n
矩阵信息的提取
赋值语句
基本数据类型
ü ü ü ü ü
字符串型数据:用单引号括起来 单元数组(cell array) 结构体(structure) 类和对象 符号变量(单独讲)
将不同类型的相 关数据集成到一 个单一的变量中。
数据的基本要素
Name n Class n Size n Value
n
数据的基本要素
Name n Class n Size n Value
Matalb中的常量
名称 pi INF(inf) NaN(nan) realmax realmin eps i(j) nargin nargout ANS(ans) 说明 圆周率 无穷大 代表不定值(即0/0) 最大的正实数 最小的正实数 浮点数的相对误差 虚数单位,-1的开方 函数实际输入参数个数 函数实际输出参数个数 默认变量名,以应答最近一 次操作运算结果
Lecture 2-1 Matlab语言基础
Matlab的基本数据结构是矩阵。 其中,标量可以看成是1×1维,向量可以 是1×n维或n ×1维。 Matlab无需定义数据类型,也不用指定其维数。