matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenMatlabeuklidischer Algorithmus
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Philosophie • Religion • Kunst • Musik • Sport • Pädagogik
Forum "Matlab" - euklidischer Algorithmus
euklidischer Algorithmus < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

euklidischer Algorithmus: AUfgabe 3
Status: (Frage) beantwortet Status 
Datum: 23:08 Di 07.01.2014
Autor: smirre

Aufgabe
Programmieren sie den euklidischen Algorithmus in Matlab. Die Zahlen sollen unabhängig in jedem einzelnen Durchlauf neu eingegeben werden können.

Hallo :)
In der letzten Übungsstunde sollten wir den euklidischen Algorithmus zur Bestimmung des ggT in Matlab programmieren. Leider bin ich nicht sehr weit gekommen.
Meines Wissen nach müsste man für das Programm eine if-Schleife verwenden. Allerdings weiß ich nicht genau wie ich die einzelnen Gleichungen, die sich ja ständig ändern, in dieser if-Schleife unterbringen soll.
Ein zusätzliches Problem ist auch noch, dass ich die if-Schleife auf eine bestimmte Anzahl an Durchläufen begrenzen müsste, allerdings ist die Anzahl der Durchläufe ja von Zahl zu Zahl unterschiedlich.
Wäre super, wenn mir jemand helfen könnte!
Hoffe meine Frage ist verständlich gestellt :)

•Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

        
Bezug
euklidischer Algorithmus: Antwort
Status: (Antwort) fertig Status 
Datum: 23:36 Di 07.01.2014
Autor: DieAcht

Hallo,


> Programmieren sie den euklidischen Algorithmus in Matlab.
> Die Zahlen sollen unabhängig in jedem einzelnen Durchlauf
> neu eingegeben werden können.
>  Hallo :)
>  In der letzten Übungsstunde sollten wir den euklidischen
> Algorithmus zur Bestimmung des ggT in Matlab programmieren.
> Leider bin ich nicht sehr weit gekommen.
>  Meines Wissen nach müsste man für das Programm eine
> if-Schleife verwenden. Allerdings weiß ich nicht genau wie
> ich die einzelnen Gleichungen, die sich ja ständig
> ändern, in dieser if-Schleife unterbringen soll.
>  Ein zusätzliches Problem ist auch noch, dass ich die
> if-Schleife auf eine bestimmte Anzahl an Durchläufen
> begrenzen müsste, allerdings ist die Anzahl der
> Durchläufe ja von Zahl zu Zahl unterschiedlich.
> Wäre super, wenn mir jemand helfen könnte!
>  Hoffe meine Frage ist verständlich gestellt :)
>  
> •Ich habe diese Frage in keinem Forum auf anderen
> Internetseiten gestellt.

Ich verstehe nicht wo dein Problem liegt.

Habt ihr den Algorithmus als Pseudocode aufgeschrieben?
Wenn ja, dann poste ihn doch bitte.

Damit die Übersichtlichkeit nicht leidet, benutze:

[code][/code]

Mir ist nicht klar ob du nun den Algorithmus verstanden hast oder Hilfe bei der Implementation brauchst.

Probleme bei der Implementation kann ich mir, wenn du den Pseudocode dazu hast, mit Matlab nicht vorstellen.


Gruß
DieAcht

Bezug
                
Bezug
euklidischer Algorithmus: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 00:38 Mi 08.01.2014
Autor: smirre

ich habe den Algorithmus verstanden, weiß allerdings nicht genau wie ich den in der if-Schleife darstellen soll. Wir haben leider gar keine Hinweise für die Aufgabe bekommen. Kann sein, dass es nur an einer Kleinigkeit bei mir hängt und ich deswegen nicht weiter komme.

Bezug
                        
Bezug
euklidischer Algorithmus: Antwort
Status: (Antwort) fertig Status 
Datum: 00:58 Mi 08.01.2014
Autor: Marcel

Hallo,

> ich habe den Algorithmus verstanden, weiß allerdings nicht
> genau wie ich den in der if-Schleife darstellen soll. Wir
> haben leider gar keine Hinweise für die Aufgabe bekommen.

den euklidischen Algorithmus findest Du "in Worten" etwa im Buch "Elementare
und algebraische Zahlentheorie", Müller Stach und Piontkowski - 2. Auflage,
Satz 3.7 (dort findest Du auch den erweiterten, einfach das Buch weiter
durchstöbern, knapp dahinter).

Jetzt stell Dir vor, Du bist ein Computer. Ich gebe Dir zwei Zahlen, die eine
heiße [mm] $a\,,$ [/mm] die andere [mm] $b\,.$ [/mm] Erzähl mal - rein mit Worten - wie Du algorithmisch
nun loslegst, um [mm] $\text{ggt}(a,b)$ [/mm] zu berechnen.

> Kann sein, dass es nur an einer Kleinigkeit bei mir hängt
> und ich deswegen nicht weiter komme.

Das können wir nicht sagen, wenn Du noch nicht mal den Anfang machst,
wo wir sehen könnten, dass Du überhaupt was tust...

Ein Anfang könnte ja so aussehen (erstmal einfach, ohne Fehlerabfang), bspw.:
1:
2: disp('Geben Sie die Zahlen a und b ein, von denen der ggT ermittelt werden soll!');
3: a=input('Ihre Eingabe für a: ');
4: b=input('Ihre Eingabe für b: ')


etc.
(Du weißt aber schon, wie man while-Schleifen in Matlab verwendet, oder?
Ich meine: []GidF (klick!)!)

Oder Du schreibst direkt sowas wie eine Funktion...

P.S. Im Anhang findest Du mal einen (nicht auf absolute Fehlerfreiheit)
getesteten C++-Code von mir bzgl. der Aufgabenstellung (jedenfalls zur
reinen Berechnung des ggT's zweier einmal fest vorgegebenen Zahlen mit
Hilfe des eukl. Algorithmusses)!
[a]Datei-Anhang

P.P.S. Ich sehe gerade, dass ich nicht den modernen eukl. Algorithmus (aus
dem Buch), sondern die klassische Variante (von hier: []Wiki, klick!)
programmiert hatte. Welche Version sollt ihr denn programmieren?

Gruß,
  Marcel

Dateianhänge:
Anhang Nr. 1 (Typ: cpp) [nicht öffentlich]
Bezug
                                
Bezug
euklidischer Algorithmus: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:01 Mi 08.01.2014
Autor: smirre

Vielen Dank Marcel! Der Tipp mit der while-Schleife hatte mir gefehlt.
ich habe den Anfang mit dem Input schon gemacht und haben den nicht rein gestellt, weil ich dachte, dass das ja mit dem euklidischen Algorithmus an sich ja nichts zu tun hat, weil Input ja immer gleich gemacht wird. Ich hab es jetzt mal mit der while schleife versucht:

a= input('Zahl 1: ');
b= input('Zahl 2: ');

while a > 0 & b > 0

    a=mod(a,b);
    b=mod(b,a);

end

so funktioniert es jetzt auch. Es muss nur drauf geachtet werden, dass a dabei die größere der beiden Zahlen ist.

Bezug
                                        
Bezug
euklidischer Algorithmus: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:59 Mi 08.01.2014
Autor: DieAcht

Hallo,


>  
> a= input('Zahl 1: ');
> b= input('Zahl 2: ');
>  
> while a > 0 & b > 0
>  
> a=mod(a,b);
> b=mod(b,a);
>  
> end
>  
> so funktioniert es jetzt auch. Es muss nur drauf geachtet
> werden, dass a dabei die größere der beiden Zahlen ist.

Dann setz vor der while-Schleife noch [mm] a=\max(a,b) [/mm] und [mm] b=\min(a,b). [/mm]
Du musst natürlich aufpassen bei der Implementierung bei den Variablen ;-)


Gruß
DieAcht

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.matheraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]