如果我不必担心意外的二维操作,那么能帮助我更好地理解我的MATLAB代码。例如,如果我想要对一维数组执行逐元素乘法,但一个是行向量,另一个是列向量,我最终得到的是一个二维结果。
我希望尽可能保持所有数组为一维,以避免这种情况及其他我无法预见的问题。但每次检查向量的
>> a = 1:8;
>> a = a(:);
>> a .* cumsum(ones(8))
ans =
1 1 1 1 1 1 1 1
4 4 4 4 4 4 4 4
9 9 9 9 9 9 9 9
16 16 16 16 16 16 16 16
25 25 25 25 25 25 25 25
36 36 36 36 36 36 36 36
49 49 49 49 49 49 49 49
64 64 64 64 64 64 64 64
我希望尽可能保持所有数组为一维,以避免这种情况及其他我无法预见的问题。但每次检查向量的
size() 时,至少会返回2个元素:
>> size(1:1:6)
ans =
1 6
>> size(linspace(0, 5, 10))
ans =
1 10
我尝试了在如何在matlab中创建单维数组?上的建议以及一些选项 这里(PDF下载),但我不能得到“真正”的一维数组。您如何处理这种类型的问题?
cumsum(ones(8))
不是一列数据。 - Sardar Usama