沿着对角线重复矩阵值

6次浏览(过去30天)
巴斯特
巴斯特 2021年9月13日
回答: 沃尔特·罗伯森 2021年9月13日
假设有一个矩阵a = 0 (9,9)我有贯穿整个矩阵的主对角线(和其他对角线)值为1。我怎么能让对角线跳过每一个说3个值。所以A(1,1) A(2,2)等于1而A(3,3)等于0 A(4,4) A(5,5)等于1 A(6,6)等于0。主要的问题是我必须这样做一个400x400矩阵或我只是硬编码这些值,但这将花费太长时间。所有这些都是在matlab中完成的。

答案(1)

沃尔特·罗伯森
沃尔特·罗伯森 2021年9月13日
N = 400;
temp = ones(1,N);Temp (3:3:end) = 0;
A(1:N+1:end) = temp;
在N能被模式长度整除的情况下,使用repmat(),例如
Pat = [11 10 0];
(pat, 1, N/length(pat))%适用于N = 399或402,但不适用于N = 400

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!

翻译的