第1章-Matlab简介
流程控制
if … elseif … else …
for
while switch … case … otherwise … break
continue try … catch …
Script locations
设置search path
Help and documentation
doc mean help mean
字符串
• mytext = ‘Hello, world!’ • otherText = ‘You’’re right’ • longText = [myText, ‘ – ‘, otherText] % concatenate strings with square brackets • f = 71; c = (f - 32) / 1.8; • tempText = [‘Temperature is ‘, num2str(c), ‘C’]
Color specification
Specifier y m Color yellow magenta
c r g b
w k
cyan red green blue
white black
Hold on / hold off
• x = 0:pi/20:2*pi; • y = sin(x); • plot(x, y, ‘m-*’) • hold on • y2 = cos(x); • plot(x, y2, ‘c--o’)
数字图像处理
第 1 章 MATLAB 简介
赵毅力 ylzhao@
MATLAB是什么?
• MATLAB是一个科学计算和仿真模拟的软件平台,由 一系列工具箱组成:
• • • • • • • • • • Aerospace Toolbox Antenna Toolbox Bioinformatics Toolbox Communications System Toolbox Computer Vision System Toolbox Image Processing Toolbox Control System Toolbox Curve Fitting Toolbox Data Acquisition Toolbox …
• /
MATLAB - Matrix Laboratory
Evolution of MATLAB
变量赋值
• a=1
• b=2 • c=a+b • d = cos(a)
• sin(a)
• e = a * b;
矩阵和数组
• A = [1 2 3 4] % row vector • B = [1 2 3; 4 5 6; 7 8 9] % 2D matrix • Z = zeros(5, 1) • C = A + 10 • D = sin(A) • E = B’ % 转置
函数调用
• A = [1 3 5]; • maxA = max(A) • C = [10 6 4]; • maxC = max(A, C) • [maxA, loc] = max(A) % with location • disp(‘hello world’) % display string
• clc % clears the Command Window
Matrices and magic squares
• 矩阵是二维数组 • 1x1的矩阵称为标量 • 只有一行或者一列的矩阵称为向量
Entering matrices
• A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1] A= 16 3 5 10 9 6 4 15 2 13 11 8 7 12 14 1
% Draw a line from (0,m) to (n,m) m = mean(r); hold on plot([0,n],[m,m]) % x1=0,x2=n,y1=m,y2=m hold off title('Mean of Random Uniform Data')
Loops and Conditional Statements
工作区变量 - Workspace Variables • whos • save myfile.mat % save data as MAT-file • clear % clear all the variables
• load myfile.mat % Restore data from a MAT-file
The magic function
• 14 A=
16 3 5 10 9 6 4 15
3 13 10 8 6 12 15 1
2 13 11 8 7 12 14 1
Matrix reorder
• C = B(:, [1 3 2 4]) % reorder
绘制SINE函数图形
Line specification
Specifier -: -. Line Style Solid line Dashed line Dotted line Dash-dot line
Marker specification
Specifier o + * . x s Marker Circle Plus sign Asterisk Point Cross Square
C=
16 3 5 10 9 6 4 15 A=
16 3 5 10 9 6 4 15
2 13 11 8 7 12 14 1
2 13 11 8 7 12 14 1
Generating matrices
• zeros - All zeros • ones - All ones • rand - Uniformly distributed random elements • randn - Normally distributed random elements
• F = inv(B) % 逆矩阵 • P = B * E % matrix multiplication • W = B .* B % element-wise multiplication
• A.^3
连接 - Concatenation
• A = [1 2 3; 4 5 6; 7 8 10] • A1 = [A, A] % 水平方向连接 • A2 = [A; A] % 垂直方向连接
Building tables
•
n = (0:9)‘
• pows = [n n.^2 2.^n]
pows =
0 1 2 3 4 5 6 7 8 9
0 1 1 2 4 4 9 8 16 16 25 32 36 64 49 128 64 256 81 512
Functions
help elfun
help specfun
绘图
• x = 0:pi/100:2*pi; • y = sin(x) • plot(x, y) • xlabel(‘x’) • ylabel(‘sin(x)’) • title(‘Plot of the Sine function’)
绘制SINE函数图形
绘制SINE函数图形
• plot(x, y, ‘r--’)
复数
• sqrt(-1) • C = [3+4i, 4+3j; -i, 10j]
数组索引 - Array indexing
• A = magic(4) • A(4, 2) % row and column subscripts • A(8) % linear indexing
• A(4, 5) % Index exceeds matrix dimensions • A(1:3, 2) % use colon to index range • A(3, :) • C = 0:10:100 % start:step:end • D = 0:10
子图 - subplot
Programming and scripts
• edit plotrand
% Generate random data from a uniform distribution % and calculate the mean. Plot the data and the mean. n = 50; r = rand(n, 1); plot(r)
Logical subscripting
• x = [2.1 1.7 1.6 1.5 NaN 1.9 1.8 1.5 5.1 1.8 1.4 2.2 1.6 1.8]; • ind = isfinite(x); % logical array • x(ind)
• ind2 = isnan(x); % logical array • x(ind2)
sum, transpose, and diag
• sum(A) ans = 34 34 34 34
sum, transpose, and diag
• A’ ans = 16 5 3 10 2 11 13 8 9 4 6 15 7 14 12 1
sum, transpose, and diag
• sum(A')' ans = 34 34 34 34
sum, transpose, and diag
• sum(A, 2) % specify dimension argument ans = 34 34 34 34
sum, transpose, and diag
• sum(diag(A)) ans = 34
Logical operations
Functions
A & B, and(A, B)
Meaning
Logical AND
~A, not(A) A | B, or(A, B)
第1章MATLAB简介讲稿
第一篇MATLAB入门第1章MATLAB简介MATLAB(Matrix Laboratory)是由MathWorks公司于1984年推出的一套科学计算软件,分为总包和若干个工具箱。
它具有强大的矩阵计算和数据可视化能力。
1.1 MATLAB的主要特点该软件的主要特点:⑴简单易学:MATLAB是一门编程语言,其语法规则与一般的结构化高级编程语言大同小异,而且使用更方便,具有一般语言基础的用户很快就可以掌握。
⑵代码短小高效:由于MATLAB已经将数学问题的具体算法编成了现成的函数,用户只要熟悉算法的特点、使用场合、函数的调用格式和参数意义等,通过调用函数很快就可以解决问题,而不必花大量的时间纠缠于具体算法的实现。
⑶计算功能非常强大:该软件具有强大的矩阵计算功能,利用一般的符号和函数就可以对矩阵进行加、减、乘、除运算以及转置和求逆等运算,而且可以处理稀疏矩阵等特殊的矩阵,非常适合于有限元等大型数值算法的编程。
此外,该软件现有的数十个工具箱,可以解决应用中的很多数学问题。
⑷强大的图形绘制和处理功能:该软件可以绘制常见的二维三维图形,还可以对三维图形进行颜色、光照、材质、纹理和透明性设置并进行交互处理。
⑸可扩展性能:可扩展性能是该软件的一大优点,用户可以自己编写M文件,组成自己的工具箱,方便地解决本领域内常见的计算问题。
此外,利用MATLAB编译器可以生成独立的可执行程序,从而可以隐藏算法并避免依赖MATLAB。
1.2 MATLAB桌面简介启动MATLAB时,MA TLAB的桌面如图1-1。
可以根据需要改变桌面外观,包括移动、缩放和关闭工具窗口等。
MATLAB桌面包括表1-1中的几种工具窗口,在默认情况下,它们中间有一些没有显示。
1.2.1 启动按钮(“Start”)打开MATLAB主界面以后,单击“Start”按钮,显示一个菜单,利用“Start”菜单及其子菜单中的选项,可以直接打开MA TLAB的有关工具。
第一章matlab概述
工作空间浏览器窗口(1)
工作空间是MATLAB用于存储各种变 量和结果的内存空间; 在该窗口中显示工作空间中所有变 量的名称、大小、字节数和变量类型说 明; 可对变量进行观察、编辑、保存和 删除。
路径浏览器窗口
当前目录是指MATLAB运行文件时的工作 目录,只有在当前目录或搜索路径下的文件、 函数可以被运行或调用。 在当前目录窗口中可以显示或改变当前 目录,还可以显示当前目录下的文件并提供 搜索功能。
主窗口--菜单栏介绍
命令窗口菜单栏共包含File、Edit、Window和Help四项。 File菜单项:
New命令:用于建立M文件、图形窗口。 Open命令:打开一个已经建立的M文件。
主窗口--菜单栏介绍
File菜单项:
Show Workspace命令:打开变量浏览器。 Set Path命令:打开MATLAB的路径浏览器。 Preferences命令:打开命令窗口的显示格式。 Print Setup命令:设置打印机的参数。 Print命令:打印和设置一些打印参数。 Print Selection命令:打印选中的内容。 Exit MATLAB命令:退出MATLAB系统。
Matlab基本组成
1:语言部分
2:工作环境 3:数学函数库 4:图形处理 5:应用程序接口(API) 6:特殊工具箱
MATLAB的主要功能
1. 数值计算和符号计算功能 2. 绘图功能 3. MATLAB语言体系 4. MATLAB工具箱
MATLAB特点
1. 数值计算和符号计算功能
MATLAB主窗口--菜单栏介绍(2)
5)Breakpoints菜单项共有6个菜单命令,前 两个是用于在程序中设置和清除断点的,后4 个是设置停止条件的,用于临时停止M文件的 执行,并给用户一个检查局部变量的机会, 相当于在M文件指定的行号前加入了一个 keyboard命令。 6) Web菜单项用于设置Web操作。 7)Help
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的路径,其包含的文件被认为在路径上。
第1章-MATLAB概述资料讲解
第1章-M A T L A B概述第1章MATLAB概述MATLAB源于Matrix Labortary,即矩阵实验室,是由美国Mathworks公司发布的主要面对科学计算、数据可视化、系统仿真,以及交互式程序设计的高科技计算环境。
MATLAB软件的官方网站为,中国网站为。
1.1 MATLAB简介MATLAB将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB软件提供了大量的工具箱,可以用于工程计算、控制设计、信号处理与通信、图像处理、信号检测、金融建模设计与分析等领域,解决这些应用领域内特定类型的问题。
MATLAB的基本数据单位是矩阵,非常符合科技人员对数学表达式的书写格式,利用MATLAB解决问题要比C或Fortran等语言简捷的多。
目前MATLAB软件已经发展成为适合多学科、多种工作平台的功能强大的大型软件。
在欧美等高等学校,MATLAB软件已经成为线性代数、数字信号处理、动态系统仿真等课程的基本教学工具。
1.2 MATLAB的特点由于MATLAB软件功能强大,而且简单易学,已经成为高校教师、科研人员和工程技术人员的必学软件,能够极大的提高工作的效率和质量。
与其他的计算机高级语言相比,MATLAB软件有许多非常明显的优点。
收集于网络,如有侵权请联系管理员删除1.2.1 界面友好,容易使用MATLAB软件中有很多的工具,这些基本都采用图形用户界面。
MATLAB的用户界面非常接近Windows的标准界面,操作简单,界面比较友好。
第1章 MATLAB基本知识
1.2.3 MATLAB的M文件
MATLAB的M文件有两种形式:文本文件和函数文件。 M文件可以通过M文件
编辑器建立完成,
即通过MATLAB命令窗
口的File菜单下的New
命令建立M-File。 M文件编辑器窗口如图 1-4所示。
图1-4 M文件编辑器
1. 文本文件 例如,在 ( , ) 间绘制建立一个正弦函数图形 在M文件编辑器中输入以下程序:
S2=b+c+d
S3=a-b-d
程序如下:
Function[s1,s2,s3]=abcdyunsuan(a,b,c,d) S1=a+b+c; S2=b+c+d; S3=a-b-d; 该函数文件的文件名应是? 如何使用该函数?
例:设计一个函数文件,实现S=a+b+c-d的运算
3.M文件的管理
文件管理命令与功能
命令名 cd x=cd cd path delete wq dir matlabroot 实现功能 显示当前目录 返回当前工作目录到目录x 改变目录到path 删除文件wq.m 列出当前目录的文件 返回到matlab根目录
path
type wq what
显示或修改matlab的搜索路径
在命令窗口显示wq.m文件 显示当前目录的M文件和MAT文件
>> a=5, ↙ 执行后显示: a= 5 >> b=6; ↙ >> c=a*b 执行后显示: c= 30
1. 变量
变量的命名:
变量名必须以字母开头,之后可以是任意字母、 数字或下划线(不能超过19个字符)
变量名区分字母的大小写 变量中不能包含有标点符号
matlab课件
第1章MATLAB概述
❖典型应用: ●数学计算; ●算法开发; ●数据采集; ●建模、仿真和原型设计; ●数据分析、研究和可视化; ●科学和工程绘图; ●应用开发环境,包括创建图形用户界面。
MATLAB程序设计
❖应用示例: ●绘图功能
曲面图与等高线
第1章MATLAB概述
MATLAB程序设计
MATLAB程序设计
❖在M文件编辑器下使用单元示例 单元模式的M文件源代码: x=0:pi/20:6*pi; y=sin(x); plot(x,y,'r-*'); title('Sine Wave'); xlabel('x');ylabel('sin(x)'); %% Plot Sine Wave %%
MATLAB程序设计
第1章MATLAB概述
1.2 桌面工具与开发环境
MATLAB 主界面
当前工 作目录
命令提示符
MATLAB程序设计
当前工作区间
输入命令的 历史记录
命令窗口
♂
第1章MATLAB概述
1.3 编辑/调试器
一.M文件的创建 M文件的创建方法: 在主菜单选择File>New>M-File或在工具栏单击新建 按钮来创建。
MATLAB程序设计
第1章MATLAB概述
❖MATLAB的特点与功能 ●MATLAB是一个交互式软件系统 输入一条命令,立即就可以得到该命令的结果。 ●MATLAB具有很强的数值计算功能 ◆MATLAB以矩阵作为数据操作的基本单位,但 无需事先指定矩阵维数(动态定维)。 ◆提供十分丰富的计算函数,方便计算、提高效率。 ◆MATLAB命令与数学中的符号、公式非常接近, 可读性强,容易掌握。
第1章MATLAB简介
x=A\b
x = 1.4818
-0.4606
0.3848
————MATLAB 软件介绍————
例2 用简短命令计算并绘制在0 x 6范围内的 sin(x)、sin(2x) x=0:.1:6; y1=sin(x);y2=sin(2*x); plot(x,y1,x,y2)
练习与思考题
1.国际象棋棋盘有64个方格,在第一格放一粒麦粒,第 二格放两粒,第三格放四粒,·······,每格比前一格麦粒 数多一倍,直到放满64格.计算说明这些大麦几乎可以
abs(x) 绝对值 sqrt(x) 开平方 conj(z) 共轭复数 round(x) 四舍五入 floor(x) 舍去正小数 rat(x) 化为分数表示 gcd(x,y) 最大公因数 exp(x) 自然指数 log(x) e为底的对数
angle(z) real(z) imag(z) fix(x) ceil(x) sign(x) rem(x,y) lcm(x,y) pow2(x)
————MATLBiblioteka B 使用简介————63例1.计算级数:S=1+2+22+23+···+263= 2n
n0
>> n=0:1:63;S=sum(2.^n)
S = 1.8447e+019
例2. 计算sin x 在 , , , 处的值
8643
>>clear x=pi./[8,6,4,3],y=sin(x)
8/ 15
————MATLAB 常用函数————
三角函数与双曲函数 如y=sin(x)
sin 正弦函数
sinh 双曲正弦函数
asin 反正弦函数 asinh 反双曲正弦函数
第1章matlab基础知识
2.Edit菜单
Undo:取消输入。 Redo:重新输入。 Cut:剪切。 Copy:复制。 Paste:粘贴。 Paste to Workspace:将所选内容粘贴到 工作空间。 Select All:全选。 Delete:删除。 Find:寻找。 Find Files:在指定的文件或路径中寻找。 Clear Command Window:清除命令窗口 中的显示。 Clear Command History:清除命令历史窗 口中的显示。 Clear Workspace:清除工作空间变量。
在命令窗口中运行的命令,都会被保留在Command History(命令历史)窗口中,并且标明指令运行 的日期和时间。
1.3.5 Workspace
用于存储各种变量 和结果的内存空间 ,其中显示了工作 空间中所有变量的 名称、大小、最大 及最小值,可以对 变量进行观察、编 辑、保存和删除等 操作。
(2)直观
程序语言设计符合人们的思维习惯和数学表达方式。 丰富的二、三维图形及动画,对计算结果进行可视化 显示,给用户以直观的认识。 Simulink的仿真环境,省去了用户画图布线的烦恼。
(3)简单
丰富的函数库和工具箱,使用户不必进行具体代码的 编写,只需调用简单的函数指令,就可以执行任务操 作,解决问题。 所有数值对象都默认以双精度浮点类型数组存储,无 须用户进行数据类型的声明和转换。
Save Layout:保存当前布局。 Organize Layout:组织布局。 Command Window:显示或隐藏命令窗口。 Command History:显示或隐藏命令历史窗口。 Current Folder:显示或隐藏当前文件夹。 Workspace:显示或隐藏工作空间。 Help:显示或隐藏帮助。 Profiler:显示或隐藏性能分析器。 File Exchange:用于实现文件的切换。 Editor:显示或隐藏编辑器。 Figures:显示或隐藏图形显示窗口。 Web Browser:打开网络浏览器。 Variable Editor:用于显示变量编辑器。 Comparison Tool:打开对照工具。 Toolbars:显示或隐藏工具栏。 Titles:显示或隐藏窗体标题。
1第一章 Matlab语言概述
(Ⅰ)基础篇第一章 Matlab语言概述§1.语言特点MATLAB是Mathworks公司于20世纪80年代推出的数值计算软件。
得到了广泛的应用。
MATLAB的全称是Mateix Laboratory,意思是矩阵实验室。
它是以矩阵运算为基础的新一代程序语言。
MATLAB是集数学运算、图形处理、程序设计和系统建模为一体的著名编程语言软件,它具有功能强大、使用简单等优点,是进行科学研究和工程实践的有力工具。
与Fortran和C相比,MATLAB语句更简洁、明了,更加符合人们的思维习惯。
并且还具有良好的数据可视化功能。
MATLAB包括两部分:基本部分-主要指数据计算和可视化功能。
扩展部分-主要指工具箱。
§2 基本操作和简单语句输入1. 简单语句输入(简单计算器用法)例1:计算a⨯y÷⨯=(a = 2,b =3,c = 5 )+acbb[程序] 在命令窗口输入>> a=2;b=3;c=5;>> y=a*b+c*b/a 回车[输出] y =13.5000例2:计算64(tan3⨯+45)/2760cos[程序] >> (tan(pi/4)+cos(pi/3))*27^(1/3)/sqrt(64)ans =0.56252. 变量表达式数值(1)变量* matlab语句一般形式为:变量=表达式(或数),若变量和“=”省略,输出时自动建立“ans”默认变量。
* 对大小写敏感,如sqrt(平方根)对,而SQRT,Sqrt全错。
* 变量名第一个字符必须是英文字母,最多可包含31个字符,(含英文、数字、下连符)。
不得包含空格和标点。
* 系统遇到一个新变量名时,它会自动生成变量,若该变量早已存在,系统会自动更新内容。
表1-1 默认预定义变量(永久变量)例3:无穷大的使用>> x =1/0Warning: Divide by zero.x =Inf* 在MATLAB中这样的操作不会引起程序执行中断,只是在给出警告信息的同时,用一个特殊的符号Inf来表示。
Matlab基础简介课件
一、Matlab的特点
强大的数值计算和工程运算功能
如求解线性方程组Ax=b,A为方阵,matlab中直接x=b/A即可得 结果。
高级图形和可视化数据处理能力 基于向量,数组和矩阵的高级程序设计语言,
语言简单,编程容易,边解释边执行,语法与C语言类似。
支持科学和工程计算标准的开放式可扩充结构
X=
-2.0000 1.0000
1.5000 -0.5000
矩阵元素的赋值与运算
Matlab允许用户对矩阵的单个元素进行赋值 和操作,Matlab此时命令方式为
X(i,j)=变量名
矩阵的行列式运算: a1=det(a)
矩阵的特征值及特征多项式(eig或eigs )
求矩阵A的特征向量V及特征值D,满足A*V=V*D。其中D的对角线
E = [1 2;3 4]; F = [2 3;4 5]; G = E .* F
G= 26 12 20
矩阵与常数间的运算
常数与矩阵的运算即是同此矩阵各元 素之间进行运算
数除是指矩阵每个元素都除以此常数 ,因此常数只能作为除数。
矩阵的除法(左除“|”和右除“/”)
右除要作矩阵的逆然后再作矩阵的乘法,通常速度较快 左除不需要计算逆,直接进行除运算,可以避免被除矩
a=[1 2], b=[3 4] 则c=a.*b=[3 8]
.^ 为向量的乘方运算,例如
c=a.^2=[1 4]
b. 向量的除法运算
向量点积、叉积和混合积
点积:两个向量在其中一个向量方向上的投影的乘积
a=[1,2,3]; b=[3,4,5];
dot(a,b)
ans=
(相当于sum(a.*b))
26
对数等分向量的生成 y=logspace(x1,x2) 生成(1*50)维的对数等分向量,使得 y(1)=10^x1,y(50)=10^x2 y=logspace(x1,x2,n) 生成(1*n)维的对数等分向量,使得y(1)=10^x1,y(n)=10^x2 例:》a2=logspace(0,5,6) a2= 1 10 100 1000 10000 100000
