MATLAB - 生成具有值序列的向量

标签 matlab

给定两个参数:

n %number of repetitions per value
k %max value to repeat

我想创建一个大小为 n*k 的向量,它是 k 个大小为 n 的向量的串联,使得第 i 个向量在每个坐标处包含值 i。

示例:

n = 5;
k = 9;

期望的结果:

[1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9];

有没有一种优雅的方式来实现这一点?

谢谢!

最佳答案

有很多方法可以做到这一点:

方法一:

A=1:k
repelem(A',n,1)'

方法2:

A=1:k
kron(A', ones(n,1))'

方法3:

A=1:k
B=repmat(A, n, 1)
B(:)'

方法4:

A=1:k
B=ones(n,1)*A
B(:)'

关于MATLAB - 生成具有值序列的向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37723039/

相关文章:

Matlab : How to represent a real number as binary

matlab - 为 sublime 设置默认语法不起作用

MATLAB 显示存储在结构中的图形

c++ - mex 函数无法解析 eclipse

python - Matlab Engine Python - OSx Anaconda Segfault 或 iPython 的 DYLD_LIBRARY_PATH 错误

matlab - matlab 类方法上的 nargin 返回 -1

matlab - 在matlab中求解矩阵方程

python - MATLAB "The command is too long to execute"错误怎么办?

c# - 图像分析-纤维识别

matlab - 在 MATLAB 中将图像文件转换为 AVI 视频