Matlab sistema parametrico facile
Salve a tutti, ho un problemino con un esercizio riguardante la risoluzione di un sistema parametrico in matlab, ecco l'esercizio.
Ovviamente l'ho provato a risolvere e dovrebe essere tutto giusto MA sono molto dubbioso riguardante l'ultimo punto in particolarenon so come fare ad escludere i valori che rendono nullo il determinante. Non so che procedimenti usare o che comandi usare.
%ESERCIZIO:
% Si consideri il sistema Ax = b con
%A = [k 2 -k; 1 k 1 ; k 5 k ] con b = [ 0 0 0 ]'
% a) si trovino i valori ( o il valore) di k che rendono massimo il rango
% della matrice;
% b) si scrivano le soluzioni del sistema al variare del parametro k avendo
% escluso i valori che rendono nullo il determinante ( utilizzare il
% comando \)
%c)Scegliendo uno dei valori che rendono nullo il determinante di A,
%scrivere la soluzione del sistema associato urilizzando rref.
%d) calcolare la soluzione del sistema quando il vettore dei termini noti è
%b1 =[ 2 , k + 2 , 2k + 5 ]' , esculdendo i valori di k problematici. Cosa
%succede quando si considera un valore di k per cui il determinante di A
%è nullo? rispondere nei commenti.
%SVOLGIMENTO:
clc
clear all
syms k
A = [k , 2 , -k ; 1 , k , 1 ; k , 5 , k ];
b = [ 0 0 0 ]';
%a)
k0 = solve(det(A)); % ottengo come risultato 5^(1/2), -5^(1/2) , 0
% che sono i valori per il quale il mio determinante si annulla.
% Quindi rispondendo al punto (a) dico che i valori che rendono massimo il
% rango della matrice A sono tutti quei valori diversi dai tre trovati.
%b)
kzero = double (k0); % passo da variabile simbolica a numerica
xsol = A\b ; % i due metodi sono uguali, ed attengo come soluzione
% x = 0 , y = 0 , z = 0 .
xsol1 = rref ([ A , b ]);
%c)
A1 = subs ( A , k , kzero(1));
xsol2 = rref([ A1 , b ]); % vediamo che la soluzione è x,y,z = 0 .
%infatti otteniamo : 1 0 1 0
% 0 1 0 0
% 0 0 0 0
% che è un sistema con infinite soluzioni
%d)
% b1 = [ 2 , k + 2 , 2*k + 5 ]' % non capisco perchè mi da a cw b1 =
% 2
% conj(k) + 2
% 2*conj(k) + 5
% mi da conj perchè perchè matlab pensa che quei numeri siano complessi.
% allora scriverò :
b1 = [ 2 ; k + 2 ; 2 * k + 5 ]; % che va bene perchè ottengo% 2
% k + 2
% 2*k + 5
xsol3 = rref ([A1 , b1 ]) % ottengo un sistema impossibile. poiche ho
% considerato i valori di k per cui il DET si
% annulla.
b2 = subs ( b1 , k , kzero(1) ) % ho messo anche in b1 un valore di k che
% annulla il determinante
% MIA NOTA , DA NON CONSIDERARE.
% anche se può sembrare insensato, se ti chiede di escludere i valori di k
% problematici, risolverlo con rref. A detta del prof.
xsol4 = rref ([ A1 , b2 ]) % ottengo 1 0 1 2
% 0 1 0 1
% 0 0 0 0
% che è un sistema con infinite
% soluzioni.
Grazie a tutti quelli che mi aiuteranno e buona giornata.
Ultima questione, se io avessi una matrice quadrata, ed ho , matrice A poi vettore b e un vettore v e mi si chiede di verificare direttamente con il prodotto matrice vettore che il vettore v non è soluzione del vettore Ax = b come devo fare? io farei A^-1 * b = e mi deve dare il vettore v, se non me lo dà vuol dire che il sistema non ha risoluzione. giusto?
grazie
asso
Ovviamente l'ho provato a risolvere e dovrebe essere tutto giusto MA sono molto dubbioso riguardante l'ultimo punto in particolarenon so come fare ad escludere i valori che rendono nullo il determinante. Non so che procedimenti usare o che comandi usare.
%ESERCIZIO:
% Si consideri il sistema Ax = b con
%A = [k 2 -k; 1 k 1 ; k 5 k ] con b = [ 0 0 0 ]'
% a) si trovino i valori ( o il valore) di k che rendono massimo il rango
% della matrice;
% b) si scrivano le soluzioni del sistema al variare del parametro k avendo
% escluso i valori che rendono nullo il determinante ( utilizzare il
% comando \)
%c)Scegliendo uno dei valori che rendono nullo il determinante di A,
%scrivere la soluzione del sistema associato urilizzando rref.
%d) calcolare la soluzione del sistema quando il vettore dei termini noti è
%b1 =[ 2 , k + 2 , 2k + 5 ]' , esculdendo i valori di k problematici. Cosa
%succede quando si considera un valore di k per cui il determinante di A
%è nullo? rispondere nei commenti.
%SVOLGIMENTO:
clc
clear all
syms k
A = [k , 2 , -k ; 1 , k , 1 ; k , 5 , k ];
b = [ 0 0 0 ]';
%a)
k0 = solve(det(A)); % ottengo come risultato 5^(1/2), -5^(1/2) , 0
% che sono i valori per il quale il mio determinante si annulla.
% Quindi rispondendo al punto (a) dico che i valori che rendono massimo il
% rango della matrice A sono tutti quei valori diversi dai tre trovati.
%b)
kzero = double (k0); % passo da variabile simbolica a numerica
xsol = A\b ; % i due metodi sono uguali, ed attengo come soluzione
% x = 0 , y = 0 , z = 0 .
xsol1 = rref ([ A , b ]);
%c)
A1 = subs ( A , k , kzero(1));
xsol2 = rref([ A1 , b ]); % vediamo che la soluzione è x,y,z = 0 .
%infatti otteniamo : 1 0 1 0
% 0 1 0 0
% 0 0 0 0
% che è un sistema con infinite soluzioni
%d)
% b1 = [ 2 , k + 2 , 2*k + 5 ]' % non capisco perchè mi da a cw b1 =
% 2
% conj(k) + 2
% 2*conj(k) + 5
% mi da conj perchè perchè matlab pensa che quei numeri siano complessi.
% allora scriverò :
b1 = [ 2 ; k + 2 ; 2 * k + 5 ]; % che va bene perchè ottengo% 2
% k + 2
% 2*k + 5
xsol3 = rref ([A1 , b1 ]) % ottengo un sistema impossibile. poiche ho
% considerato i valori di k per cui il DET si
% annulla.
b2 = subs ( b1 , k , kzero(1) ) % ho messo anche in b1 un valore di k che
% annulla il determinante
% MIA NOTA , DA NON CONSIDERARE.
% anche se può sembrare insensato, se ti chiede di escludere i valori di k
% problematici, risolverlo con rref. A detta del prof.
xsol4 = rref ([ A1 , b2 ]) % ottengo 1 0 1 2
% 0 1 0 1
% 0 0 0 0
% che è un sistema con infinite
% soluzioni.
Grazie a tutti quelli che mi aiuteranno e buona giornata.
Ultima questione, se io avessi una matrice quadrata, ed ho , matrice A poi vettore b e un vettore v e mi si chiede di verificare direttamente con il prodotto matrice vettore che il vettore v non è soluzione del vettore Ax = b come devo fare? io farei A^-1 * b = e mi deve dare il vettore v, se non me lo dà vuol dire che il sistema non ha risoluzione. giusto?
grazie
asso