数学建模社区-数学中国

标题: MATLAB®语言处理矩阵的基本技术和功能 [打印本页]

作者: 浅夏110    时间: 2018-6-11 15:21
标题: MATLAB®语言处理矩阵的基本技术和功能
基本矩阵操作试试这个例子
这个例子展示了用MATLAB®语言处理矩阵的基本技术和功能。
首先,我们创建一个包含9个元素的简单向量a。
a = [1 2 3 4 6 4 3 4 5]


a = 1×9     1 2 3 4 6 4 3 4 5


现在让我们将2添加到我们向量的每个元素a,并将结果存储在一个新的向量中。
请注意,MATLAB不需要特殊的矢量或矩阵数学处理。
b = a + 2


b = 1×9     3 4 5 6 8 6 5 6 7


在MATLAB中创建图形就像一个命令一样简单。让我们用网格线绘制矢量加法的结果。
样地(b)网格




MATLAB还可以制作其他图形类型,并带有轴标签。
杆(b)中xlabel('Sample#')ylabel('磅'




MATLAB也可以在图中使用符号。以下是使用星星标记点的示例。MATLAB提供了各种其他符号和线型。
情节(b,'*')轴([0 10 0 10])




MATLAB擅长的一个领域是矩阵计算。
创建矩阵与创建矢量一样简单,使用分号(;)分隔矩阵的行。
A = [1 2 0; 2 5 -1; 4 10 -1]


A = 3×3     1 2 0     2 5 -1     4 10 -1


我们可以很容易地找到矩阵的转置A。
B = A'


B = 3×3     1 2 4     2 5 10     0 -1 -1


现在我们将这两个矩阵相乘。
再次注意,MATLAB不要求你将矩阵作为一个数字集合来处理。MATLAB知道你何时处理矩阵并相应地调整你的计算。
C = A * B


C = 3×3     5 12 24    12 30 59    24 59 117


我们可以使用。*运算符乘以两个矩阵或向量的相应元素,而不是进行矩阵乘法。
C = A。* B


C = 3×3     1 4 0     4 25 -10     0 -10 1


我们用矩阵A来求解方程A * x = b。我们通过使用\(反斜杠)操作符来完成此操作。
b = [1; 3; 5]


b = 3×1     1     3     五


x = A \ b


x = 3×1     1     0    -1


现在我们可以证明A * x等于b。
r = A * x  -  b


r = 3×1     0     0     0


MATLAB几乎适用于所有类型的公共矩阵计算。
有功能可以获得特征值...
EIG(A)


ans = 3×1    3.7321    0.2679    1.0000


...以及奇异值。
SVD(A)


ans = 3×1   12.3171    0.5149    0.1577


“poly”函数生成一个包含特征多项式系数的向量。
矩阵的特征多项式A是




p =圆形(poly(A))


p = 1×4     1 -5 5 -1


我们可以很容易地找到使用该roots函数的多项式的根。
这些实际上是原始矩阵的特征值。
根(p)的


ans = 3×1    3.7321    1.0000    0.2679


除了矩阵计算之外,MATLAB还有许多应用。
将两个向量进行卷积...
q = conv(p,p)


q = 1×7     1 -10 35 -52 35 -10 1


...或再次卷积并绘制结果。
r = conv(p,q)


r = 1×10     1 -15 90 -278 480 -480 278 -90 15 -1


情节(R);




在任何时候,我们都可以使用whoor whos命令获取我们存储在内存中的变量列表。
谁是


  名称大小字节类属性  一个3x3 72双                B 3x3 72双                C 3x3 72双                一个1x9 72双                ans 3x1 24双                b 3x1 24双                p 1x4 32双                q 1x7 56双                r 1x10 80双                x 3x1 24双              


您可以通过输入其名称来获取特定变量的值。
一个


A = 3×3     1 2 0     2 5 -1     4 10 -1


通过用逗号或分号分隔每个语句,您可以在单行上使用多个语句。
如果您不指定变量来存储操作结果,则结果将存储在名为的临时变量中ans。
开方(-1)


ans = 0.0000 + 1.0000i



正如你所看到的,MATLAB在计算中很容易处理复数。



作者: 叶精灵    时间: 2018-6-12 01:10
占楼





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5