matlab第一讲

合集下载

第一讲 MATLAB基础知识

第一讲 MATLAB基础知识

(续表)
预定义变量 含义 NaN(nan) nargin nargout 不是一个数(Not a number),如0/0,∞/0 函数输入参数数目 函数输出参数数目
realmax
realmin
最大正实数
最小正实数
MATLAB初步
(4) matlab的基本运算符
最常见的算术运算符如下:
运算名称 数学表达 matlab 式 运算符 a+b + 加 减 乘 除 幂 a-b a×b a÷b ab * /(\) ^ matlab 表达式 a+b a-b a*b a^b 例子
口中双击该变量名。
(3) 若想使某个窗口脱离matlab desktop,只需 单击“undock form desktop”图标.
MATLAB初步
(4) 计算结果的显示格式(比较重要)
format命令提供多种数据的输出格式,如: format short format rat format long format hex
MATLAB初步
(3) matlab默认的预定义变量
predefined variables ,是matlab系统定义的一些 变量,赋予特定的值和变量名
预定义变量 含义 ans eps Inf (inf) 当前计算结果的缺省变量名 机器零阈值 无穷大
i,j
pi
虚单元 i=j=
圆周率π
1
MATLAB初步
MATLAB初步
几点说明:
所有运算定义在复述域上,只返回第一 象限的解; 如:a=,则 X=A\B,
“/”右除,若XA=B,则 X=B/A,
运算规则: 按与常规相同的优先级自左至右执行
优先级:指数>乘除>加减

matlab第一讲

matlab第一讲
系统科学研究所
·
1.2 MATLAB 集成开发环境
如果一个命令行很长,一个物理行之内写不下,可以在第1个物理行之 后加上3个小黑点并按下回车键,然后接着下一个物理行继续写命令的 其他部分。3个小黑点称为续行符,即把下面的物理行看作该行的“逻 辑”继续。 例如:
z=1+1/(1*2)+(1*2*3)+1/(1*2*3*4)+…
系统科学研究所
1.2 MATLAB 集成开发环境
MATLAB的工具栏提供了一些命令按钮和一个当前路径列表框。
2.命令窗口
一般来说,在命令编辑区的一个命令行输入一条命令,命令行以回车 结束。但一个命令行可以输入若干条命令,各命令之间以逗号分隔, 若前一命令后带有分号,则逗号可以省略。例如:
x=720,y=68 x= 720 y=86 x=720;y=86 y=86
1.3MATLAB 的帮助功能
1.3.1帮助界面
进入MATLAB帮助界面可以通过以下3种方法。 单击MATLAB主窗口工具栏中的Help按钮。
在命令窗口中输入”helpwin”、”helpdesk”或“doc”命令。
选择Help菜单中的”MATLAB Help”选项。 1.3.2帮助命令
1.help命令
系统科学研究所
1.2 MATLAB 集成开发环境
检查该命令是否为MATLAB 搜索路径中其他目录下的M文件。 2.设置搜索路径
用户可以将自己的工作目录列入MATLAB搜索路径,从而将用户目录
纳入MATLAB系统统一管理。 (1)用path命令设置搜索路径 (2)用对话框设置搜索路径
·
系统科学研究所
统程序设计语言一样进行程序设计,而且结合MATLAB的数值计算和

第1章MATLAB简介讲稿

第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课件

matlab课件
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命令与数学中的符号、公式非常接近, 可读性强,容易掌握。

MATLAB课件第一讲

MATLAB课件第一讲
save([file int2str(i)], [xstr int2str(i)]); end
这时得到了6个文件mfile1.mat~mfile6.mat, 分别保存x1~x6。这可通过load命令检验 :
clear, load mfile1 load mfile3 for i=1:6 load([‘mfile’ int2str(i)]) %读取所有6个的以mfile开头的.mat文件 end
tempdir
返回系统临时工作目录名
tempname 产生临时文件的唯一文件名
3.5: 启动和退出MATLAB
matlabrc startup quit
启动MATLAB的M文件 启动MATLAB的M文件 终止(退出)MATLAB
第一章: 练习
结合下列指令练习:
ver,help,disp,length,size,dir,cd,等
Practice !
第一章: MATLAB系统概述
3. 通用命令
1. 管理命令和函数 2. 管理变量和工作空间 3. 控制命令窗口 4. 使用文件和工作环境 5. 启动和退出MATLAB
第一章: MATLAB系统概述
3.1: 管理命令和函数
help
MATLAB函数和M文件的在线帮助
ver(version) 显示MathWorks产品的版本信息(MATLAB版本号)
1997年仲春,MATLAB5.0版问世,紧接着是5.1、5.2,以及和1999年春的5.3版 先如今已发展到MATLAB7.1,2008,2009版本
MATLAB基本组成
8个主要部分
➢工作空间中的变量
MM编AA程TT与LLAA数BB据数开类学发型函环数境库提绘供制一二组维读曲ggsprr写aae面ppc文ghh、r23a件➢➢➢➢dd三提提M p输开估处h的维供供A二三入算于发专T命曲许运维维L/、Mg业输A线令多算e图 图n文管图B出e数 所形 形编r件理形数a据 需程l的、的据类 的技执调目型 操术行试录作效M符率文件

第一讲 MATLAB语言概述

第一讲  MATLAB语言概述

1.1 MATLAB语言的发展

1984年,Little、Moler、Steve Bangert 合作,成立了MathWorks公司,并把 MATLAB正式推向市场。
内核采用C语言编写,而且除原有的数值 计算能力外,还新增了数据图视功能。

1.1 MATLAB语言的发展

MathWorks公司于1993年推出 MATLAB4.0版本,从此告别DOS版。
是一套高性能的数值计算和可视化数学 软件,“巨人肩上的工具 ” 优点:简洁、入门容易 难点:函数多。


1.2.1 起点高

每个变量代表一个数组(阵列) 每个元素都看作复数 所有运算都对复数数组有效 MATLAB自问世起,就以数值计算称雄 基本处理单位是复数数组 程序高度“向量化”,且易写易读
指令窗运行入门 指令窗操作要旨 历史指令窗口简介 当前目录和搜索路径 内存变量的查阅和删除 数据文件的存取 M脚本编写初步 MATLAB帮助方式概述
1.4.1 指令窗运行入门

学习MATLAB最基本的就是掌握指令窗的 操作
这一小节通过一些算例让大家对MATLAB 的使用方法有一个直观感受

1.4.1.1 指令窗简介

1.4.1.3 数值、变量和表达式
2.变量命名规则

变量名必须以字母开头,可以由字母、数字和 下划线组成,变量名中不能包含空格、运算符 和标点符号 变量名、函数名对字母大小写敏感


变量名的字符长度不应超过63个字符,第63个 字符之后的字符将被忽略
1.4.1.3 数值、变量和表达式
3.MATLAB默认的预定义变量

考核要求:不得缺勤,实验报告齐备

matlab 教学ppt第一讲

matlab 教学ppt第一讲
MATLAB for Engineers 2E, by Holly Moore. © 2009 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. This material is is protected by Copyright and written permission should be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photocopying, recording, or likewise. For information regarding permission(s), write to: Rights and Permissions Department, Pearson Education, Inc., Upper Saddle River, NJ 07458.
0
0.5

1
1.5
2
2.5
3
time, hour
• Numerical calculations
• Especially involving matrices
100
200
300
400
• Graphics • MATLAB stands for Matrix Laboratory
100 200 300 400 500
300
400
Easy to use Versatile Built in programming language Not a general purpose language like C++ or Java

matlab第一讲Matlab基础

matlab第一讲Matlab基础

名称 atanh acoth sech csch asech acsch
含义 反双曲正切 反双曲余切
双曲正割 双曲余割 反双曲正割 反双曲余割
sec
正割
acosh 反双曲余弦
50
指数函数
名称
含义
名称
含义
名称 含义
exp e为底的指数 log10 10为底的对数 pow2 2的幂
log
自然对数 log2 2为底的对数 sqrt 平方根
例:计算圆面积a =πr2 ,半径r = 2,则可键入 >> r=2; % 圆半径r = 2, >> a=pi*r^2; % 计算圆面积a >> a a= 12.5664
46
47
48
1.2.7 command window 中的常用键
↑键—显示前个命令 ↓键—显示后个命令 Esc键(←键、delete键)-取消输入 Ctrl+x—剪切 Ctrl+c—复制 Ctrl+v—粘贴
17
18
19
二维动画(彗星轨迹)
shg;n=10;t=n*pi*(0:0.0005:1);x=sin(t);y=cos(t); plot(x,y,'g');axis square;hold on comet(x,y,0.01);hold off
20
三维动画
clf;shg,x=3*pi*(-1:0.05:1);y=x;[X,Y]=meshgrid(x,y); R=sqrt(X.^2+Y.^2)+eps;Z=sin(R)./R; h=surf(X,Y,Z);colormap(jet);axis off n=12; for i=1:n rotate(h,[0 0 1],25); mmm(:,i)=getframe; end movie(mmm,5,10)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、MATLAB工作环境Command Window:(主要的工作界面)●>>在默认情况下,这个意思就是,你可以在这个地方输入函数命令和表达式进行运算和操作●Undock 窗口太多就会是我们觉得十分繁琐,所以matlab可以将某一个窗口独立开来●用户对命令窗口中的一些属性进行,设置Preference菜单项在matlab中的设置也是比较人性化,我们可以任意按自己的喜好调节字体风格、大小、颜色和数值计算结果的显示格式。

点击下拉列表比如我们可以选择format short格式,它表示在这个数据格式下,所输出的结果是小数点后保留4位,最多不超过7位;对于大于1000的实数,用5位小数的科学计数法表示。

设定好后,单击“OK”,这些设置立即生效,并且将这些设置永久保留下来,不会因MATLAB 的关闭和开启而改变。

Loose 结果之间有空格Compact 没空格在MATLAB中,数值计算的默认类型格式为双精度型(double),但数据的显示格式可以设置不同的格式。

●Number format(数据格式)Number display(数据显示),什么是数据显示方式呢,我们马上就会展示。

Preference(通用)附录1 数据显示格式设置例:对于数据格式的问题,我们也可以通过直接在command window输入指令来改变。

使用我们现在见到的第一个函数format 它可以实现数据格式Number format和数据显示方式Number display的改变与转换。

现在,我们就展示如下>>format compact>> format short>> pians =3.1416>> format loose>> pi,sqrt(2)ans =3.1416ans =1.4142Loose 结果之间有空格Compact 没空格Command History(保存在Command Window中执行过的命令)●按住“Ctrl”键,可选中Command History中一行或多行命令●“Evaluate Selection”完成对命令行的重新执行(或F9快捷键)●M文件(仅仅提及)Workspace Browser可以显示命令窗口中运行时产生的变量,能够详细显示所有的变量名、变量大小和字节数。

同时可以单击进行观察、编辑、提取和保存。

●图形绘制功能plot//more plot(向下的箭头)●数组编辑器(双击或选择Open Selection)数组编辑器中可以输入大量的数组●工作空间数据的保存Save Workspace//Open,Import Data(打钩即可)二、目录和文件管理●设置当前目录(Browser for folder)OR(Up one level)三、命令行帮助查询●help help●help funfun (显示帮助主题中的所有命令)●lookfor (查询某函数所属的文件)说明:最简单常用的便是help●Demo(帮助演示文件)在on this page 中选择所需学习的类型即可三、MATLAB计算介绍● 2.1 matlab 计算的介绍2.1.1数值计算1. 直接输入数值计算结果储存在临时变量ans中2. 定义变量%直接输入法计算(计算扇形的面积,半径为3,弧长为4)例:%直接输入法计算(计算扇形的面积,半径为3,弧长为4)>> 3*4/2ans =6>> %定义变量方法计算>> a=3;>> b=4;>> s=0.5*a*bs =6小技巧1:matlab会自动忽略变量或计算符号之间的空格,因此,可以在变量及计算符号之间添加空格以便阅读。

数学处理的优先级顺序help precedence2.1.2基本数学运算符号附录2 基本的数学运算符号例:>> A=[9 4 47 9 92 9 1];>> B=[8 1 63 5 74 9 2 ];>> c1=A*Bc1 =100 65 90119 133 12347 56 77>> c2=A.*Bc2 =72 4 2421 45 638 81 2>> d1=A./Bd1 =1.1250 4.0000 0.66672.3333 1.8000 1.28570.5000 1.0000 0.5000>> d2=A.\Bd2 =0.8889 0.2500 1.50000.4286 0.5556 0.77782.0000 1.0000 2.0000小结:带“.”的运算方法表示对矩阵元素进行运算。

对于矩阵而言右除是具有一般意义上的除法,左除具有对称意义即A./B=B.\A。

小技巧2:空格可以作为数组元素之间的分隔符2.1.4 命令窗口中的常用操作和编辑指令clc 清空命令窗口clear 清空工作空间中的变量clf 清空图形窗口quit 退出matlabsave 保存内存变量what 列出所在目录matlab文件which 定为matlab文件路径who 列出工作空间的变量whos 详细列出工作空间中的变量whoYour variables are:A AsBCDEF X Y Z ans idx>> whosName Size Bytes Class AttributesA 3x3 72 doubleAs 1x8 64 doubleB 3x2 48 doubleC 2x2 32 doubleD 9x1 72 doubleE 2x2 32 doubleF 2x2 32 doubleX 2x2 32 doubleY 2x2 32 doubleZ 2x2 32 doubleans 3x3 72 doubleidx 1x8 64 double>> whatMAT-files in the current folder E:\baiduyundownload\matlab ok\binmatlab matlab1● 2.2 数值、变量和表达式matlab中的命名规则:变量名对大小写敏感变量名必须以字母开头变量名最长可以有63个字符,之后的字符都将被省略注意:matlab中的某些关键字不能作为变量名称(但sin可以作为变量名称)Iskeyword查询所有的关键字isvarword系统预定义了一些变量(可以被命名,临时覆盖重启或clear可恢复)例如:ans、pi、inf、NaN、i或j等附录3● 2.3 数值数据类型一般定义好需要处理的数值数据类型才能很好地进行之后的编程操作2.3.1 整数整数的定义十分简单易懂整数int的数据类型一般分为8位16位32位和64位,不同的位数代表数据处理的宽度。

其中又分为有符号和没符号,区分便是在左边加一个u(int8 uint8).整型数据定义的举例%定义一个16位数值大小为20的数>> x1=int16(20)x1 =20%查询该种数据类型的上下限>> intmin('int16')ans =-32768>> intmax('int16')ans =32767%class函数可以获取所定义变量的数据类型>> class(x1)ans =int16整型数据运算举例a=int8([3 4 7 89]);>> b=int8([4 33 5 32]);>> a+bans =7 37 12 121a./bans =1 0 1 3说明:首先将整数元素作为双精度类型的数据进行计算,然后根据四舍五入原则得到整型数据相除的结果。

整型数据的转化(cast函数)>> b=[1 81 9 3 4]b =1 81 9 3 4>> class(b)ans =double>> c=cast(b,'uint16')c =1 81 9 3 4>> b+cError using +Integers can only be combined with integers of the same class, or scalar doubles.>> c+5ans =6 86 14 8 9>> class(ans)ans =uint16小结:不同类型的整型数据之间不能进行数学运算。

但是,matlab支持双精度标量和整型数据之间的数学运算,原因在于matlab将双精度类型的变量数据转化成整型数据在进行计算。

整型数据的溢出>> a=int8(234)a =127小结:饱和处理问题的方式处理,即将计算结果设定为溢出方向的上下线数值。

2.3.2 浮点数双精度类型(double)单精度(single)单精度和双精度的取值范围:realminrealmax单精度类型的浮点数的精度eps单双精度浮点数的数值范围和精度>> format compact>> realmin('single')ans =1.1755e-38>> realmax('single')ans =3.4028e+38>> realmin('double')ans =2.2251e-308>> realmax('double')ans =1.7977e+308>> epsans =2.2204e-16单精度数据创建及混合运算a=single([1 3 2 4 3 2 1])a =1 32 43 2 1>> b=[2 32 4 3 5 2 1]b =2 32 43 5 2 1>> class(a)ans =single>> class(b)ans =double>> a+bans =3 35 6 7 84 2>> class(ans)ans =single小结:单精度数据创建方法和整型数据创建方法相同。

对于单精度与双精度数据所做的混合型运算,处理据结果为单精度的数据结果。

特殊的双精度数(Inf NaN)>> 0.54325/0ans =Inf>> 0/0NaN●整型浮点数之间的操作进行不同数据类型变量的创建或数据之间的转化处理附录四2.3.4 复数matlab可以直接在复数域上进行计算,而不用任何特殊的操作●复数极坐标和直角坐标之间的转化real(z)计算复数的实部imag(z)计算复数的虚部abs(z)计算复数的模angle(z) 以弧度为单位给出读数的幅角(angle(z)*180/pi给出角度)例:●复数的表达和书写一般的表达形式>> z1=4+3iz1 =4.0000 + 3.0000i直角坐标>> z2=3+5*iz2 =3.0000 + 5.0000i极坐标>> z3=2*exp(ipi/3)Undefined function or variable 'ipi'.>> z3=2*exp(i*pi/3)z3 =1.0000 + 1.7321i>> %通过函数定义复数>> c0=complex(1,2)c0 =1.0000 +2.0000i>> %运算的到复数>> c1=sqrt(-2)c1 =0.0000 + 1.4142i复数的混合运算>> z=z1*z2/z3z =11.8074 + 8.5490i小技巧3:利用%来说明程序的功能●复数实部、虚部、模和幅角的计算3.0000 + 7.0000i>> abs(z)ans =7.61582.3.5常见的数学函数Fx图标● 2.4数组matlab一般把数组看做存贮和运算的基本单元●一维数组的创建之前其实已经了解到一种数组的创建方法那边是直接创建法,现在把一维数组的常见创建方法做了一定的归纳:1.直接生成方法(空格,逗号(生成的数组横向排列)和分号(生成的数组纵向排列))[5 4 3 4]ans =5 4 3 42.步长生成方法x=a:inc:b> x=1:2:5x =1 3 5>> x=1:2:4x =1 33.等间距线性生成方法x=linspace(a,b,n)在ab间线性采样n个数据点第一个是alinspace(4,10,4)ans =4 6 8 104. c=logspace(1,2,5) %在10^a and 10^b产生n-1(b−a)个点第一个是10^an−1c =10.0000 17.7828 31.6228 56.2341 100.0000●一维数组的访问>> m=linspace(1,10,10)m =1 2 3 4 5 6 7 8 9 10>> %索引访问数组元素>> m(5)ans =5>> %访问一块数据>> m(1:5)ans =1 2 3 4 5>> m(3:end)ans =3 4 5 6 7 8 9 10>> %构造访问数组>> m(1:2:7)ans =1 3 5 7>> %直接构造访问数组>> m([1 2 3 4 7])ans =1 2 3 4 7●一维数组的方向横排与竖排之间的转换>> n=[4+3i 53-7i 43 2 4];>> m=n' %转置共轭m =4.0000 - 3.0000i53.0000 + 7.0000i43.0000 + 0.0000i2.0000 + 0.0000i4.0000 + 0.0000i>> m=n.' %转置m =4.0000 + 3.0000i53.0000 - 7.0000i43.0000 + 0.0000i2.0000 + 0.0000i4.0000 + 0.0000i●多维数组的创建●二维数组1. 直接生成方法(同一行之间用逗号或分号连接,不同行之间用分后连接)%t通过一维数组创建方法来创建二维数组f=[1 2 3 44 3 6 81 2 3 78 9 0 3]f =1 2 3 44 3 6 81 2 3 78 9 0 3>> f=[1 2 3 4;4 3 6 8;1 2 3 7;8 9 0 3]f =1 2 3 44 3 6 81 2 3 78 9 0 3A=[1 2 3 4;linspace(0,5,4);1:2:7;3:6]A =1.00002.00003.00004.00000 1.6667 3.3333 5.00001.0000 3.0000 5.0000 7.00003.00004.00005.00006.00002. 使用Array editor来输入二维数组(点击New Variable创建图标,在workspace中右键后renamed命名)3. 大数据通过表格的形式输入,采用Import Data4. matlab中的其他函数三维数组行、列、页三维数组(矩阵)的创建1. 直接创建内置函数zeros(全零元素)(zaros(3)三行三列) ones(全1元素)rand randn>> %通过内置函数直接创建zeros(n行,n列,n页)>> A=zeros(3,4,2)A(:,:,1) =0 0 0 00 0 0 00 0 0 0A(:,:,2) =0 0 0 00 0 0 00 0 0 02. 通过索引的方法进行创建>> %通过直接索引的方法进行创建>> %通过创建二维数组来扩展>> B=zeros(2,3)B =0 0 00 0 0>> %向二维数组中添加二维数组来增加页>> B(:,:,2)=ones(2,3)B(:,:,1) =0 0 00 0 0B(:,:,2) =1 1 11 1 1>> %通过标量扩展得到三维数组的另外一页>> B(:,:,3)=4B(:,:,1) =0 0 00 0 0B(:,:,2) =1 1 11 1 1B(:,:,3) =4 4 44 4 43. 内置函数reshape或repmat将二维数组转换为三维数组reshape(A,2,9)将三页A数组合成二维数组reshape(C,2,3,3)将得到的二维数组重新生成三维数组repmat(A,[行,列,页])以A为基元resphape(结构体变换函数,交换前后函数的元素个数相等)>> B=zeros(2,3);B(:,:,2)=ones(2,3);B(:,:,3)=4B(:,:,1) =0 0 00 0 0B(:,:,2) =1 1 11 1 1B(:,:,3) =4 4 44 4 4>> %利用resphape函数扩展得到二维数组>> C=reshape(B,2,9)C =0 0 0 1 1 1 4 4 40 0 0 1 1 1 4 4 4 >> %直接扩展得到二维数组>> C=[B(:,:,1) B(:,:,2) B(:,:,3)]C =0 0 0 1 1 1 4 4 40 0 0 1 1 1 4 4 4 >> %将二维数组重新合成三维数组reshape(C,2,3,3)ans(:,:,1) =0 0 00 0 0ans(:,:,2) =1 1 11 1 1ans(:,:,3) =4 4 44 4 4%替换的转换方法>> reshape(C,3,2,3)ans(:,:,1) =0 00 00 0ans(:,:,2) =1 11 11 1ans(:,:,3) =4 44 44 4%repmat 方法创建三维数组>> D=ones(3,2)D =1 11 11 1repmat(数组复制生成函数)>> repmat(D,[1,2,3])(以D为基元复制1行2列3页)ans(:,:,1) =1 1 1 11 1 1 11 1 1 1ans(:,:,2) =1 1 1 11 1 1 11 1 1 1ans(:,:,3) =1 1 1 11 1 1 11 1 1 14. 使用cat函数将低维数组转换为高维数组使用cat函数可以在任意维度上合并数组>> X=zeros(2)X =0 00 0>> Y=ones(2)Y =1 11 1>> Z=repmat(2,2,2)(以2为基元复制2行2列)Z =2 22 2>> %在第三为维上合并数组>> cat(3,X,Y,Z)ans(:,:,1) =0 00 01 11 1ans(:,:,3) =2 22 2>> %在第二维上合并数组>> B=cat(2,X,Y,Z)B =0 0 1 1 2 20 0 1 1 2 2>> %在第一维上合并数组>> cat(1,X,Y,Z)ans =0 00 01 11 12 22 22.4.3 数组的运算数组与数组之间的运算数组与标量之间的运算举例从创建到运算的整个流程:A=[1 2;2 4];>> B=[3 4 ;6 2];>> C=A.*BC =3 812 8D =15 830 16>> E=A./BE =0.3333 0.50000.3333 2.0000>> F=A.\BF =3.0000 2.00003.0000 0.5000>> %矩阵运算>> A/Bans =0.5556 -0.11111.1111 -0.2222>> A\BWarning: Matrix is singular to working precision. ans =NaN -InfNaN Inf>> %矩阵乘方运算>> A^2ans =5 1010 20>> A^5ans =625 12501250 2500 >> A.^2ans =1 44 16>> A.^5ans =1 3232 1024对于除法的单独演示:A=[1 2;3 2];>> B=[2 4;1 3];>> C=A*BC =4 108 18>> C/Aans =5.5000 -0.50009.5000 -0.5000>> C/Bans =1 23 2>>A =3 4 323 4 25 6 7%矩阵求逆>> inv(A)ans =-0.26667 -2.7333 20.18333 2.3167 -1.50.033333 -0.033333 02.4.4 常用的标准数组Matlab中提供了一些常见的函数创建。

相关文档
最新文档