Создать матрицу из некоторых заданных матриц - PullRequest
0 голосов
/ 23 сентября 2019

У меня есть эта матрица для реализации.Где пользователь определит значение измерений (p и N).

matrix

, что будет наиболее эффективным способом сделать это в Matlab.

1 Ответ

0 голосов
/ 23 сентября 2019

при условии, что у вас есть функция для определения 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
...