Matrice particolare help

di il
1 risposte

Matrice particolare help

Ciao a tutti,
sono nuovo sia del sito che di Matlab, sto scrivendo la tesi e ho questo tipo di matrice:

A = [a b 0; b a 0; 0 0 c]

Come faccio a scriverla in base ad un parametro K che mi definisce la grandezza della matrice?
Nel caso sopra sarebbe K = 3, un eventuale K = 4 la matrice dovrebbe diventare

A = [a b b 0; b a b 0; b b a 0; 0 0 0 c]

In pratica nella diagonale principale ho sempre a tranne che nell' ultimo dove ho c; tutto il resto è b tranne che l' ultima riga e colonna dove ho tutti 0 (tranne che nella diagonale principale dove ho appunto c).

Grazie per l' aiuto

1 Risposte

  • Re: Matrice particolare help

    Se ho capito il requisito, la matrice si può costruire nei 5 passaggi riportati nello script in calce.
    
    
    %
    % Inizializzazione valori dei parametri (a,b,c)
    %
    a=1;
    b=2;
    c=3;
    %
    % Definizione parametro "k"
    % 
    k=4;
    % 
    % Costruzione della matrice in 5 passi
    %
    % Passo 1: creazione della diagonale
    % 
    C=diag(ones(k,1)*a);
    %
    % Passo 2: assegnazione del valore "b" a tuttu gli elementi della matrice
    % tranne a quelli lungo la diagonale
    % 
    C(C == 0)=b;
    %
    % Passo 3: assegnazione del valore 0 a tutti gli elementi dell'ultima riga
    % tranne all'ultimo elemento
    % 
    C(end,1:end-1)=0;
    %
    % Passo 4: assegnazione del valore 0 a tutti gli elementi dell'ultima
    % colonna tranne all'ultimo elemento
    % 
    C(1:end-1,end)=0;
    %
    % Passo 5: assegnazione del valore "c" all'ultimo elemento della matrice
    % (ultima riga, ultima colonna)
    % 
    C(end,end)=c;
    
    
    Hope this helps.
Devi accedere o registrarti per scrivere nel forum
1 risposte