使用Matlab重塑矩阵

时间:2017-12-08 23:57:53

标签: matlab matrix reshape

我使用Matlab工作,我有一个400x400x3x3形状的矩阵。我需要将其重塑为1200x1200。我该怎么做?

我知道有一个名为reshape的命令,我尝试过使用它,但我遗漏了一些我没有看到的东西。

3 个答案:

答案 0 :(得分:2)

我猜你想要将尺寸1和3折叠成新的第一个尺寸,尺寸2和4折叠成新的第二个尺寸。

在这种情况下,您需要在permute之前reshape,以便折叠的尺寸一起出现:

x = rand(400, 400, 3, 3); % random data
y = reshape(permute(x, [1 3 2 4]), size(x,1)*size(x,3), size(x,2)*size(x,4));

答案 1 :(得分:0)

function calculate() {
    var savingsVal = (jQuery('#savingsVal').val());
    var totalSavings = 0;
    var regType = (jQuery('#reg-type').val());

    if (filterValues(savingsVal)) {
        totalSavings = savingsVal * 0.15 * 3 - regType * 3;
    }

    jQuery('#totalSavings').val('$' + totalSavings);
}


function filterValues(eVal) {
    return true;
}

jQuery('.results-area').hide();

jQuery('#calculator').submit(function(e) {
    e.preventDefault();
    calculate();
    jQuery('.results-area').show("slow");
    jQuery(this).text( jQuery(this).submit().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,") );
});

供官方参考,nomen omen。这是最直接的答案,但实际上有不同的方法取决于您希望如何构建数据。

答案 2 :(得分:-1)

不确定你缺少什么。请提供更多信息。

从你到目前为止所说的,它只是

reshapedA=reshape(A, [1200,1200]);