MATLAB学习第六天(向量)

简介: MATLAB学习第六天(向量)


目录

MATLAB向量

MATLAB 行向量:

MATLAB 列向量:

引用向量元素

MATLAB向量的加法和减法

详细例子

MATLAB标量向量乘法

详细例子

MATLAB转置向量

详细例子

MATLAB追加向量

详细例子

MATLAB向量的模

详细例子

MATLAB向量点积

详细例子

MATLAB等差元素向量

详细例子


MATLAB向量


我们可以创建两种 MATLAB 向量类型:

  • 行向量
  • 列向量


MATLAB 行向量:


创建行向量括在方括号中的元素的集合,用空格逗号分隔的元素。

r = [7 8 9 10 11]


执行上述语句,返回下述结果:

r =
       7              8              9             10        11


MATLAB 列向量:


创建列向量括在方括号中的元素的集合,使用分号来分隔的元素。

c = [7;  8;  9;  10; 11]


执行上述语句,返回下述结果:

c =
       7       
       8       
       9       
      10       
      11  


引用向量元素


可以参照的向量元素的几种方式中的一种或多种。ith 一个矢量v的分量被称为v(i)。

例如:

v = [ 1; 2; 3; 4; 5; 6];  % creating a column vector of 6 elements
v(3)


执行上述语句,返回下述结果:

ans =
     3 


当引用一个冒号,一个向量,其例如为v(:),该载体上的所有组件的被列出。

例如:

v = [ 1; 2; 3; 4; 5; 6];  % creating a column vector of 6 elements
v(:)


执行上述语句,返回下述结果:

ans =
     1
     2
     3
     4
     5
     6


MATLAB允许你选择一个范围从向量的元素。

在下面的例子中,我们创建了一个行向量rv 9个元素,我们将引用元素3至7写rv(3:7),并创建一个新的向量名为sub_rv。

rv = [1 2 3 4 5 6 7 8 9];
sub_rv = rv(3:7)


MATLAB将执行上面的语句,并返回以下结果:

sub_rv =
     3     4     5     6     7


MATLAB向量的加法和减法


在 MATLAB 中当进行两个向量的加法与减法的时候,这两个向量的元素必须有相同的类型和数量。


详细例子


MATLAB中创建一个脚本文件,代码如下:

A = [7, 11, 15, 23, 9];
B = [2, 5, 13, 16, 20];
C = A + B;
D = A - B;
disp(C);
disp(D);


运行该文件,产生下述结果:

9    16    28    39    29
5     6     2     7   -11


MATLAB标量向量乘法


MATLAB标量乘法:让一个数字乘以一个向量。

标量乘法会产生相同类型的新的一个向量,原先的向量的每个元素乘以数量。


详细例子


MATLAB中建立一个脚本文件,代码如下:

v = [ 12 34 10 8];
m = 5 * v


运行该文件,产生下述结果:

m =
    60   170    50    40


您可以执行所有的标量向量操作。例如,可以相加,相减分割标量向量。


MATLAB转置向量


MATLAB中转置操作能够将一个行向量改变成一个列向量,反之亦然。

MATLAB中转置操作使用一个单引号(')来表示。


详细例子

在MATLAB中建立一个脚本文件,输入下述代码:

r = [ 1 2 3 4 ];
tr = r';
v = [1;2;3;4];
tv = v';
disp(tr); disp(tv);


运行该文件,显示结果如下:

     1
     2
     3
     4
     1     2     3     4


MATLAB追加向量


MATLAB 允许在原有的向量中附加向量,共同创造新的向量。

如果有两个行向量 r1 和 r2 这两个行向量中各有 n 和 m 个元素,现在创建行向量 r 并将n和m个元素都放在行向量 r 中,通过附加这些载体,编写:

r = [r1,r2]


通过追加这两个向量,向量r2的,也可以建立一个矩阵R,矩阵的第二行编写如下:

r = [r1;r2]


要注意的是,要完成上述操作,上述两个载体中的元素的数量应该相同。

当然,可以附加两个列向量 c1 和 c2 的 n 和 m 的元素个数。要创建一个列向量 c 将 n 加 m 个元素放入其中,通过附加这些载体,编写:

c = [c1; c2]


还可以创建一个矩阵c追加这两个向量;向量c2将第二列的矩阵:

c = [c1, c2]

同样要注意,完成上述操作,上述两个载体中的元素的数量应该相同。


详细例子


在MATLAB中建立一个脚本文件,代码如下:

r1 = [ 1 2 3 4 ];
r2 = [5 6 7 8 ];
r = [r1,r2]
rMat = [r1;r2]
c1 = [ 1; 2; 3; 4 ];
c2 = [5; 6; 7; 8 ];
c = [c1; c2]
cMat = [c1,c2]


运行该文件,显示结果如下:

r =
     1     2     3     4     5     6     7     8
rMat =
     1     2     3     4
     5     6     7     8
c =
     1
     2
     3
     4
     5
     6
     7
     8
cMat =
     1     5
     2     6
     3     7
     4     8


MATLAB向量的模


向量 v 中的元素 v1, v2, v3, …, vn,下式给出其幅度:

|v| = √(v1^2 + v2^2 + v3^2 + … + vn^2)

MATLAB中需要采按照下述步骤进行向量的模的计算:


1.采取的矢量及自身的积,使用数组相乘(*)。这将产生一个向量sv,其元素是向量的元素的平方和V.

sv = v.*v;


2.使用求和函数得到 v。这也被称为矢量的点积向量的元素的平方的总和V.

dp= sum(sv);


3.使用sqrt函数得到的总和的平方根,这也是该矢量的大小V.

mag = sqrt(s);


详细例子


在MATLAB中建立一个脚本文件,代码如下:

v = [1: 2: 20];
sv = v.* v;     %the vector with elements 
                % as square of v's elements
dp = sum(sv);    % sum of squares -- the dot product
mag = sqrt(dp);  % magnitude
disp('Magnitude:'); disp(mag);


运行该文件,显示结果如下:

Magnitude:
   36.4692


MATLAB向量点积


MATLAB 中两个向量的点积 a = (a1, a2, …, an) and b = (b1, b2, …, bn) 由以下给定:

a.b = ∑(ai.bi)

下述函数可以计算两个向量 a 和 b 的点积:

dot(a, b);


详细例子

在MATLAB中建立一个脚本文件,代码如下:

v1 = [2 3 4];
v2 = [1 2 3];
dp = dot(v1, v2);
disp('Dot Product:'); disp(dp);


运行该文件,显示结果如下:

Dot Product:
    20


MATLAB等差元素向量


当一个向量中的元素过多,同时向量的各元素有等差的规律,此时采用直接输入法将过于繁琐。针对该种情况 ,可以使用冒号(:) 来生成等差元素向量。


在 MATLAB 中如何建立一个等差元素向量?解决方法如下。

要建立一个矢量 v 带的第一个元素 f,最后一个元素 l 和元素之间的区别是任何真正的数 n,可以这样写:

v = [f : n : l]


详细例子


在MATLAB中建立一个脚本文件,代码如下:

v = [1: 2: 20];
sqv = v.^2;
disp(v);disp(sqv);


运行该文件,显示结果如下:

1     3     5     7     9    11    13    15    17    19
1     9    25    49    81   121   169   225   289   361

目录
打赏
0
0
0
0
14
分享
相关文章
|
11月前
OFDM深入学习及MATLAB仿真(二)
OFDM深入学习及MATLAB仿真
434 1
|
11月前
|
matlab日常学习-------矩阵
matlab日常学习-------矩阵
105 0
MATLAB学习之旅:数据统计与分析
在MATLAB中,我们掌握了数据导入、处理及插值拟合等基础技能。接下来,我们将深入数据统计与分析领域,学习描述性统计量(如均值、标准差)、数据分布分析(如直方图、正态概率图)、数据排序与排名、数据匹配查找以及数据可视化(如箱线图、散点图)。这些工具帮助我们挖掘数据中的有价值信息,揭示数据的奥秘,为后续数据分析打下坚实基础。
MATLAB学习之旅:数据建模与仿真应用
在MATLAB的学习中,我们已掌握基础操作、数据处理与统计分析。接下来将进入数据建模与仿真应用阶段,学习如何构建和验证现实世界的模型。我们将从定义模型结构和参数入手,涵盖线性回归、动态系统建模等内容,并通过仿真和实际数据对比评估模型的准确性和可靠性。最终,这些技能将帮助我们在科学研究和工程应用中解决复杂问题。
|
6月前
|
MATLAB中的矩阵与向量运算
【10月更文挑战第2天】本文全面介绍了MATLAB中的矩阵与向量运算,包括基本操作、加减乘除、转置、逆矩阵、行列式及各种矩阵分解方法。通过丰富的代码示例,展示了如何利用矩阵运算解决线性方程组、最小二乘法拟合、动态系统模拟和电路分析等问题。掌握这些运算不仅提升编程效率,还能在工程计算和科学研究中发挥重要作用。
255 1
|
11月前
Matlab用向量误差修正VECM模型蒙特卡洛Monte Carlo预测债券利率时间序列和MMSE 预测
Matlab用向量误差修正VECM模型蒙特卡洛Monte Carlo预测债券利率时间序列和MMSE 预测

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等