【发布时间】:2011-05-10 11:10:57
【问题描述】:
假设我有一个数据集数组(来自统计工具箱):
>> myds
myds =
Observation SheepCount
1 88
2 2
3 14
4 12
5 40
我正在汇总来自各种来源的数据,因此我想在所有这些观察结果中将“位置”设置为 4,然后再将 vertcat 这个数据集与其他数据集放在一起。在普通矩阵中,您会说myds(:, 3) = 4,这会将 4 广播到矩阵中的所有空间中。
有没有办法在不使用repmat 的情况下对数据集执行此操作?
我尝试过但不起作用的方法:
myds(:, 'Location') = 4
myds(:).Location = 4
myds.Location(:) = 4
myds.Location = 4
有效的方法:
myds.Location = 4; myds.Location(:) = 4; % have to run both
myds.Location = repmat(4, length(myds), 1);
那么,我必须克服对repmat 的厌恶吗?谢谢。
edit:我想我真正想要的是避免指定 4 的数组的维度。
【问题讨论】: