Polinomi

vale1234561
Qualcuno mi sà dire come calcolare il polinomio caratteristico di una matrice in Matlab? Grazie e ciao

Risposte
david_e1
Questo funziona per matrici NON troppo grosse!

Questa funzioncina dovrebbe andare bene:

function [poli]=polimiocaratt(A)

k=size(A)

if k(1)!=k(2)
           disp('La matrice non e quadrata!')

else
           syms lambda
           poli=det(A-lambda*eye(k(1)))
end


Restituisce un polinomio simbolico in "lambda"

Marvin1
Ciao,sto iniziando a smanettare da poco con matlab.
Per il polinomio caratteristico c'è proprio il comando "poly":

poly(A)

restituisce direttamente i coefficienti del polinomio caratterisco della matrice A.

Marvin

david_e1
Mmm buono a sapersi! Sembra un comando utile! :-D

vale1234561
Grazie a tutti quelli che mi hanno risposto, ma forse mi ero dimenticata di scrivere che cerco una routine per calcolare il polinomio caratteristico di una matrice senza però usare nessuna funzione propria di matlab... Qualcuno mi ha suggerito i usare il metodo di Souriau, ma non riesco a trovarlo in internet... Qualuno sà aiutarmi? Ci stò perdendo la testa...

Marvin1
a questo punto credo che la funzione di david vada ad-hoc.

l'unico punto in cui utilizza una "funzione" (che poi è solo un comando)di matlab è nel creare la matrice identità (eye).

Altrimenti non saprei dirti..anche se sinceramente non trovo l'utilità di inventarsi una routine a parte per effettuare il calcolo quando esiste già un comando apposta.

Mi fa venire in mente quando al corso di Informatica ci insegnavamo a programmare i puntatori (sick!) quando al giorno d'oggi esistono migliaia di oggetti precompilati che svolgono la funzione richiesta.

Marvin

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.