AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Gleichungssysteme lösen?

Ein Thema von axelf98 · begonnen am 27. Aug 2003 · letzter Beitrag vom 27. Aug 2003
Antwort Antwort
axelf98

Registriert seit: 27. Aug 2003
Ort: Ennepetal
440 Beiträge
 
Delphi 2005 Personal
 
#1

Gleichungssysteme lösen?

  Alt 27. Aug 2003, 18:38
Hallo, ich hab da ein kleines Problem:

Ich möchte dynamische Gleichungssysteme lösen, die zB. wie folgt aussehen:

3b = 2e
3a + b = 2c + e
2a = c + d

a wird 1 gesetzt.

Die Matrix wird umgewandelt in einen array of array of extended:
0 3 0 0 -2 0
3 1 -2 0 -1 0
2 0 -1 -1 0 0
1 0 0 0 0 1 (a = 1) Setzung

Wenn ich den normalen Gaussalgorithmus drüberlaufen lasse, kommt meistens "System unlösbar" heraus, obwohl die Systeme eigentlich noch recht einfach sind und auf jedenfall eine Lösung haben.

Bei der Matrix oben fehlt eine Zeile zum Quadrat, aber woher soll die Gleichung kommen? Nur a soll 1 sein...

Helft mir...

das ist die Anwendung -> ABC.exe
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: Gleichungssysteme lösen?

  Alt 27. Aug 2003, 18:49
Es würde helfen, wenn du den code posten würdest. Dann kann man auch Fehler suchen...
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
axelf98

Registriert seit: 27. Aug 2003
Ort: Ennepetal
440 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Gleichungssysteme lösen?

  Alt 27. Aug 2003, 18:58
Ich glaube nicht, dass es ein Fehler ist... Irgendwie muss man die Matrix noch verändern, damit es klappt..

Der Hauptcode:


Delphi-Quellcode:
Matrix.SolveLinearSystem(Array,m,n);
//m,n sind die Dimensionen, die Funktion hab ich aus dem Internet.
var sol,auf : array of array of extended;
     rechts,links : array of array of extended; // rechte und linke Seite
begin
    // --- Füllen der Matrix

       setlength(Auf,elemente.Count+1,anzahled+anzahlpr+1);

       for i := 0 to elemente.Count - 1 do
       begin
        for j := 0 to anzahled-1 do
         begin
           auf[i,j] := links[i,j];
         end;
        end;

       for i := 0 to elemente.Count - 1 do
       begin
        for j := 0 to anzahlpr - 1 do
         begin
           auf[i,j+anzahled] := - rechts[i,j]; // negativ Werte
         end;
        end;
                    // a = 1 reihe setzen

       for i := 0 to anzahlpr + anzahled do
       begin
        if i = 0 then Auf[elemente.count,i] := 1 ELSE
        if i = anzahlpr + anzahled then Auf[elemente.count,i] := 1 ELSE
        Auf[elemente.count,i]:= 0 ;

       end;

    //---- Berechnung....

    Matrix := Mathe.init;

    try
    sol := Matrix.SolveLinearSystem(Auf,elemente.count+1 anzahled+anzahlpr+1);
    except
     erroradd('[Mathematik] Das Gleichungssystem ist nicht lösbar oder');
     erroraddline(' hat unendlich viele Lösungen');
    end;
-----------------------------

[edit=sakura]Delphi-Tags eingefügt. Mfg, sakura[/edit]
  Mit Zitat antworten Zitat
czapie

Registriert seit: 17. Nov 2002
Ort: Berlin
384 Beiträge
 
Delphi 5 Standard
 
#4

Re: Gleichungssysteme lösen?

  Alt 27. Aug 2003, 19:21
Na da hat wohl jemand LK Mathe.

Mh, also erhlich gesagt hab ich mir dein code nicht genau angesehen, aber schreib doch lieber was total eigenes, als was ausm Netz.

Vom Prinzip her kann st du nach dem Gauß doch gehen.
Du baust dir dein Dreieck indem du immer das Kgv der Koeffizienten suchst und durch entprechende Multiplikation und anschließender Addition/Subtraktion alle Variablen schrittweise eliminierst, bis du dann eine Variable genau bestimmen kannst.
Das sind auch vom programmieren her nicht wirklich schwere Operationen, oder?

Ich werd mich auch mal ransetzen,

Czapie.
Was man zu verstehen gelernt hat, fürchtet man nicht mehr.
(Marie Curie)
http://www.cafes-in-berlin.com
  Mit Zitat antworten Zitat
Nimoee

Registriert seit: 20. Aug 2003
Ort: Darmstadt
131 Beiträge
 
Delphi 5 Professional
 
#5

Re: Gleichungssysteme lösen?

  Alt 27. Aug 2003, 20:11
hallo,

was ist denn ein dynamisches Gleichungssystem?
( der alte Gauss dreht sich im Grabe rum )
Bitte erklärs mir!

nimoee
  Mit Zitat antworten Zitat
axelf98

Registriert seit: 27. Aug 2003
Ort: Ennepetal
440 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Gleichungssysteme lösen?

  Alt 27. Aug 2003, 20:14
Zitat von Nimoee:
hallo,

was ist denn ein dynamisches Gleichungssystem?
( der alte Gauss dreht sich im Grabe rum )
Bitte erklärs mir!

nimoee
Dynamisch ist hier so zu verstehen, dass die Dimensionen nicht definiert sind.. also 3 Gleichungen 4 Unbekannte 15 Gleichungen,16 Unbekannte usw..

Ein solches System in sich ist natürlich nicht dynamisch!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz