Column of matrices for arbitrary N.

2 vues (au cours des 30 derniers jours)
Mike Leijten
Mike Leijten le 6 Fév 2020
Réponse apportée : Hank le 6 Fév 2020
Hi,
I need to construct the vector of A matrix powers (called Phi) and the matrix of B AB (called Gamma) etc.
I'm not good at programming and I have been struggling with it for a while now.
Capture.PNG
The script i have made and the output is shown below:
A matrix of zeros is created and then correctly filled with the corresponding values from the variable "test". But I actually want to make the column [A ; A^2 ; ..... ; A^N] for an arbitrary N.
But as soon as I program A^N for N = 1:3 only the last output is shown.
Any help is greatly appreciated.

Réponse acceptée

Hank
Hank le 6 Fév 2020
Hi Mike.
The way you're building phi is creating a matrix, not a vector, since zeros(m,n) creates an mxn matrix.
I think this is what you're trying to do
function [Gamma,phi] = GAMMA(A,B,N)
% A and B are a scalar
phi = A.^(1:N)'; % raises A to powers 1,2,3,...N, creates a column vector
Gamma = diag( B * ones(N,1) ); % create gamma, a diagonal matrix of B
for i=1:N
for j=1:i-1
Gamma(i,j) = B * phi(i-j); % element i-j is A^(i-j)
end
end
end
I tested this with [gam,phi] = GAMMA(2,1,5);
Seems to work alright.

Plus de réponses (0)

Catégories

En savoir plus sur Particle & Nuclear Physics dans Help Center et File Exchange

Tags

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by