matlab 数组和矩阵

在 MATLAB 中一般使用方括号“[ ]”、逗号“,”、空格号和分号“;”来创建数组,数组
中同一行的元素使用逗号或空格进行分隔,不同行之间用分号进行分隔。
例 3-1,创建空数组、行向量、列向量示例。
在命令行窗口中输入如下语句:

clear all 
A=[] 
B=[6 5 4 3 2 1] 
C=[6,5,4,3,2,1] 
D=[6;5;4;3;2;1] 
E=B' %转置

例 3-2,访问数组示例。

clear all 
A=[6 5 4 3 2 1] 
a1=A(1) %访问数组第一个元素;
a2=A(1:3) %访问数组第 123 个元素,冒号从第一个到第三个
a3=A(3:end) %访问数组第 3 个到最后一个元素 end 表示最后一个数组元素
a4=A(end:-1:1) %数组元素反序输出
a5=A([1 6]) %访问数组第 1 个及第 6 个元素

例 3-3,子数组的赋值(Assign)示例。
在命令行窗口中输入如下语句:

clear all 
A=[6 5 4 3 2 1] 
A(3) = 0  %将第三个元素改为0
A([1 4])=[1 1] 将第一个和第四个元素均改为1

1、通过冒号创建一维数组
X=A:step:B
其中,A 是创建一维数组的第一个变量,step 是每次递增或递减的数值,直到最后一个元素和 B 的差的绝对值小于等于 step 的绝对值为止。
例 3-4,通过冒号创建一维数组示例。
在命令行窗口中输入如下语句:

clear all 
A=2:6 %步长为1
B=2.1:1.5:6 %步长为1.5,递增,不超过6
C=2.1:-1.5:-6 %步长为1.5,递减,不低于-6
D=2.1:-1.5:6 

输出:

A = 2 3 4 5 6 
B = 2.1000 3.6000 5.1000 
C = 2.1000 0.6000 -0.9000 -2.4000 -3.9000 -5.4000 
D = Empty matrix: 1-by-0 

2.通过 logspace 函数创建一维数组
y= logspace(a,b):该函数创建行向量 y,第一个元素为 10的a次方 ,最后一个元素为10的b次方,形成总数为 50 个元素的等比数列。
y = logspace(a,b,n):该函数创建行向量 y,第一个元素为 10的a次方,最后一个元素为10的b次方,形成总数为 n 个元素的等比数列。
例 3-5,通过 logspace 函数创建一维数组示例。
在命令行窗口中输入如下语句:

clear all 
format short; % 小数点后四位
A=logspace(1,2,20) %总数为20的等比数列,公比约为1.2884
B=logspace(1,2,10) 

输出结果:

A = 10.0000 11.2884 12.7427 14.3845 16.2378 18.3298 20.6914 
 23.3572 26.3665 29.7635 33.5982 37.9269 42.8133 48.3293 
 54.5559 61.5848 69.5193 78.4760 88.5867 100.0000 
B = 10.0000 12.9155 16.6810 21.5443 27.8256 35.9381 46.4159 
 59.9484 77.4264 100.0000

3.通过 linspace 函数创建一维数组
y= linspace (a,b):该函数创建行向量 y,第一个元素为 a,最后一个元素为 b,形成总数为 100 个元素的线性间隔向量。
ly = linspace (a,b,n):该函数创建行向量 y,第一个元素为 a ,最后一个元素为 b,形成总数为 n 个元素的线性间隔向量
例 3-6,通过 linspace 函数创建一维数组示例。
在命令行窗口中输入如下语句:

clear all 
format short; 
A = linspace(1,100) %间隔默认 步长为1
B = linspace(1,36,12) %间步长为3.1818
C= linspace(1,36,1) %只有一个元素

输出结果:

A =113
     1     2     3     4     5     6     7     8     9    10    11    12    131426
    14    15    16    17    18    19    20    21    22    23    24    25    262739
    27    28    29    30    31    32    33    34    35    36    37    38    394052
    40    41    42    43    44    45    46    47    48    49    50    51    525365
    53    54    55    56    57    58    59    60    61    62    63    64    656678
    66    67    68    69    70    71    72    73    74    75    76    77    787991
    79    80    81    82    83    84    85    86    87    88    89    90    9192100
    92    93    94    95    96    97    98    99   100
B =17
    1.0000    4.1818    7.3636   10.5455   13.7273   16.9091   20.0909812
   23.2727   26.4545   29.6364   32.8182   36.0000
C =
    36

二、数组的常见运算
在 MATLAB 中,一维数组的基本运算包括加、减、乘、左除、右除和乘方。数组的加减运算:通过格式 A+B 或 A-B 可实现数组的加减运算。但是运算规则要求数组 A 和 B 的维数相同。
例 3-7,数组的加减运算示例。
在命令行窗口中输入如下语句:

clear all 
A=[1 5 6 8 9 6] 
B=[9 85 6 2 4 0] 
C=[1 1 1 1 1] 
D=A+B %加法
E=A-B %减法
F=A*2 
G=A+3 %数组与常数的加法
H=A-C 

数组的乘除运算:通过格式“.*”或“./”可实现数组的乘除运算。但是运算规则要求数组 A 和 B 的维数相同。
右除和左除的关系:A./B=B.\A,其中 A 是被除数,B 是除数。
例 3-8,数组的乘法示例。

clear all 
A=[1 5 6 8 9 6] 
B=[9 5 6 2 4 0] 
C=A.* B %数组的点乘
D=A * 3 %数组与常数的乘法

输出结果:

A = 1 5 6 8 9 6 
B = 9 5 6 2 4 0 
C = 9 25 36 16 36 0 
D = 3 15 18 24 27 18 

例 3-9,数组的除法示例。
在命令行窗口中输入如下语句:

clear all 
A=[1 5 6 8 9 6] 
B=[9 5 6 2 4 0] 
C=A.\B %数组和数组的左除
D=A./B %数组和数组的右除
E=A./3 %数组与常数的除法
F=A/3 

输出结果:

A = 1 5 6 8 9 6 
B = 9 5 6 2 4 0 
C = 9.0000 1.0000 1.0000 0.2500 0.4444 0 
D = 0.1111 1.0000 1.0000 4.0000 2.2500 Inf 
E = 0.3333 1.6667 2.0000 2.6667 3.0000 2.0000 
F = 0.3333 1.6667 2.0000 2.6667 3.0000 2.0000 

通过乘方格式“.^”实现数组的乘方运算。
例 3-10,数组的乘方示例。
在命令行窗口中输入如下语句:

clear all 
A=[1 5 6 8 9 6] 
B=[9 5 6 2 4 0] 
C=A.^B %数组的乘方
D=A.^3 %数组与某个具体数值的乘方
E=3.^A %常数与数组的乘方

输出结果:

A = 1 5 6 8 9 6 
B = 9 5 6 2 4 0 
C = 1 3125 46656 64 6561 1 %对应元素的乘方 
D = 1 125 216 512 729 216  %每个元素与该常数的乘方,常数为指数
E = 3 243 729 6561 19683 729 % 每个元素为指数

通过函数 **dot()**可实现数组的点积运算,也要求两个数组维数相同
C= dot(A,B)或 C = dot(A,B,dim)。
例 3-11,数组的点积示例。
在命令行窗口中输入如下语句:

clear all 

>> A=[1 2 3];
B=[4 5 6];
C=dot(A,B);
>> D=sum(A.*B)  %对应元素相乘在求和

输出结果:

D =

    32
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值