8 svar
211 visningar
Becky 69
Postad: 28 okt 2022 16:15

Icke linjärt ekvationssystem med minstakvadratmetoden

Jag behöver lösa följande ekvationssystem med minstakvadratmetoden, men ekvationssystemet är icke linjärt och jag måste linjärisera det först, hur ska jag gå till väga? 

 

AlvinB 4014
Postad: 28 okt 2022 21:08

Ett ganska vanligt sätt att linjärisera ekvationer är att logaritmera dem. Har du prövat det?

Becky 69
Postad: 28 okt 2022 23:40

Jag har använt naturliga logaritmen i andra uppgifter, men nu när basen inte är e, så funderade jag på att använda log istället men jag blev bara förvirrad för att basen i ekvationerna är olika

AlvinB 4014
Postad: 29 okt 2022 11:37 Redigerad: 29 okt 2022 11:37

Det viktiga är egentligen att logaritmlagarna gäller - och det gör de för alla logaritmer oavsett bas. Det spelar alltså ingen roll om du använder den naturliga logaritmen, tiologaritmen eller logaritmen i vilken annan bas som helst.

Jag visar med den första ekvationen, så ser du kanske hur det funkar.

a·150b=6a\cdot150^b=6

ln(a·150b)=ln(6)\ln(a\cdot150^b)=\ln(6)

ln(a)+ln(150b)=ln(6)\ln(a)+\ln(150^b)=\ln(6)

ln(a)+b·ln(150)=ln(6)\ln(a)+b\cdot\ln(150)=\ln(6)

Detta är en linjär ekvation i ln(a)\ln(a) och bb. Gör du på samma sätt med övriga ekvationer kommer du också få linjära ekvationer i ln(a)\ln(a) och bb. Detta linjära ekvationssystem kan du sedan tillämpa minstakvadratmetoden på och få ut en approximativ lösning på ln(a)\ln(a) och bb

Becky 69
Postad: 29 okt 2022 11:46 Redigerad: 29 okt 2022 11:47

Tack för hjälpen!
Jag testade att lösa det och kom fram till detta. Men när jag kodar in allt i matlab för att få fram värden på de okända variablerna så får jag ett felmeddelande 

AlvinB 4014
Postad: 29 okt 2022 12:06 Redigerad: 29 okt 2022 12:10

Pröva ta bort semikolonen efter dina matriser A2 och b2 (och kanske även a_streck och U) så att du ser hur de ser ut. Är de verkligen så du vill ha dem?

Stryk det. Jag såg inte dina apostrofer som transponerade vektorerna.

Så här: Du har ju ställt upp rätt ekvationssystem, men nu försöker du ju lösa det som vanligt (inte med minsta kvadratmetoden), och det går ju inte eftersom systemet är överbestämt!

Du måste lösa det med minstakvadratmetoden.

Becky 69
Postad: 29 okt 2022 12:14

Vi har lärt oss att matlab automatiskt löser ett överbestämt ekvationssystem med minstakvadratmetoden när man använder \ 

 

kan felmeddelandet ha att göra med att ln 0 är odefinierat? 

AlvinB 4014
Postad: 29 okt 2022 12:17 Redigerad: 29 okt 2022 12:18
Becky skrev:

Vi har lärt oss att matlab automatiskt löser ett överbestämt ekvationssystem med minstakvadratmetoden när man använder \ 

 

kan felmeddelandet ha att göra med att ln 0 är odefinierat? 

Javisst! Du har rätt och jag har fel.

Det har att göra med (,8)(\infty,8)-punkten. Ta bort den så löser det sig perfekt med din metod.

Gällande den skulle jag tänka så här:

Ekvationen 8-a·b=88-a\cdot\infty^b=8 gäller ju alltid så länge bb är negativt. Så länge bb är negativt kan du därför strunta i den ekvationen.

Becky 69
Postad: 29 okt 2022 12:19

Tack så mycket för hjälpen!!

Svara
Close