|
formater |

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 10.09.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.10.2008, 15:09
Titel: Summenvereinfachung
|
 |
Wie kann man folgendes Beispiel am leichtesten programmieren:
y=(Summe m(1:3),Summe n(1:3))m*n
Aber als Ergebnis brauche ich alle Moeglichkeiten,also:
y=1*1+1*2+1*3+2*1+2*2+2*3+3*1+3*2+3*3=36
und nicht
y=1*1+2*2+3*3=15
Man kann jeden Wert fuer m einzeln einmal durchsummieren,aber gibt es eine andere Moeglichkeit?
|
|
|
|
|
Bijick |

Ehrenmitglied
|
 |
Beiträge: 914
|
 |
|
 |
Anmeldedatum: 18.06.07
|
 |
|
 |
Wohnort: Nürnberg
|
 |
|
 |
Version: R2006b, R2008b
|
 |
|
|
 |
|
Verfasst am: 15.10.2008, 15:38
Titel:
|
 |
Hallo formater,
da gibt es bestimmt zig Möglichkeiten. Hier ist eine, die für Dein Beispiel passt:
A ist eine Matrix der Produkte aller Kombinationen der Zahlen 1 bis 3. Durch den Doppelpunkt in der zweiten Zeile werden alle Elemente von A in die Summe einbezogen.
Deine allgemeine Schreibweise verstehe ich leider nicht. Was sind m und n?
Herzliche Grüße
Bijick
_________________
>> why
|
|
|
formater |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 10.09.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.10.2008, 16:26
Titel:
|
 |
m und n sollen variablen, die von 1 bis 3 gehen
|
|
|
Bijick |

Ehrenmitglied
|
 |
Beiträge: 914
|
 |
|
 |
Anmeldedatum: 18.06.07
|
 |
|
 |
Wohnort: Nürnberg
|
 |
|
 |
Version: R2006b, R2008b
|
 |
|
|
 |
|
Verfasst am: 15.10.2008, 16:44
Titel:
|
 |
Also so?
Dann stimmt das obige, oder?
Herzliche Grüße
Bijick
_________________
>> why
|
|
|
formater |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 10.09.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.10.2008, 17:04
Titel:
|
 |
Ja das passt.
Aber was mach ich wenn ich die variablen addiere und dann summieren will, das klappt nicht so einfach.
also: 1+1+1+2+2+1+2+2=12
|
|
|
Bijick |

Ehrenmitglied
|
 |
Beiträge: 914
|
 |
|
 |
Anmeldedatum: 18.06.07
|
 |
|
 |
Wohnort: Nürnberg
|
 |
|
 |
Version: R2006b, R2008b
|
 |
|
|
 |
|
Verfasst am: 15.10.2008, 17:17
Titel:
|
 |
Hallo formater,
Das geht dann beispielsweise so:
Herzliche Grüße
Bijick
_________________
>> why
|
|
|
formater |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 10.09.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.10.2008, 10:31
Titel:
|
 |
|
|
formater |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 10.09.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.10.2008, 14:50
Titel:
|
 |
Funktioniert das?
Irgendwie glaub ich das macht etwas komisches?
Machen will ich folgendes:
YW=j*2*pi*f*∑(m=1:50)∑(n=1:50){(psi1(m,n)*psi2(m,n))/(rho*h*lx*ly* [wmn^2*(1+j*eta)-(2*pi*f)^2])}
f soll von 1:5000 gehen und es soll ueber alle moeglichen Kombinationen von m und n summiert werden.
|
|
|
Bijick |

Ehrenmitglied
|
 |
Beiträge: 914
|
 |
|
 |
Anmeldedatum: 18.06.07
|
 |
|
 |
Wohnort: Nürnberg
|
 |
|
 |
Version: R2006b, R2008b
|
 |
|
|
 |
|
Verfasst am: 16.10.2008, 19:53
Titel:
|
 |
Hallo formater,
na, das sieht doch gleich komplizierter aus. Mein Vorschlag:
Wichtig dabei ist, dass psi1, psi2 und wmn die Matrizen M und N richtig verarbeiten. Leider konnte ich ohne diese Funktionen auch die Lauffähigkeit nicht testen.
Herzliche Grüße
Bijick
_________________
>> why
|
|
|
formater |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 10.09.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.10.2008, 10:17
Titel:
|
 |
Tut mir echt leid, aber ich bin im Auslandspraktikum und mache seid Wochen nix anderes als Matlab zu lernen und mich mit dieser Funktion zu quaelen und helfen kann mir hier natuerlich keiner.
Hier sind die restlichen Variablen:
Die Loesung soll zwischen 10^-8 und 10^-4 liegen.
Ich krieg nur Fehlermeldungen, ich versuch mal eins nach dem anderen zu beseitigen, aber das kann dauern fuer ein ungeschultes Auge.
Waere fuer Hilfe echt dankbar!
|
|
|
formater |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 10.09.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.10.2008, 12:13
Titel:
|
 |
Ich habs nochmal ueberarbeitet, kriege zwar keine Fehlermeldungen mehr, aber auch kein gescheites Ergebnis.
|
|
|
Bijick |

Ehrenmitglied
|
 |
Beiträge: 914
|
 |
|
 |
Anmeldedatum: 18.06.07
|
 |
|
 |
Wohnort: Nürnberg
|
 |
|
 |
Version: R2006b, R2008b
|
 |
|
|
 |
|
Verfasst am: 17.10.2008, 15:56
Titel:
|
 |
|
 |
|
Hallo formater,
ich saß jetzt eine ganze Weile dran und kann natürlich nicht entscheiden, ob das Ergebnis passt. Aber aus Matlab-Sicht läuft jetzt alles rund. Aus Deinen beiden Fragen im Forum konnte ich auch ungefähr erkennen, was Du machen möchtest.
Zur Erklärung:
1. Zum Addieren aller Kombinationen von Elementen zweier Vektoren kann man statt der meshgrid-Variante auch schreiben:
2. In Deinem Code gibt es Teile, die von m oder n abhängen, und Teile, die von beiden Variablen abhängen. Ökonomisch ist es, die Teile, die von m oder n abhängen, als Vektoren zu konstruieren und die Teile, die von beiden Vektoren abhängen, als Matrizen.
3. Die Konvention, dass Variablen, die von m, n oder beiden abhängen, dies in ihrem Namen anzeigen, habe ich jetzt konsequent durchgeführt.
4. Die elementweise Verknüpfung (beispielsweise .*) ist nur notwendig, wenn Vektoren oder Matrizen auf beiden Seiten vorkommen. Steht auf mindestens einer Seite eine Zahl, so genügt das einfache Zeichen (beispielsweise *).
5. Die if-Abfragen habe ich komplett entfernt. Stattdessen arbeite ich mit logischer Indizierung. Zunächst werden die geraden Elemente von m bestimmt:
Dann wird yjm2 an diesen Stellen ausgewertet:
Und das Ergebnis wird verarbeitet und auf die entsprechenden Stellen des Vektors phix1m geschrieben:
Ich finde den Code jetzt recht übersichtlich. Vielleicht fällt Dir jetzt die inhaltliche Durchsicht auch leichter. Ich wünsch Dir jedenfalls alles Gute für Dein Praktikum!
Herzliche Grüße
Bijick
Beschreibung: |
Kompletter Code, lauffähig, wohl noch nicht korrekt |
|
 Download |
Dateiname: |
test.m |
Dateigröße: |
3.26 KB |
Heruntergeladen: |
663 mal |
_________________
>> why
|
|
|
formater |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 10.09.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.10.2008, 17:04
Titel:
|
 |
Hier hab ich Probleme, die Abfrage fuer m stimmt zwar, aber in die phix1m muss ich (mu+1)/2 einsetzen und irgendwie geht das nicht,wenn ich es ersetze.
|
|
|
Bijick |

Ehrenmitglied
|
 |
Beiträge: 914
|
 |
|
 |
Anmeldedatum: 18.06.07
|
 |
|
 |
Wohnort: Nürnberg
|
 |
|
 |
Version: R2006b, R2008b
|
 |
|
|
 |
|
Verfasst am: 17.10.2008, 20:09
Titel:
|
 |
Hallo,
tja, da war ich unsicher, wie die Formel genau ist, die Du wiedergeben willst.
m hat an der Stelle ein ungerades Element, sagen wir 3.
Dann ist yim1 an der Stelle
Brauchst Du für phix1m(3)
Wobei
Der Vektor wird vom Cosinus komplett auf Null abgebildet, vom Sinus auf -1. Soll das so sein? Aber dann braucht man bei den Indizes gar nicht zu unterscheiden.
Sag einfach, wie es sein soll - wir kriegen das dann schon hin. Ab Montag wieder...
Herzliche Grüße
Bijick
_________________
>> why
|
|
|
formater |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 10.09.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.10.2008, 21:57
Titel:
|
 |
Ich hab das ganze mal so geloest, aber es ist ziemlich umstaendlich, fuer eine einfachere Loesung waere ich dankbar.
Beschreibung: |
|
 Download |
Dateiname: |
YWFZ.m |
Dateigröße: |
3.93 KB |
Heruntergeladen: |
687 mal |
Zuletzt bearbeitet von formater am 20.10.2008, 16:43, insgesamt einmal bearbeitet
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|