WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Zahlenkombinationen für Gleichung? If-For Loop

 

tomrader
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 18.02.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.02.2021, 19:35     Titel: Zahlenkombinationen für Gleichung? If-For Loop
  Antworten mit Zitat      
Guten Abend,

ich bin leider ratlos an der Aufgabe und würde mich auf eine Unterstützung freuen.

Ich brauche alle möglichen Zahlenkombinationen zwischen 3 und 100 für die Gleichung d^2+r^2 = e^2. Die Zahlenkombinationen sollen alle ausgegeben werden.
Es soll ein Skript sein

Mein Ansatz wäre:
Code:
n = 10000;

for d = 1:n
   for r = 1:n
        for e = 1:n
            if (d^2)+(r^2) == (e^2)
                disp('Ausgabe')
        end
    end
end
end
end
Private Nachricht senden Benutzer-Profile anzeigen


Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 18.02.2021, 21:28     Titel:
  Antworten mit Zitat      
Dein Code dürfte nicht lauffähig sein, da ein end zu viel. Das sollte dir aber auch Matlab "sagen".

Aber ansonsten sollte es so grundsätzlich richtig umgesetzt sein.
Allerdings solltest du "if (d^2)+(r^2) == (e^2)" mit Klammern einfassen, da sonst vermutlich nur auf "if (d^2)" geprüft wird. Hier ist mittels Klammern geschaffene Ein-eindeutigkeit immer gut (gilt auch für andere Sprachen).
Code:
if (((d^2)+(r^2)) == (e^2))



Bei disp solltest du dir in der Schleife noch die Werte für d,r und e ausgeben lassen. str2num dabei nicht vergessen.


Warum lässt du n aber bis 10,000 laufen, wenn es nur bis 100 gehen soll?
Wenn es bei 3 anfangen soll, solltest du die Schleifen auch alle bei 3 beginnen lassen.
Code:

_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Private Nachricht senden Benutzer-Profile anzeigen
 
tomrader
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 18.02.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.02.2021, 22:18     Titel:
  Antworten mit Zitat      
Hey, jetzt klappt es vielen dank. Ich hab noch eine Frage zur Ausgabe.
Wenn ich es abspiele, dann kommt als Ausgabe nur 'Kombis' mehrmals raus ohne die variablen d,r,e. Wie kann ich das zusammen ausgeben?

Code:

n = 100;

for d = 3:n
   for r = 3:n
        for e = 3:n
            if (((d^2)+(r^2)) == (e^2))
                Ausgabe = ['Kombis' str2double(d)' str2double(r)' str2double(e)'];
                disp(Ausgabe)              
               
        end
    end
end
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
tomrader
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 18.02.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.02.2021, 22:46     Titel:
  Antworten mit Zitat      
Die Frage davor hat sich geklärt ich habe alles perfekt rausbekommen.
Nun würde ich gerne die Gleichung mit ^3 für a,b,c machen, jedoch wird nicht ausgegeben wenn ich es laufen lasse? Es kommt auch kein Fehlercode und ich habe es auch schon mit str2double bei der Ausgabe probiert. Brauche dringend Hilfe !
Nochmals danke


Code:

n = 100;
i = 3;

for a = 1:n
   for b = 1:n
        for c = 1:n
            if (((a^i)+(b^i)) == (c^i))
                Ausgabe = ['Bingo ' 'Für a: ' num2str(a) ' Für b: ' num2str(b)  ' Für c: ' num2str(c)];
                disp(Ausgabe)              
               
        end
    end
end
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 19.02.2021, 09:15     Titel:
  Antworten mit Zitat      
Finde ein Zahlentupel, für den die Gleichung wahr ist, im von dir betrachteten Zahlenbereich.

(Und dann beweise den großen fermatschen Satz Razz )
_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.