Jos*_*eph 3 math matlab vector matrix octave
假设我想创建一个100x100矩阵,其中每行包含1-100个元素
A = [1:100; 1:100; 1:100... n]
Run Code Online (Sandbox Code Playgroud)
显然形成矩阵是一个坏主意,因为它会迫使我创建100行范围1:100.
我想我可以通过采用'ones'数组并将每一行乘以一个向量来实现...但我不知道该怎么做
a = (ones(100,100))*([])
Run Code Online (Sandbox Code Playgroud)
??
有小费吗?
您可以使用重复矩阵函数(repmat()).您的代码将如下所示:
A = repmat( 1:100, 100, 1 );
Run Code Online (Sandbox Code Playgroud)
这意味着你要重复第一个repmat100次垂直和一次水平的参数(即你将它保持水平).
您可以将100 1s的列向量与行向量相乘1:100.
ones(3,1)*(1:3)
ans =
1 2 3
1 2 3
1 2 3
Run Code Online (Sandbox Code Playgroud)
或者你可以使用repmat([编辑],因为Phonon在我之前写了几秒[/ edit]).