当前位置: 首页 > 知识库问答 >
问题:

repmat和/或转换到单例维度

董哲
2023-03-14
z = 1:5;
r = 3;
c = 3;

我正在寻找一个功能,给我:

ans(:, :, 1) =
    [ 1 1 1 ]
    [ 1 1 1 ]
    [ 1 1 1 ]

ans(:, :, 2) =
    [ 2 2 2 ]
    [ 2 2 2 ]
    [ 2 2 2 ]

...

ans(:, :, 5) =
    [ 5 5 5 ]
    [ 5 5 5 ]
    [ 5 5 5 ]

注意:执行类似

tmp = zeros(r,c,length(z));
tmp = repmat(z, 3, 3, 1);

不管用。相反,它返回一个15x15矩阵作为

tmp = 
[ 1:5, 1:5, 1:5 ]
[ 1:5, 1:5, 1:5 ]
[ 1:5, 1:5, 1:5 ]
z(1,1,:) = 1:5;

共有1个答案

羊舌富
2023-03-14

首先置换向量,使其成为单个3D向量,然后使用repmat:

z = permute(1:5, [1 3 2]);
r = 3; c = 3;
out = repmat(z, [r c]);

我们得到:

>> out

out(:,:,1) =

     1     1     1
     1     1     1
     1     1     1


out(:,:,2) =

     2     2     2
     2     2     2
     2     2     2


out(:,:,3) =

     3     3     3
     3     3     3
     3     3     3


out(:,:,4) =

     4     4     4
     4     4     4
     4     4     4


out(:,:,5) =

     5     5     5
     5     5     5
     5     5     5

prmute通过对输入向量的维度进行改组来工作。我们在这里做的是切换列值,以便它们出现在单个3D向量的切片中。然后,我们复制这个3D向量的行和列,因为您想要的。

z(1,1,:) = 1:5;
 类似资料:
  • 问题内容: 我想创建一个非常通用的实用程序方法,以获取任何Collection并将其转换为用户可选类的Collection,该类从Number扩展(Long,Double,Float,Integer等) 我想到了使用Google集合来转换集合并返回不可变列表的代码。 可以这样使用: 是我的代码过度杀伤力,还是您将如何简化它,同时又使其足够通用? 问题答案: 我认为这段代码最重要的方面是方法本身。我

  • 我有一个一维数组,它代表一个二维网格。行和列的数量是已知的。从“左上角”到“右下角”读取,因此第一项为R1C1,最后一项为RXCY(其中X=行编号,Y=列编号; 我的目标是翻转或旋转二维数组,并返回一个新的一维数组表示转换。 我尝试了按位操作,但无法让它与行/行计数可能是奇数或偶数的事实一起工作。我也尝试了迭代方法,但在逻辑杂草中迷失了方向。 一个最简单的javascript示例:9项数组中的3^

  • 问题内容: 我有一个无缘无故的多维数组 我想将此数组转换为这种形式 任何想法如何做到这一点? 问题答案: 假设此数组可能是(也可能不是)冗余嵌套,并且您不确定它的深度,可以为您展平它:

  • 我的代码如下。我需要从mongo db获得每次旅行的车费,然后将每次旅行的所有车费相加,得到总车费。我被一种我不知道如何阅读的单声道音乐所困扰。我试着把它转换成通量,但我得到了通量 "'

  • 本文向大家介绍python矩阵转换为一维数组的实例,包括了python矩阵转换为一维数组的实例的使用技巧和注意事项,需要的朋友参考一下 实例如下所示: 以上这篇python矩阵转换为一维数组的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 问题内容: 我在这里遇到以下问题:我得到了一个代表音频数据的字节块(uint16_t *),并且生成它们的设备正在捕获单声道声音,因此很明显,我在1通道上具有单声道音频数据。我需要将此数据传递到另一台设备,该设备需要交错的立体声数据(因此为2个通道)。我要做的基本上是复制数据中的1通道,以便立体声数据的两个通道都包含相同的字节。您能指出一个有效的算法吗? 谢谢,f。 问题答案: 如果只需要交错的立