从某些给定矩阵创建矩阵

时间:2019-09-22 21:41:40

标签: matlab matrix sparse-matrix

我有这个矩阵要实现。用户可以在其中定义尺寸值(p和N)。

matrix

在matlab中最有效的方法是什么?

1 个答案:

答案 0 :(得分:0)

假设您具有定义A(p)B(p)C(p)的功能,则可以按以下方式使用kron

F = @(N,p) kron(diag(ones(N,1)),A(p)) + ... 
           kron(diag(ones(N-1,1),1),B(p)) + ...
           kron(diag(ones(N-1,1),-1),C(p))

例如,如果

A = @(p) ones(p);
B = @(p) 2*ones(p);
C = @(p) 3*ones(p);



>> F(4,2)

ans =

 1     1     2     2     0     0     0     0
 1     1     2     2     0     0     0     0
 3     3     1     1     2     2     0     0
 3     3     1     1     2     2     0     0
 0     0     3     3     1     1     2     2
 0     0     3     3     1     1     2     2
 0     0     0     0     3     3     1     1
 0     0     0     0     3     3     1     1