我有一个大型的64x4x45x14维数。
我将其初始化为全零:
$(function() {
$('#dataTables-example tbody').on('click', 'tr', function() {
var name = $('td', this).eq(0).text();
$('#btnDeleteRow').click(function(e) {
alert('You are going to delete ' + name + '\'s row');
});
});
});
我有另一个维度为45x14的数组S_avg;
如果我这样做,为什么Matlab会出错?
Main = zeros(64,4,45,14);
答案 0 :(得分:1)
您可以使用squeeze
删除单身尺寸。
请改用此代码,
Main(chan_no,level,:,:) = squeeze(Main(chan_no,level,:,:)) + S_avg ;
原因是,
size(Main(chan_no,level,:,:)) = 1 1 45 14
虽然
size(S_avg) = 45 14
因此您会收到尺寸不匹配错误。
答案 1 :(得分:0)
你必须首先重塑矩阵S_avg,在这里试试
Main(chan_no,level,:,:) = Main(chan_no,level,:,:) + reshape(S_avg, 1, 1, size(S_avg, 1), size(S_avg, 2)) ;
或者如果您确定知道S_avg的大小
Main(chan_no,level,:,:) = Main(chan_no,level,:,:) + reshape(S_avg, 1, 1, 45, 14) ;