在matlab中生成向量

use*_*799 -2 matlab

我想生成一个看起来像这样的向量:[1,0,0 ...... 0,1],但我不知道如何在不使用for的情况下做到这一点.我可以生成各种矩阵格式,但是这个我无法弄清楚应该怎么做.

kar*_*kfa 6

覆盖相应大小的零向量.

x=zeros(1,n);
x(1)=1; x(n)=1;
Run Code Online (Sandbox Code Playgroud)

  • 如果之前没有创建`x`,那么你实际上可以只使用第二行代码.这是一个大多数人都不知道的无证的MATLAB技巧(显然是因为它没有记录),并且已知在计算方面节省时间.您可以通过查看此StackOverflow帖子找到更多相关信息:http://stackoverflow.com/questions/14169222/faster-way-to-initialize-arrays-via-empty-matrix-multiplication-matlab.无论哪种方式,+ 1. (6认同)
  • @Crowley要做什么? (2认同)
  • @Crowley我认为excaza意味着说这些函数如何适用于这个特定问题.鉴于当前问题的背景,该声明本身尚不清楚.它意味着您应该查看这些函数,以便在OP不必要时生成所需的向量.你也许可以使用`nan`和`ones`生成所需的向量,但是`cell`和`deal`是非常不必要的.您可能应该添加一条注释,说明您应该查看这些函数以改进您对MATLAB的理解. (2认同)