第3讲matlab_矩阵的创建
MATLAB中对矩阵的基本操作

MATLAB中对矩阵的基本操作在MATLAB中,可以对矩阵进行多种基本操作,包括创建矩阵、访问元素、改变矩阵的大小、插入和删除元素、矩阵的运算等。
以下是对这些操作的详细说明:1.创建矩阵:在MATLAB中,可以使用多种方式创建矩阵。
其中最常用的方式是使用方括号将元素排列成行或列,例如:```A=[1,2,3;4,5,6;7,8,9];```这将创建一个3x3的矩阵A,其元素为1到92.访问元素:可以使用括号和下标来访问矩阵中的元素。
下标从1开始计数。
例如,要访问矩阵A的第二行第三列的元素,可以使用以下代码:```A(2,3);```这将返回矩阵A的第二行第三列的元素。
3.改变矩阵的大小:可以使用函数如reshape和resize来改变矩阵的大小。
reshape函数可以将矩阵重新组织为不同的行和列数。
例如,以下代码使用reshape 将3x3的矩阵A重新组织为1x9的矩阵B:```B = reshape(A, 1, 9);```resize函数可以改变矩阵的大小,可以用来增加或减少矩阵的行和列数。
例如,以下代码将矩阵A的大小改变为2x6:```A = resize(A, 2, 6);```4.插入和删除元素:可以使用括号和下标来插入和删除矩阵中的元素。
例如,以下代码会在矩阵A的第二行的末尾插入一个元素10:```A(2, end+1) = 10;```同时,可以使用括号和下标来删除矩阵中的元素。
以下代码将删除矩阵A的第一行的第二个元素:```A(1,2)=[];```这将删除矩阵A的第一行的第二个元素。
5.矩阵的运算:-矩阵乘法:使用*符号进行矩阵乘法运算。
例如,以下代码将矩阵A 与矩阵B相乘:```C=A*B;```-矩阵加法和减法:使用+和-符号进行矩阵加法和减法运算。
例如,以下代码将矩阵A和矩阵B相加得到矩阵C:```C=A+B;```-矩阵转置:使用'符号进行矩阵的转置操作。
例如,以下代码将矩阵A转置:```B=A';```-矩阵相乘:使用.*符号进行矩阵的元素级相乘运算。
Matlab中的矩阵操作技巧指南

Matlab中的矩阵操作技巧指南在科学计算和数据处理中,矩阵操作是一个非常重要的环节。
Matlab作为一种功能强大的计算工具,提供了丰富的矩阵操作函数和技巧,帮助用户更高效地处理数据。
本文将为大家介绍一些在Matlab中常用的矩阵操作技巧,希望对广大Matlab用户有所帮助。
一、矩阵的创建和赋值在Matlab中,创建矩阵有多种方式。
可以使用数组、函数、特殊值或其他操作创建矩阵。
下面是一些常见的创建矩阵的方法。
1.1 使用数组创建矩阵使用数组创建矩阵是一种简单直观的方式。
可以通过一维或多维数组来创建矩阵。
```matlabA = [1, 2, 3; 4, 5, 6; 7, 8, 9] % 创建一个3x3的矩阵B = [1, 2, 3; 4, 5, 6] % 创建一个2x3的矩阵```1.2 使用函数创建矩阵除了使用数组,还可以使用Matlab提供的函数来创建矩阵。
常用的函数有zeros, ones, eye等。
```matlabC = zeros(3, 3) % 创建一个3x3的全零矩阵D = ones(2, 4) % 创建一个2x4的全一矩阵E = eye(5) % 创建一个5x5的单位矩阵```1.3 特殊值的矩阵Matlab中还提供了一些特殊值的矩阵,如全1矩阵、全0矩阵等。
```matlabF = ones(3, 3) % 创建一个3x3的全1矩阵G = zeros(2, 4) % 创建一个2x4的全0矩阵```二、矩阵的索引和切片在Matlab中,可以使用索引和切片操作来获取矩阵的元素或对矩阵进行切片操作。
2.1 矩阵的索引可以使用单个索引、行索引或列索引来获取矩阵的元素。
```matlabA = magic(3) % 创建一个3x3的魔方矩阵element = A(2, 3) % 获取第2行第3列的元素row = A(1, :) % 获取第1行的所有元素column = A(:, 2) % 获取第2列的所有元素```2.2 矩阵的切片可以使用切片操作来获取矩阵的子矩阵。
MATLAB中创建矩阵的方法

MATLAB中创建矩阵的方法在MATLAB中,有多种方法可以创建矩阵。
下面将介绍一些常用的方法。
1.通过直接输入矩阵元素创建矩阵:使用方括号[]来创建矩阵,输入元素时使用空格或逗号分隔行和列,例如:```A=[123;456;789]```这将创建一个3x3的矩阵A,其中的元素分别为1,2,3,4,5,6,7,8,92. 使用 zeros、ones 或 eye 函数创建特殊矩阵:- zeros 函数创建一个所有元素都为零的矩阵,语法为:```A = zeros(m, n)```其中m和n分别为矩阵的行数和列数。
- ones 函数创建一个所有元素都为 1 的矩阵,语法与 zeros 函数类似。
- eye 函数创建一个单位矩阵(对角线元素为 1,其他元素为 0),语法为:A = eye(n)```其中n为矩阵的维数。
3. 使用 linspace 或 logspace 函数创建等差或等比数列矩阵:- linspace 函数按照指定的起始值、终止值和元素个数创建等差数列矩阵,语法为:```A = linspace(start, end, n)```其中 start 和 end 分别为数列的起始值和终止值,n 为元素个数。
- logspace 函数按照指定的起始值、终止值、幂次和元素个数创建等比数列矩阵,语法为:```A = logspace(start, end, n)```其中 start 和 end 分别为数列的起始值和终止值,n 为元素个数。
4. 使用 rand 或 randn 函数创建随机数矩阵:- rand 函数创建一个元素值在 0 到 1 之间服从均匀分布的随机数矩阵,语法为:A = rand(m, n)```其中m和n分别为矩阵的行数和列数。
- randn 函数创建一个元素值服从标准正态分布的随机数矩阵,语法与 rand 函数类似。
5. 使用 repmat 函数复制矩阵:repmat 函数可以将一个矩阵重复复制扩展为更大的矩阵,语法为:```B = repmat(A, m, n)```其中A是需要复制的矩阵,m和n是复制的行数和列数。
MATLAB矩阵

MATLAB矩阵一、MATLAB矩阵的基本概念。
MATLAB矩阵是由数值或符号元素组成的二维数组,它是MATLAB中最基本的数据类型之一。
矩阵中的每个元素都有一个行索引和一个列索引,这样可以方便地对矩阵进行操作和计算。
在MATLAB中,矩阵的表示方式非常简单,只需要使用方括号将元素排列起来即可。
例如,一个3行2列的矩阵可以表示为:A = [1 2; 3 4; 5 6]这个矩阵中有6个元素,分别是1、2、3、4、5和6,它们按照从左到右、从上到下的顺序排列在一起。
在MATLAB中,矩阵的行数和列数分别可以通过size 函数来获取,这样可以方便地了解矩阵的大小和结构。
二、MATLAB矩阵的常见操作。
1. 创建矩阵。
在MATLAB中,可以通过直接输入元素的方式来创建矩阵,也可以通过一些特定的函数来生成特定类型的矩阵。
例如,可以使用zeros函数来创建全零矩阵,使用ones函数来创建全一矩阵,使用eye函数来创建单位矩阵等等。
这些函数可以帮助用户快速地生成需要的矩阵,提高工作效率。
2. 访问元素。
可以通过行索引和列索引来访问矩阵中的元素,也可以使用冒号操作符来访问矩阵的子集。
这样可以方便地获取矩阵中的特定元素或者子矩阵,进行进一步的计算和处理。
3. 矩阵运算。
MATLAB中支持矩阵的加法、减法、乘法、除法等基本运算,也支持矩阵的转置、逆矩阵、行列式等高级运算。
这些运算可以帮助用户进行各种复杂的数学计算和工程分析,解决实际问题。
4. 矩阵函数。
MATLAB中有许多内置的矩阵函数,可以对矩阵进行各种操作和变换。
例如,可以使用svd函数进行奇异值分解,使用eig函数进行特征值分解,使用inv函数求解逆矩阵等等。
这些函数可以帮助用户更方便地进行数学建模和数据处理。
三、MATLAB矩阵的实际应用。
1. 科学计算。
在科学研究中,经常需要对各种复杂的数学模型进行求解和分析,这时MATLAB矩阵就可以发挥重要作用。
例如,可以使用矩阵来表示线性方程组,然后通过矩阵运算来求解方程组的解。
matlab矩阵的创建方法

matlab矩阵的创建方法Matlab是一种强大的数学软件工具,广泛应用于科学和工程领域。
在Matlab中,矩阵是一种重要的数据结构,可以用来存储和处理数据。
本文将介绍几种常见的矩阵创建方法。
1. 直接赋值法最简单的方法是直接将数值赋给矩阵的元素。
例如,以下代码创建了一个3行2列的矩阵A,并将数值1、2、3、4、5、6依次赋给矩阵的每个元素。
```A = [1 2; 3 4; 5 6];```2. 使用特定值填充矩阵Matlab提供了一些内置的函数来创建特定值的矩阵。
例如,zeros 函数可以创建全零矩阵,ones函数可以创建全一矩阵,eye函数可以创建单位矩阵。
以下代码分别创建了一个3行3列的全零矩阵B,一个2行3列的全一矩阵C,以及一个4行4列的单位矩阵D。
```B = zeros(3, 3);C = ones(2, 3);D = eye(4);```3. 使用随机数填充矩阵在实际应用中,经常需要生成随机数填充矩阵。
Matlab提供了rand函数和randn函数来生成服从均匀分布和正态分布的随机数。
以下代码创建了一个4行5列的随机矩阵E,其中的元素都是服从均匀分布的随机数;创建了一个5行3列的随机矩阵F,其中的元素都是服从正态分布的随机数。
```E = rand(4, 5);F = randn(5, 3);```4. 使用递增或递减序列填充矩阵有时候需要创建一些递增或递减的序列矩阵。
Matlab提供了colon 函数和linspace函数来生成等差或等间隔的序列。
以下代码创建了一个从1到10的等差序列矩阵G,其中的元素依次递增1;创建了一个从0到1的等间隔序列矩阵H,其中的元素个数为6。
```G = 1:10;H = linspace(0, 1, 6);```5. 使用函数生成特定的矩阵除了上述方法外,Matlab还提供了一些函数来生成特定的矩阵。
例如,diag函数可以创建对角矩阵,repmat函数可以复制矩阵。
matlab中矩阵和向量的创建

matlab中矩阵和向量的创建1、向量的创建1)直接输⼊:⾏向量:a=[1,2,3,4,5]列向量:a=[1;2;3;4;5]2)⽤“:”⽣成向量a=J:K ⽣成的⾏向量是a=[J,J+1,…,K]a=J:D:K ⽣成⾏向量a=[J,J+D,…,J+m*D],m=fix((K-J)/D)3)函数linspace ⽤来⽣成数据按等差形式排列的⾏向量x=linspace(X1,X2):在X1和X2间⽣成100个线性分布的数据,相邻的两个数据的差保持不变。
构成等差数列。
x=linspace(X1,X2,n): 在X1和X2间⽣成n个线性分布的数据,相邻的两个数据的差保持不变。
构成等差数列。
4)函数logspace⽤来⽣成等⽐形式排列的⾏向量X=logspace(x1,x2) 在x1和x2之间⽣成50个对数等分数据的⾏向量。
构成等⽐数列,数列的第⼀项x(1)=10x1,x(50)=10x2X=logspace(x1,x2,n) 在x1和x2之间⽣成n个对数等分数据的⾏向量。
构成等⽐数列,数列的第⼀项x(1)=10x1,x(n)=10x2注:向量的的转置:x=(0,5)’2、矩阵的创建1)直接输⼊:将数据括在[]中,同⼀⾏的元素⽤空格或逗号隔开,每⼀⾏可以⽤回车或是分号结束。
如:a=[1,2,3;3,4,5],运⾏后:a =1 2 33 4 52)函数eye,⽣成单位矩阵eye(n) :⽣成n*n阶单位Eeye(m,n):⽣成m*n的矩阵E,对⾓线元素为1,其他为0eye(size(A)):⽣成⼀个矩阵A⼤⼩相同的单位矩阵eye(m,n,classname):对⾓线上⽣成的元素是1,数据类型⽤classname指定。
其数据类型可以是:duoble、single、int8、uint8、int16、uint16、int32、uint32 。
3)函数ones ⽤ones⽣成全1的矩阵ones(n) : ⽣成n*n的全1矩阵ones(m,n) : ⽣成m*n的全1矩阵ones(size(A)) : ⽣成与矩阵A⼤⼩相同的全1矩阵ones(m,n,p,…)⽣成m*n*p*….的全1的多维矩阵ones(m,n,…,classname)制定数据类型为classname4)函数zeros 函数zeros⽣成全0矩阵zeros(n):⽣成n*n的全0矩阵zeros(m,n:)⽣成m*n的全0矩阵zeros(size(A)): ⽣成与矩阵A⼤⼩相同的全0矩阵zeros (m,n,p,…)⽣成m*n*p*….的全0的多维矩阵zeros (m,n,…,classname)指定数据类型为classname5)函数rand 函数rand⽤来⽣成[0,1]之间均匀分布的随机函数,其调⽤格式是:Y=rand:⽣成⼀个随机数Y=rand(n):⽣成n*n的随机矩阵Y=rand(m,n):⽣成m*n的随机矩阵Y=rand(size(A)):⽣成与矩阵A⼤⼩相同的随机矩阵Y=rand(m,n,p,…):⽣成m*n*p*…的随机数多维数组6)函数randn 函数rand⽤来⽣成服从正态分布的随机函数,其调⽤格式是:Y=randn:⽣成⼀个服从标准正态分布的随机数Y=randn(n):⽣成n*n的服从标准正态分布的随机矩阵Y=randn(m,n):⽣成m*n的服从标准正态分布的随机矩阵Y=randn(size(A)):⽣成与矩阵A⼤⼩相同的服从标准正态分布的随机矩阵Y=randn(m,n,p,…):⽣成m*n*p*…的服从标准正态分布的随机数多维数组3、矩阵元素的提取与替换1)单个元素的提取如:a=[1,2,3;3,4,5],运⾏后:a =1 2 33 4 5输⼊b=a(1,2)b =22)提取矩阵中某⼀⾏的元素,如:a=[1,2,3;3,4,5],运⾏后:a =1 2 33 4 5输⼊b=a(1,:)b =1 2 33)提取矩阵中某⼀列:如:a=[1,2,3;3,4,5],运⾏后:a =1 2 33 4 5输⼊b=a(:,1)b =134)提取矩阵中的多⾏元素如:a=[1,2,3;3,4,5],运⾏后:a =1 2 33 4 5输⼊b=a([1,2],:)b =1 2 33 4 55)提取矩阵中的多列元素如:a=[1,2,3;3,4,5],运⾏后:a =1 2 33 4 5输⼊b=a(:,[1,3])b =1 33 56)提取矩阵中多⾏多列交叉点上的元素如:a=[1,2,3;3,4,5],运⾏后:a =1 2 33 4 5输⼊b=a([1,2],[1,3])b =1 33 57)单个元素的替换:如:a=[1,2,3;3,4,5],运⾏后:a =1 2 33 4 5输⼊:a(2,3)=-1a =1 2 33 4 -14、矩阵元素的重排和复制排列1)矩阵元素的重排B=reshape(A,m,n):返回的是⼀个m*n矩阵B,矩阵B的元素就是矩阵A的元素,若矩阵A的元素不是m*n个则提⽰错误。
matlab矩阵的生成方法

matlab矩阵的生成方法Matlab是一种重要的数学软件工具,广泛应用于科学计算、数据分析、图像处理等领域。
在Matlab中,矩阵是一种常见的数据结构,用于存储和处理多维数据。
本文将介绍几种常见的矩阵生成方法,帮助读者更好地理解和应用Matlab中的矩阵操作。
一、手动输入矩阵在Matlab中,我们可以通过手动输入元素的方式来生成矩阵。
可以使用方括号将元素组合成矩阵,并使用逗号或空格分隔不同行的元素。
例如,要生成一个3行2列的矩阵,可以使用如下代码:```matlabA = [1, 2;3, 4;5, 6];```二、生成全零矩阵在实际问题中,有时需要生成全零矩阵。
在Matlab中,可以使用`zeros`函数来生成指定大小的全零矩阵。
例如,要生成一个3行2列的全零矩阵,可以使用如下代码:```matlabA = zeros(3, 2);```三、生成全一矩阵与生成全零矩阵类似,生成全一矩阵也是一种常见的需求。
在Matlab中,可以使用`ones`函数来生成指定大小的全一矩阵。
例如,要生成一个2行3列的全一矩阵,可以使用如下代码:```matlabA = ones(2, 3);```四、生成对角矩阵对角矩阵是一种特殊的矩阵,除了主对角线上的元素外,其它元素都为零。
在Matlab中,可以使用`diag`函数来生成对角矩阵。
例如,要生成一个3行3列的对角矩阵,主对角线上的元素为1、2、3,可以使用如下代码:```matlabA = diag([1, 2, 3]);```五、生成随机矩阵在某些情况下,需要生成随机的矩阵。
在Matlab中,可以使用`rand`函数来生成指定大小的随机矩阵。
例如,要生成一个3行2列的随机矩阵,可以使用如下代码:```matlabA = rand(3, 2);```六、生成等差数列矩阵等差数列矩阵是一种特殊的矩阵,每一行都是一个等差数列。
在Matlab中,可以使用冒号操作符来生成等差数列,并通过重复该操作来生成矩阵。
如何在Matlab中创建矩阵

如何在Matlab中创建矩阵在Matlab中创建矩阵是一项基本的任务,它在数据处理和数学建模中起着重要的作用。
本文将介绍几种在Matlab中创建矩阵的方法,包括手动创建矩阵、使用内置函数和通过导入数据。
1. 手动创建矩阵手动创建矩阵是最常用的方法之一,它允许用户根据自己的需求定义矩阵的大小和内容。
在Matlab中,可以使用方括号和分号来定义矩阵的行和列。
例如,要创建一个3x3的矩阵,可以使用以下命令:A = [1, 2, 3; 4, 5, 6; 7, 8, 9];这将创建一个3行3列的矩阵A,其中元素依次为1到9。
可以通过显示矩阵来验证结果。
disp(A);2. 使用内置函数创建矩阵Matlab提供了许多内置函数用于创建常见类型的矩阵,这些函数可以简化矩阵的创建过程并节省时间。
下面介绍几个常用的内置函数。
2.1 zeros函数zeros函数可以创建一个全零矩阵。
语法如下:B = zeros(3, 4);这将创建一个3行4列的矩阵B,其中所有元素都为零。
2.2 ones函数ones函数可以创建一个全一矩阵。
语法如下:C = ones(2, 3);这将创建一个2行3列的矩阵C,其中所有元素都为一。
2.3 eye函数eye函数可以创建一个单位矩阵,也称为对角矩阵。
语法如下:D = eye(4);这将创建一个4行4列的单位矩阵D,其中对角线上的元素为一,其他元素为零。
3. 导入数据创建矩阵除了手动创建和使用内置函数创建矩阵外,Matlab还支持从外部文件导入数据创建矩阵。
这对于处理大型数据集特别有用。
3.1 导入文本文件可以使用`importdata`函数导入文本文件中的数据。
例如,要导入名为data.txt 的文本文件,其中包含一组数值,可以使用以下命令:data = importdata('data.txt');这将把文本文件中的数据导入到一个名为data的矩阵中。
3.2 导入Excel文件Matlab还支持导入Excel文件中的数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 3讲
2.2.2、创建一维数组变量
第一种方法:使用方括号“[ ]”操作符
【例2-1】创建数组(行向量)a=[1 3 pi 3+5i]
>>a=[1 3 pi 3+5*i] %or a=[1, 3, pi, 3+5*i] a= 1.0000 3.0000 3.1416 3.0000 + 5.0000i
可以修改指定数组元素的值 一次可以修改多个数组元素的值 要修改的数组元素的个数应与送入数组的元素个数 相同
2014-3-22
Matlab Language
16
4、数组元素的标识与寻访 (续)
【例4-3】二维数组元素与子数组的寻访与赋值
>>a_2=zeros(2, 4) %创建2x4的全0数组 a_2 = 0 0 0 0 0 0 0 0
【例2-3】键入并执行c=1:2:10和d=1:2:9 >> c=1:2:10
c=1 3 5 7 9Βιβλιοθήκη >>d=1:2:9
d= 1 3 5 7 9
利用冒号“:”操作符创建行向量的基本语法格式:
x=Start:Increment:End Start表示新向量x的第一个元素; 新向量x的最后一个元素不能大于End ; Increment可正可负,若负,则必须Start>End;若正,则必 须Start<End,否则创建的为空向量。 若Increment=1,则可简写为:x=Start:End。
>>a(2.1)
??? Subscript indices must either be real positive integers or logicals. 下标值只能取正整数或逻辑值
2014-3-22
Matlab Language
15
4、数组元素的标识与寻访 (续)
>>a(3)=0 %修改数组a的第3元素值为0 a= 1.0000 3.2500 0 7.7500 10.0000 >>a([2 5])=[1 1] a= 1.0000 1.0000 0 7.7500 1.0000
2014-3-22
Matlab Language
3
2.2.2、创建一维数组变量(续)
第三种方法:利用函数linspace
函数linspace的基本语法 x= linspace(x1, x2, n)
该函数生成一个由n个元素组成的行向量; x1为其第一个元素; x2为其最后一个元素; x1、x2之间元素的间隔=(x2-x1)/(n-1)。 如果忽略参数n,则系统默认生成100个元素的行向量。
ans = 1.0000 3.2500 5.5000 10.0000 10.0000 5.5000 3.2500 1.0000
数组元素可以被任意重复访问,构成长度大于原数组的 新数组。
>>a(6)
??? Index exceeds matrix dimensions. 下标值超出了数组的维数,导致错误
创建变量的赋值语句的一般格式
var=expression var为变量名 expression为MATLAB合法表达式 可以是单独的常数值或数值数组; 也可以由常数值、其他变量(部分或全部)、 数值数组和运算符(+、-等)构成。
【例2-7】键入并执行 a=[0 1+6]; b=[a 6 7]; c=[6 a 7]; d=[6 a 7 a];
【例4-3】一维数组元素与子数组的寻访与赋值 >>a=linspace(1,10,5)
a= 1.0000 3.2500 5.5000 7.7500 10.0000
>>a(3)
%寻访a的第3个元素
ans = 5.5000
>>a([1 2 5]) %寻访a的第1、2、5个元素组成的子数组
ans = 1.0000 3.2500 10.0000
【例2-4】键入并执行x= linspace(1,2,5) x=1.0000 1.2500 1.5000 1.7500 2.0000
同学们可以在实验时察看x= linspace(1,2)执行结果。
2014-3-22
Matlab Language
4
2.2.2、创建一维数组变量(续) 列向量的创建
所有的向量元素必须在操作符“[ ]”之内; 向量元素间用空格或英文的逗点“,”分开。
第二种方法:使用冒号“:”操作符
【例2-2】创建以1~10顺序排列整数为元素的行向量b。 >>b=1:10 b=1 2 3 4 5 6 7 8 9 10
2014-3-22
Matlab Language
2
2.2.2、创建一维数组变量(续)
>>a_2(:)=1:8
a_2 = 1 3 2 4 ans = 2 5
2014-3-22
5 6
7 8
注意元素的排列顺序
>>a_2([2 5 8])
8
%单下标方式寻访多个元素
Matlab Language
17
4、数组元素的标识与寻访 (续)
>> a_2([2 5 8]) =[10 20 30] a_2 = 1 3 20 7 10 4 6 30
2014-3-22
Matlab Language
9
2.2.3、创建二维数组变量(续)
【例3-5】 reshape的使用演示 >>a=-4:4
a= -4 -3 -2 -1 0 1 2 3 4
>>b=reshape(a, 3, 3)
b= -4 -1 2 -3 0 3 -2 1 4
数组元素的排列顺序,从上到下按列排列,先排 第一列,然后第二列,… 要求数组的元素总数不变。
a_2 = 1 1 1 7 10 6 7 30
>>a_2(:, end:-1:3)
ans = 7 1 30 1
>>a_2(end,[2:end-1])
What is the result?
2014-3-22
Matlab Language
19
4、数组元素的标识与寻访 (续)
【例4-4】 size、length函数 >>a=ones(4,6)*6 >>m=size(a) size函数返回变量的大小,即 >>len=length(a) 变量数组的行列数 >>b=1:5; length函数返回变量数组的最 >>length(b) 大维数 >>c=b‟ >>length(c)
“单下标”(linear index)标识
所谓“单下标”标识就是用一个下标来表明元素在数组的位置。 对于二维数组, “单下标”编号:设想把二维数组的所有列, 按先后顺序首尾相接排成“一维长列”,然后自上往下对元 素位置执行编号。
两种“下标”标识的变换:sub2ind、ind2sub
2014-3-22
2014-3-22
Matlab Language
22
5、多维数组 多维数组的定义
在 MATLAB 的数据类型中,向量可视为一维数组, 矩阵可视为二维数组,对于维数(Dimensions)超过2 的数组均可视为「多维数组」(Multidimesional Arrays,简称N-D Arrays)。
2014-3-22
Matlab Language
7
2.2.3、创建二维数组变量
第一种方法:使用方括号“[ ]”操作符
使用规则 数组元素必须在“[ ]”内键入; 行与行之间须用分号“;” 间隔,也可以在分行处用回车键 间隔; 行内元素用空格或逗号“,”间隔。 【例3-1】键入并执行a2=[1 2 3;4 5 6;7 8 9] a2= 1 2 3 4 5 6 7 8 9 【例3-2】键入并执行a2=[1:3;4:6;7:9] %结果同上
2014-3-22
Matlab Language
8
2.2.3、创建二维数组变量(续)
【例3-3】由向量构成二维数组。
>>a=[1 2 3]; b=[2 3 4]; >>c=[a;b]; >>c1=[a b];
第二种方法:函数方法
函数ones(生成全1矩阵)、zeros (生成全0矩阵) 、reshape “help elmat”获得基本的矩阵生成和操作函数列表 【例3-4】创建全1的3x3数组。 >>ones(3) 【例3-5】创建全1的3x4数组。 >>ones(3,4)
>>a_2(:,[2 3])=ones(2) %双下标方式寻访并修改
a_2 = 1 1 10 1
1 7 1 30
2014-3-22
二维数组可以“单下标”方式或“全下标”方式访问、赋 值; “单下标”方式赋值时,等号两边涉及的元素个数必须相 等; “全下标”方式赋值时,等号右边数组的大小必须等于原 数组中涉及元素构成的子数组的大小。
2014-3-22
Matlab Language
10
4、数组元素的标识与寻访 数组元素的标识
“全下标(index)”标识
经典数学教科书采用“全下标”标识法:每一维对应一个下标。 如对于二维数组,用“行下标和列下标”标识数组的元素, a(2,3)就表示二维数组a的“第2行第3列”的元素。 对于一维数组,用一个下标即可,b(2)表示一维数组b的第2个 元素,无论b是行向量还是列向量。
2014-3-22
Matlab Language