gpt4 book ai didi

Matlab 创建矢量化序列

转载 作者:太空宇宙 更新时间:2023-11-03 19:38:49 24 4
gpt4 key购买 nike

我想构造一个接受输入n并给出向量的函数

[n n-1 n-2 ... n-n, n-1 n-2 ... n-n, ..., n-n]

//Example
input : n=3
output : [3 2 1 0 2 1 0 1 0 0]

我知道如何使用循环来完成此操作,但我正在寻找一种在 MATLAB 中执行此操作的巧妙方法

最佳答案

您可以使用repmat 将矩阵重复几次,然后通过tril 只选择三角形部分。像这样:

n=3;
x=repmat(n:-1:0,1,n+1);
result=x(tril(ones(n+1))>0)

或者在一行中:

n=3;
getfield(repmat(n:-1:0,1,n+1),{reshape(tril(ones(n+1))>0,1,(n+1)^2)})

此函数的结果是所需的输出:

result =

3 2 1 0 2 1 0 1 0 0

关于Matlab 创建矢量化序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21603576/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com