登录论坛

查看完整版本 : [MATLAB基础] 请大家解释一下:J=1:n;J=J(ones(n,1),:)的意思


zhouguoyi
2009-06-08, 11:03
如题,第二句的输出结果,颇感意外。请大虾解释一下

zhu_zhenggang
2009-06-10, 02:43
1: J=1:n 产生行矩阵,矩阵元素是1 到 n个自然数,矩阵大小是(1,n)
2 J=J(ones(n,1),:) 。 首先看ones(n,1) 返回大小为 (n,1)的 全部元素为1的矩阵,以此矩阵作为J矩阵的索引,导致J 矩阵有 n个行向量, 每个行向量就是原J 矩阵的行向量。 故此语句产生 (n,n)的矩阵, 每一行都是1到n个自然数的排列