1. 高维数据的概念
一般编程中用到最多的数据是常量、变量和数组,而在科学计算和各类算法中(例如推荐算法或图像处理算法),处理的数据对象往往是高维数据. 所以对高维数据的理解和使用就显得尤为重要.
从左到右依次是, 标量, 1行3列数组, 3行1列数组, 2行3列数组, 2行3列2通道张量. 它们的维度分别是 1x1 1x3 3x1 2x3 2x3x2
v1 = 1;
v1x3 = [1, 1, 1];
v3x1 = [1; 1; 1];
v2x3 = [1, 1, 1; 2, 2, 2];
v2x3x2(:, :, 1) = v2x3;
v2x3x2(:, :, 2) = v2x3 + 2;
size(v1)
size(v1x3)
size(v3x1)
size(v2x3)
size(v2x3x2)
测试结果:
注意:
matlab默认将1维数据按照1x1的二维数据处理
size()函数可以计算输入数据的维度
2. 常用的数据初始化方法
2.1 直接赋值
valA = [1, 2, 3, 4] % 1x4 数组(向量)
valB = [1; 2; 3; 4] % 4x1 数组(向量)
valC = [valA, valA] % 1x8 数组(矩阵)
valD = [valA; valA] % 2x4 数组(矩阵)
matlab使用%进行注释, 多行注释使用 ctrl + / , 取消注释使用 ctrl + t
2.2 生成动态长度数组
x = 1:2:10 % 生成 [1 3 5 7 9] 数组
% 格式为:
% 起始 : 间隔 : 结束
2.3 内置函数初始化
o = ones(3,3) % 生成 3 x 3 矩阵,用1进行填充
z = zeros(3,3) % 生成 3 x 3 矩阵, 用0进行填充
e = eye(3,3) % 生成 3 x 3 单位矩阵
测试结果:
欢迎交流