MATLAB入门教程-08:数组运算


输入:
	load datafile
	data
	density = data(:,2)
	v1 = data(:,3)
	v2 = data(:,4)
结果:
	data =
		3.0000    0.5300    4.0753    0.5000
	   18.0000    1.7800    6.6678    2.1328
	   19.0000    0.8600    1.5177    3.6852
	   20.0000    1.6000    3.6375    8.5389
	   21.0000    3.0000    4.7243   10.1570
	   23.0000    6.1100    9.0698    2.8739
	   38.0000    2.5400    5.3002    4.4508

	density =
		0.5300
		1.7800
		0.8600
		1.6000
		3.0000
		6.1100
		2.5400

	v1 =
	   4.0753
	   6.6678
	   1.5177
	   3.6375
	   4.7243
	   9.0698
	   5.3002

	v2 =
	   0.5000
	   2.1328
	   3.6852
	   8.5389
	  10.1570
	   2.8739
	   4.4508

一、数组与标量

1.1 加减

可以将一个数组与一个标量值相加,实际是与数组中的所有元素相加。

输入:
	r = v1 + 1
结果:
	r =
		5.0753
		7.6678
		2.5177
		4.6375
		5.7243
	   10.0698
		6.3002

1.2 乘除

以将数组中的所有元素与某个标量相乘或相除。

输入:
	va = vs/2
结果:
	va =
		2.2877
		4.4003
		2.6014
		6.0882
		7.4406
		5.9718
		4.8755

二、数组与数组

2.1 加减

可以将任意两个大小相同的数组相加。

输入:
	vs = v1 + v2
结果:
	vs =
		4.5753
		8.8006
		5.2029
	   12.1764
	   14.8813
	   11.9437
		9.7510

2.2 点乘

.* 运算符执行按元素乘法,允许您将两个大小相同的数组的对应元素相乘。

输入:
	mass = density .* va
结果:
	mass =
		1.2125
		7.8325
		2.2372
		9.7411
	   22.3220
	   36.4880
	   12.3838

还可以对其他具有兼容大小的数组执行运算。例如:

输入:
	x = [1,2;3,4;5,6;7,8].*[1;2;3;4]
结果:
	x =
		 1     2
		 6     8
		15    18
		28    32

补充:
* 运算符执行矩阵乘法。因此,如果使用 * 将两个大小相同的向量相乘,则会由于内部维度不一致而执行失败。


文章作者: 拿破仑940911
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 拿破仑940911 !
评论
  目录