Antworte auf:  Lineare Ausgleichsrechnung und Normalgleichung von s-amalgh
Forum:  Matlab, moderiert von: mire2

[Zur Forum-Gliederung] [Wie man Fragen beantwortet] [Themenstart einblenden]

  Alle registrierten Mitglieder können Mitteilungen schreiben.
Benutzername:
Passwort:
Nachricht-Icon:                   
                  
              
Nachricht:


 

Erledigt J


Input assistance tools (JavaScript): [Link extern intern] [MathML?] [$$?]
[fed-area] [LaTeX-inline] [LaTeX-display] [Tikz] [hide-area][show-area] [Source code [num.]][?]
 Show Preview      Write using fedgeo formula editor or Latex.

Smilies for your message:
😃 😄 😁 🙂 🙃 😉 🤗 🤫 🤔 🙄 😴 🤒 😎 😮 😲 😂
🙁 😖 😒 😐 😡 👌 👍 👎 🤢 🤧 🥵 🥶 😵 🤯 😛 😷
Optionen: Deaktiviere HTML in dieser Nachricht
Deaktiviere MATHML in dieser Nachricht. Wenn Dein Text $-Zeichen enthält, die nicht LaTeX-Formeln begrenzen.
Deaktiviere Smilies in dieser Nachricht
Zeige die Signatur (Kann in 'Mein Profil' editiert werden.)
    [Abbrechen]
 
Beachte bitte die [Forumregeln]


Themenübersicht
s-amalgh
Aktiv
Dabei seit: 16.12.2020
Mitteilungen: 103
 Beitrag No.12, eingetragen 2021-05-30 17:46    [Diesen Beitrag zitieren]

Hi Kitaktus, könntest du mir bitte dabei helfen?
LinkPolynominterpolation mit Lagrange-Polynomen
Danke im Voraus! :)


s-amalgh
Aktiv
Dabei seit: 16.12.2020
Mitteilungen: 103
 Beitrag No.11, eingetragen 2021-05-20 03:36    [Diesen Beitrag zitieren]

Danke für deine tolle Hilfe! :))


Kitaktus
Senior
Dabei seit: 11.09.2008
Mitteilungen: 6878
Wohnort: Niedersachsen

 Beitrag No.10, eingetragen 2021-05-20 03:36    [Diesen Beitrag zitieren]

Ja, so würde ich das machen.


s-amalgh
Aktiv
Dabei seit: 16.12.2020
Mitteilungen: 103
 Beitrag No.9, eingetragen 2021-05-19 20:45    [Diesen Beitrag zitieren]

Wie ich verstanden habe, soll ich dann so schreiben :
MATLAB
 % Residuum berechnen
  r = b - A*x;        %Für das Geschlecht m von Ausgleichsgerade
  r1 = b1 - A*x1;     %Für das Geschlecht w von Ausgleichsgerade
  r2 = b2 - B*z;      %Für das Geschlecht m von Ausgleichsparabel
  r3 = b3 - B*z1;     %Für das Geschlecht w von Ausgleichsparabel
 
 norm(r)
 norm(r1)
 norm(r2)
 norm(r3)
 


oder?

Danke im Voraus! :)


Kitaktus
Senior
Dabei seit: 11.09.2008
Mitteilungen: 6878
Wohnort: Niedersachsen

 Beitrag No.8, eingetragen 2021-05-19 15:08    [Diesen Beitrag zitieren]

Man interessiert sich ja dafür, wie gut die Ausgleichsgerade (-Parabel) den tatsächlichen Verlauf wiedergibt. Dafür ist nicht die Abweichung an einem Punkt entscheidend (die kann durchaus sehr klein sein), sondern die "Gesamtabweichung". Die naheliegendste Definition für diese "Gesamtabweichung" ist die Norm des Residuen-Vektors (Wobei es natürlich sehr viele Normen gibt, die dafür in Betracht kommen, hier ist nach der euklidischen Norm gefragt). In dieser Aufgabe wäre das "norm(r)".
Im Text ist von mehreren Normen die Rede, da auch mehrere Ausgleichsprobleme gelöst werden.


s-amalgh
Aktiv
Dabei seit: 16.12.2020
Mitteilungen: 103
 Beitrag No.7, eingetragen 2021-05-19 10:16    [Diesen Beitrag zitieren]

?


s-amalgh
Aktiv
Dabei seit: 16.12.2020
Mitteilungen: 103
 Beitrag No.6, eingetragen 2021-05-18 05:02    [Diesen Beitrag zitieren]

Könntest du mir bitte nur sagen was ich genau machen soll?  Soll ich nur norm(r) berechnen? in der Aufgabenstellung steht dass ich die euklidische Norm des Residuums zu jeder Lösung berechnen soll deswegen habe ich das so gemacht.
Habe ich falsch verstanden?
Danke im Voraus für deine Antwort! :)


s-amalgh
Aktiv
Dabei seit: 16.12.2020
Mitteilungen: 103
 Beitrag No.5, eingetragen 2021-05-17 16:12    [Diesen Beitrag zitieren]

Danke erstmal für deine Antwort!


d) Du berechnest nicht die Norm des Residuums, sondern die Norm jedes einzelnen Wertes.“

Sollte einfach nur norm(r) schreiben? Aber in der Aufgabenstellung steht dass ich die euklidische Norm des Residuums zu jeder Lösung berechnen soll deswegen habe ich das so gemacht.
Falsch?


Kitaktus
Senior
Dabei seit: 11.09.2008
Mitteilungen: 6878
Wohnort: Niedersachsen

 Beitrag No.4, eingetragen 2021-05-17 09:48    [Diesen Beitrag zitieren]

Ohne Anspruch auf Vollständigkeit:

a) Vielleicht liegt es an der unterschiedlichen Matlab-Version. Bei mir müssen die Zeichen innerhalb des disp-Befehls mit Apostrophen (') zusammengefasst werden, nicht mit Anführungsstrichen (").

b) Im Teil "Ausgleichsrechnung" verwendest Du "b = m_koerpergroesse_i';"
Das sind die interpolierten Werte aus dem ersten Teil. Sinnvoll wären aber die Original-Daten.
Das müsste Dir auffallen, wenn Du Dir die berechneten Residuen tatsächlich anzeigen lässt.

c) Bei Plotten wäre es hilfreich, die Ausgleichskurven für Männer und Frauen unterschiedlich zu färben o.ä. Außerdem plottest Du vier Kurven, Deine Legende enthält aber nur zwei Einträge und die Zuordnung passt nicht.

d) Du berechnest nicht die Norm des Residuums, sondern die Norm jedes einzelnen Wertes.


Bemerkung 1: Mit der Verwendung von "polyfit" ziehst Du Dich geschickt aus der Affäre. Das ist die Funktion, bei der man eben nicht wissen muss, wie die lineare Algebra dahinter aussieht.

Bemerkung 2: Was Du danach machst, ist fast genau das, worauf ich hinaus wollte. Wenn Du Dir die Hilfe von "mldivide" anschaust, wirst Du aber feststellen, dass die Multiplikation mit A' nicht nötig ist. In einem überbestimmten Gleichungssystem "Ax=b", berechnet die Funktion automatisch das x, das die 2-Norm des Residuums minimiert.


s-amalgh
Aktiv
Dabei seit: 16.12.2020
Mitteilungen: 103
 Beitrag No.3, eingetragen 2021-05-17 05:43    [Diesen Beitrag zitieren]

fehlt noch was oder habe ich irgendwas falsch verstanden?
Danke im Voraus für deine Antwort! :)

Matlab
function Alghabra05
 
  jahr = [1 : 18];
  mann = [68 84 93 101 108 115 122 128 133 139 144 150 156 164 171 175 179 180];
  frau = [66 83 92 100 108 114 122 127 132 139 144 151 157 161 164 166 167 167];
 
  function  Ausgleichsrechnung
    disp("i) Ausgleichsgerade ------------------------------------------")
    % alpha und beta für das Geschlecht m für Ausgleichsgerade berechnen
    p = polyfit(jahr,mann,1);
    beta = p(1);
    alpha = p(2);
    % alpha und beta für das Geschlecht w für Ausgleichsgerade berechnen
    q = polyfit(jahr,frau,1);
    beta1 = q(1);
    alpha1 = q(2);
    %Ausgleichsgerade
    m_koerpergroesse_i = alpha + beta*jahr
    w_koerpergro0esse_i = alpha1 + beta1*jahr
 
 
    disp("ii) Ausgleichsparabel ------------------------------------------")
    % alpha, beta und gama für das Geschlecht m für Ausgleichsparabel berechnen
    p1 = polyfit(jahr,mann,2);
    gama2 = p1(1);
    beta2 = p1(2);
    alpha2 = p1(3);
    % alpha, beta und gama für das Geschlecht w für Ausgleichsparabel berechnen
    q1 = polyfit(jahr,frau,2);
    gama3 = q1(1);
    beta3 = q1(2);
    alpha3 = q1(3);
    %Ausgleichsparabel
    m_koerpergroesse_ii = alpha2 + beta2 * jahr + gama2 * (jahr).^2
    w_koerpergroesse_ii = alpha3 + beta3 * jahr + gama3 * (jahr).^2
 
  end
 
  % Die Funktion Ausgleichsrechnung aufrufen
  Ausgleichsrechnung
 
  % Matrix A und Vektor b für Ausgleichsgerade erstellen
  A = ones(18,2);
  A(1:18,2) = 1:18;
  b = m_koerpergroesse_i';    % Vektor für das Geschlecht m
  b1 = w_koerpergro0esse_i';  % Vektor für das Geschlecht w
 
  %Normalgleichungen bestimmen 
  #A' * A * x = A' * b
  % Die linearen Gleichungssysteme lösen  
  x = mldivide(A' * A , A' * b);     %für das Geschlecht m
  x1 = mldivide(A' * A , A' * b1);   %für das Geschlecht w
 
 
  % Matrix B und Vektor b für Ausgleichsgerade erstellen
  B = ones(18,3);
  B(1:18,2) = 1:18;
  B(1:18,3) = (1:18).^2;
  b2 = m_koerpergroesse_ii';    % Vektor für das Geschlecht m
  b3 = w_koerpergroesse_ii';    % Vektor für das Geschlecht w
  % Die linearen Gleichungssysteme lösen  
  z = mldivide(B' * B , B' * b2);     %für das Geschlecht m
  z1 = mldivide(B' * B , B' * b3);    %für das Geschlecht w
 
 
  % Grafik darstellen  
  plot(jahr,mann,'+',0:20,polyval(p,0:20))
  hold on
  plot(jahr,frau,'o',0:20,polyval(q,0:20))
  legend('mann','frau')
 
  % Residuum berechnen
  r = b - A*x;        %Für das Geschlecht m von Ausgleichsgerade
  r1 = b1 - A*x1;     %Für das Geschlecht w von Ausgleichsgerade
  r2 = b2 - B*z;      %Für das Geschlecht m von Ausgleichsparabel
  r3 = b3 - B*z1;     %Für das Geschlecht w von Ausgleichsparabel
 
  %Die euklidische Norm des Residuums berechnen 
  for i = 1 : length(r)
  r_norm(i) = norm(r(i));
  r1_norm(i) = norm(r1(i));
  r2_norm(i) = norm(r2(i));
  r3_norm(i) = norm(r3(i));
 
  end
 
  %Residuum zeigen
  r_norm;
  r1_norm;
  r2_norm;
  r3_norm;
 
 
 
end


s-amalgh
Aktiv
Dabei seit: 16.12.2020
Mitteilungen: 103
 Beitrag No.2, eingetragen 2021-05-15 23:34    [Diesen Beitrag zitieren]

Danke erstmal für deine Antwort!
Ausgleichsgerade : y(t) = a + ßt

Ich habe nicht verstanden was du damit gemeint hast dass die linke Seite den Wert auf der Ausgleichsgeraden (-Parabel) darstellt
Könntest du mir bitte das deutlicher erklären?


Kitaktus
Senior
Dabei seit: 11.09.2008
Mitteilungen: 6878
Wohnort: Niedersachsen

 Beitrag No.1, eingetragen 2021-05-15 18:20    [Diesen Beitrag zitieren]

Kannst Du eine lineare Gleichung aufstellen, so dass die linke Seite den Wert auf der Ausgleichsgeraden (-Parabel) darstellt und die rechte Seite die  gegebenen Körpergrößen?

Welches Ergebnis erhält man, wenn man Matlab so eine (überbestimmte!) Gleichung lösen lässt? Das habt ihr sicher besprochen, aber auch die Matlab-Hilfe dürfte einiges dazu zu sagen haben.


s-amalgh
Aktiv
Dabei seit: 16.12.2020
Mitteilungen: 103
 Themenstart: 2021-05-15 16:53    [Diesen Beitrag zitieren]

Hallo zusammen, könnte mir jemand bitte dabei helfen?




Ich weiß nicht wie ich die Daten mit Ausgleichsgerade und Ausgleichsparabel bei Matlab approximieren soll.

Danke im Voraus! :)


 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2021 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]