Hur diagonaliserar man en matris och varför?
Ibland kan man se detta:
Vad menas egentligen? Varför skriver man på detta sätt? Jag vet vad matrisen C är. Resten vet jag inget av, förutom att matrisen A är en diagonalmatris.
Edit: Mitt mål är att räkna ut C av denna ekvation:
Där
Då är och och .
Så hela formlen ska bli:
Sida 22-6 http://www.colorado.edu/engineering/CAS/courses.d/Structures.d/IAST.Lect22.d/IAST.Lect22.pdf
Man gör ett linjärt variabelbyte för att få ett enklare system att lösa.
Det är ett ortogonalt basbyte där är basbytesmatrisen. Eftersom basbytet är ortogonalt så är .
Men jag förstår inte din fråga, du vet vad matrisen C är, men ditt mål är att räkna ut C? Om du vet vad C är, varför ska du räkna ut det?
Kollade på länken och blev inte mycket klokare, de pratar inte om att räkna ut C utan att använda antagandet att den är diagonal i modalkoordinater för att specificera den, är det det du frågar om? Eller är det rayleighprojektionen av en given modell du undrar över (för att göra den diagonal). Det är inte diagonalisering i matematisk mening utan att göra en approximation av C som är diagonal (i modalkoordinater).
Kanske är din fråga att om du har A, hur räknar du ut C? I så fall eftersom eftersom är ortonormal.
dioid skrev :Det är ett ortogonalt basbyte där är basbytesmatrisen. Eftersom basbytet är ortogonalt så är .
Men jag förstår inte din fråga, du vet vad matrisen C är, men ditt mål är att räkna ut C? Om du vet vad C är, varför ska du räkna ut det?
Kollade på länken och blev inte mycket klokare, de pratar inte om att räkna ut C utan att använda antagandet att den är diagonal i modalkoordinater för att specificera den, är det det du frågar om? Eller är det rayleighprojektionen av en given modell du undrar över (för att göra den diagonal). Det är inte diagonalisering i matematisk mening utan att göra en approximation av C som är diagonal (i modalkoordinater).
Kanske är din fråga att om du har A, hur räknar du ut C? I så fall eftersom eftersom är ortonormal.
Hej! Tack för svaret. Jag tänker utveckla det.
Vi kan säga att det är ett dämpat oscillerat system med två massor. En massa på 10 kg och en annan massa på 2 kg. Ena fjädern är på 40 N/m och andra är på 50 N/m.Antag att vi har detta system.
Då kan vill jag sätta värden på så dämpningen följer denna kurva på .
Då kan jag räkna ut egenfrekvensen igenom att använda mig av determinanten:
Då får jag:
Egenvektorerna räknar jag ut igenom att använda mig av
Då får jag:
Dessa tolkar jag som att massa 1 gungar ned med 4/5 eller (-5/4) meter och massa 2 gungar ned 1 meter om det är 4 rad/s i svängning?
Då kan jag väll säga att:
Eller om jag vill använda andra egenvektorn:
Nu är jag rätt vilsen:
1. Har jag gjort rätt?
2. Hur hittar jag ?
Henrik Eriksson skrev :Man gör ett linjärt variabelbyte för att få ett enklare system att lösa.
Hej Henrik!
Jag har gett ett exempel ovan. Jag har kommit en lång bit nu, men inte riktigt hittat dämpningen.
Hej igen! Nu gör jag ett försök till!
Jag har mina K och M matrisen och jag har
Då börjar jag räkna ut basbytematrisen
Enligt lAST.Lec19.pdf (Ändra 22 till 19) på hemsidan (se första post) på paragraf 19.3.3 så ska man göra så här(Euclidean length):
Och sedan nästa egenvärde:
Nu sätter jag ihop i basbytesmatrisen:
Jag säger att diagonalmatrisen av dämpningsmatrisen Cd är:
För att hitta den riktiga dämpningsmatrisen C så gör jag så här:
Viktig sida är sida är 22-10 i lAST.Lect22.pdf.
Men Jag ser ingen koppling mellan:
Så något är skumt här!
Det är fel värden i matriserna K och M. Det ska vara:
K = [9 -3; -3 3];
M = [2 0; 0 1];
Då stämmer det. Men C matrisen stämmer inte.
Det kommer inte bli exakt likhet eftersom den diagonala är en approximation till men det verkar vara lite väl stor skillnad på siffrorna för (1.56 eller 3.11). Såg att de föreslog normalisering med avseende på M, dvs använda i nämnaren istället för (Euklidisk), när du normerar egenvektorerna (ekv (22.3)). Det kanske ger rimligare svar?
dioid skrev :Det kommer inte bli exakt likhet eftersom den diagonala är en approximation till men det verkar vara lite väl stor skillnad på siffrorna för (1.56 eller 3.11). Såg att de föreslog normalisering med avseende på M, dvs använda i nämnaren istället för (Euklidisk), när du normerar egenvektorerna (ekv (22.3)). Det kanske ger rimligare svar?
Hej!
Diagonalmatriserna Cd och Cg är samma matris. Det är bara att i dokumenten som jag läser, så skrivs Cd som Cg. Det är matrisen C som jag söker.
Paragraf 19.3.3 så visar dokumentet hur man använder Euklidisk metod.
http://www.colorado.edu/engineering/CAS/courses.d/Structures.d/IAST.Lect19.d/IAST.Lect19.pdf
Men varför? Varför ska man göra om en egenvektor av ett system? Vad vill åstadkomma egnetligen att normalisera en egenvektor?
Paragraf 20.2.2 visar en tillämpning:
http://www.colorado.edu/engineering/CAS/courses.d/Structures.d/IAST.Lect20.d/IAST.Lect20.pdf
Jag har gjort en MATLAB/OCTAVE cod som visar mina beräkningar.
Jag kanske får anpassa mina fysikaliska val av dämpare efter vad dämpningsmatrisen C säger?
pkg load symbolic % OCTAVE endast
syms lambdaK = [9 -3; -3 3]; % Styvhetsmatris
M = [2 0; 0 1]; % Massmatris% Egenvärde - Egenfrekvens med lambda(1,1)
lambda = solve(det(K-lambda*M) == 0, lambda);% Räkna ut en egenvektor
U1 = null(double((K-lambda(1,1)*M)))
% Gör något skumt med denna egenvektor som jag inte vet varför?
U1 = 1/sqrt(U1'*U1)*U1;% Räkna ut en egenvektor med lambda(2,1)
U2 = null(double((K-lambda(2,1)*M)))
% Samma skumma metod igen...
U2 = 1/sqrt(U2'*U2)*U2;% Basbytesmatrisen
PHI = [U1 U2]% Diagonalmatrisen Cg
Cg = [2*0.7*sqrt(lambda(1,1)) 0; 0 2*0.7*sqrt(lambda(2,1))]% Räkna ut dämpningsmatrisen
C = inv(PHI')*Cg*inv(PHI);
% Visa endast decimaler.
C = vpa(C, 5)>> C = (sym 2×2 matrix)
⎡ 4.0008 -0.57155⎤
⎣-0.57155 1.7146 ⎦
Seriöst!
Finns det ingen metod för att dimensionera dämpning i ett system??????
Är inte tanken med diagonalisering att om man har flera ekvationer av:
Så kan man uttrycka dem i matrisform, där D är en vektor:
Om vi vet matris A och B, men inte C. Då ska man kunna skriva A, B och C på ett diagonalt sätt? Eller hur?
Min tanke är att man adderar ihop A och B så det blir AB. Sedan hittar man egenvärden för AB.
Och sedan hittar man egenvärden för AB.
Och då skapar man en basbytesmatris av egenvektorerna:
Och då kan man skriva om A + B + C = D så här:
Och då har man diagonaliserat alla matriser. Då kan man lösa ut vad C är för matris då C är diaognaliserad.
För att sedan få den riktiga C matrisen så gör man så här:
Eller?