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

Programm verkleinern

 

Susi

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.07.2012, 17:05     Titel: Programm verkleinern
  Antworten mit Zitat      
Hallo an alle zusammen,

Ich brauche dringend Hilfe. Kann mir Vielleicht jemand dieses Teil meines Programms kleiner machen? Denn so wie es jetzt ist, dauert es sehr lange bis Matlab das Programm durch hat.
Vielleich geht das ja mit einer Schleife.

Code:


if (f0 && f1 && f2 && f3 && f4) || (f0 && f1 && f2 && f3 && f5) || (f0 && f1 && f2 && f3 && f6) || (f0 && f1 && f2 && f3 && f7) || (f0 && f1 && f2 && f3 && f8) ||...
   (f0 && f1 && f2 && f3 && f9) || (f0 && f1 && f2 && f3 && f10) || (f0 && f1 && f2 && f3 && f11) || (f0 && f1 && f2 && f4 && f5) || (f0 && f1 && f2 && f4 && f6) ||...
   (f0 && f1 && f2 && f4 && f7) || (f0 && f1 && f2 && f4 && f8) || (f0 && f1 && f2 && f4 && f9) || (f0 && f1 && f2 && f4 && f10) || (f0 && f1 && f2 && f4 && f11) ||...
   (f0 && f1 && f2 && f5 && f6) || (f0 && f1 && f2 && f5 && f7) || (f0 && f1 && f2 && f5 && f8) || (f0 && f1 && f2 && f5 && f9) || (f0 && f1 && f2 && f5 && f10) ||...
   (f0 && f1 && f2 && f5 && f11) || (f0 && f1 && f2 && f6 && f7) || (f0 && f1 && f2 && f6 && f8) || (f0 && f1 && f2 && f6 && f9) || (f0 && f1 && f2 && f6 && f10) ||...
   (f0 && f1 && f2 && f6 && f11) || (f0 && f1 && f2 && f7 && f8) || (f0 && f1 && f2 && f7 && f9) || (f0 && f1 && f2 && f7 && f10) || (f0 && f1 && f2 && f7 && f11) ||...
   (f0 && f1 && f2 && f8 && f9) || (f0 && f1 && f2 && f8 && f10) || (f0 && f1 && f2 && f8 && f11) || (f0 && f1 && f2 && f9 && f10) || (f0 && f1 && f2 && f9 && f11) ||...
   (f0 && f1 && f2 && f10 && f11) || (f0 && f1 && f3 && f4 && f5) || (f0 && f1 && f3 && f4 && f6) || (f0 && f1 && f3 && f4 && f7) || (f0 && f1 && f3 && f4 && f8) ||...
   (f0 && f1 && f3 && f4 && f9) || (f0 && f1 && f3 && f4 && f10) || (f0 && f1 && f3 && f4 && f11) || (f0 && f1 && f3 && f5 && f6) || (f0 && f1 && f3 && f5 && f7) ||...
   (f0 && f1 && f3 && f5 && f8) || (f0 && f1 && f3 && f5 && f9) || (f0 && f1 && f3 && f5 && f10) || (f0 && f1 && f3 && f5 && f11) || (f0 && f1 && f3 && f6 && f7) ||...
   (f0 && f1 && f3 && f6 && f8) || (f0 && f1 && f3 && f6 && f9) || (f0 && f1 && f3 && f6 && f10) || (f0 && f1 && f3 && f6 && f11) || (f0 && f1 && f3 && f7 && f8) ||...
   (f0 && f1 && f3 && f7 && f9) || (f0 && f1 && f3 && f7 && f10) || (f0 && f1 && f3 && f7 && f11) || (f0 && f1 && f3 && f8 && f9) || (f0 && f1 && f3 && f8 && f10) ||...
   (f0 && f1 && f3 && f8 && f11) || (f0 && f1 && f3 && f9 && f10) || (f0 && f1 && f3 && f9 && f11) || (f0 && f1 && f3 && f10 && f11) || (f0 && f1 && f4 && f5 && f6) ||...
   (f0 && f1 && f4 && f5 && f7) || (f0 && f1 && f4 && f5 && f8) || (f0 && f1 && f4 && f5 && f9) || (f0 && f1 && f4 && f5 && f10) || (f0 && f1 && f4 && f5 && f11) ||...
   (f0 && f1 && f4 && f6 && f7) || (f0 && f1 && f4 && f6 && f8) || (f0 && f1 && f4 && f6 && f9) || (f0 && f1 && f4 && f6 && f10) || (f0 && f1 && f4 && f6 && f11) ||...
   (f0 && f1 && f4 && f7 && f8) || (f0 && f1 && f4 && f7 && f9) || (f0 && f1 && f4 && f7 && f10) || (f0 && f1 && f4 && f7 && f11) || (f0 && f1 && f4 && f8 && f9) ||...
   (f0 && f1 && f4 && f8 && f10) || (f0 && f1 && f4 && f8 && f11) || (f0 && f1 && f4 && f9 && f10) || (f0 && f1 && f4 && f9 && f11) || (f0 && f1 && f4 && f10 && f11) ||...
   (f0 && f1 && f5 && f6 && f7) || (f0 && f1 && f5 && f6 && f8) || (f0 && f1 && f5 && f6 && f9) || (f0 && f1 && f5 && f6 && f10) || (f0 && f1 && f5 && f6 && f11) ||...
   (f0 && f1 && f5 && f7 && f8) || (f0 && f1 && f5 && f7 && f9) || (f0 && f1 && f5 && f7 && f10) || (f0 && f1 && f5 && f7 && f11) || (f0 && f1 && f5 && f8 && f9) ||...
   (f0 && f1 && f5 && f8 && f10) || (f0 && f1 && f5 && f8 && f11) || (f0 && f1 && f5 && f9 && f10) || (f0 && f1 && f5 && f9 && f11) || (f0 && f1 && f5 && f10 && f11) ||...
   (f0 && f1 && f6 && f7 && f8) || (f0 && f1 && f6 && f7 && f9) || (f0 && f1 && f6 && f7 && f10) || (f0 && f1 && f6 && f7 && f11) || (f0 && f1 && f6 && f8 && f9) ||...
   (f0 && f1 && f6 && f8 && f10) || (f0 && f1 && f6 && f8 && f11) || (f0 && f1 && f6 && f9 && f10) || (f0 && f1 && f6 && f9 && f11) || (f0 && f1 && f6 && f10 && f11) ||...
   (f0 && f1 && f7 && f8 && f9) || (f0 && f1 && f7 && f8 && f10) || (f0 && f1 && f7 && f8 && f11) || (f0 && f1 && f7 && f9 && f10) || (f0 && f1 && f7 && f9 && f11) ||...
   (f0 && f1 && f7 && f10 && f11) || (f0 && f1 && f8 && f9 && f10) || (f0 && f1 && f8 && f9 && f11) || (f0 && f1 && f8 && f10 && f11) || (f0 && f1 && f9 && f10 && f11) ||...
   (f0 && f2 && f3 && f4 && f5) ||................ das geht bis (f7 && f8 && f9 && f10 && f11) ==~0

 



Danke im voraus.


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 03.07.2012, 18:42     Titel:
  Antworten mit Zitat      
Also wenn ich das Recht sehe wird hier abgefragt, ob genau 5 von 11 Werte TRUE sind. Reicht das dann nicht alle 11 Werte aufzusummieren und zu schauen ob die Summe genau 5 ist??

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Susi

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.07.2012, 20:31     Titel: Programm verkleinern
  Antworten mit Zitat      
Hallo Andreas Goser,

nein leider geht das nicht. Denn die Werte f0 bis f11 werden berechnet durch Eingabe von 0 bis 12 zufällige zahlen.

Gruß Susi
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 03.07.2012, 21:27     Titel:
  Antworten mit Zitat      
Wenn z.b. f0 bis f4 Zufallszahlen sind, dann ergibt der Ausdruck

Code:

f0 && f1 && f2 && f3 && f4
 


immer TRUE, es sei denn einer der 5 Werte ist exakt Null. Was bei DOUBLE Zufallszahlen natürlich extrem unwahrscheinlich ist...

Wie auch immer, das Gesamtergebnis hängt also davon ab, ob ein einziger Wert von f0 bis f11 exakt Null ist. Dies könnte man durch eine einzelne Abfrage umsetzen, oder z.B. sortieren und den kleinsten Wert bezgl. 0 testen.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.502
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 03.07.2012, 21:33     Titel:
  Antworten mit Zitat      
Hallo,

Vorschlag: indizieren statt die Variablen durchnumerieren. Dann
Code:


Falls das nicht möglich ist: die f-Variablen in logical umwandeln und dann Andreas' ersten Vorschlag umsetzen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 04.07.2012, 00:18     Titel: Re: Programm verkleinern
  Antworten mit Zitat      
Hallo Susi,

Sag mal, hast Du das alles per Hand getippt? Ich bin beeindruckt.

Natürlich ist die vorgeschlagene Lösung, einen Vektor statt einer Sammlung von 12 Variablen zu verwenden, viel effizienter und dramatisch übersichtlicher. Das Einfügen eine Index in den namen einer Variable ist auch nie eine gute Idee (deswegen gibt es im Forum auch hunderte Threads darüber - eine Suche würde sich lohnen...).
Aber rein ästhetisch betrachtet ist Dein Code phänomenal, im Ernst.
Könntest Du mir bitte die vollständige IF-Bedingung per PN zusenden?

Danke und Gruß, Jan
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 - 2025 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.