|
|
Häufigkeiten der einzelnen Matrizenelemente feststellen |
|
kitingfreak |

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 25.03.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.03.2014, 02:15
Titel: Häufigkeiten der einzelnen Matrizenelemente feststellen
|
 |
Hallo sehr geehrtes Forum!
Ich bin komplett neu auf dem gebiet Matlab und habe nun folgende Aufgabe zu lösen:
"Stellen Sie die Häufigkeiten der einzelnen Matrizenelemente fest und speichern Sie diese in den Vektoren(Arrays) c und d Hinweis: verwenden Sie die Funktionen find und length, und eine for Schleife wäre hilfreich."
Die Matrizen habe ich erfolgreich dargestellt (100x100, normal- und gleichverteilt) nur hänge ich hier jetzt komplett.
Nachdem ich diverse Einführungen in Matlab und Suchergebnisse des Forums gelesen habe und trotzdem keine Lösung gefunden habe, wende ich mich nun an euch. Ich hoffe ihr könnt mir helfen,
Danke im Voraus
LG Kitingfreak
|
|
|
|
|
JKnopf |

Forum-Anfänger
|
 |
Beiträge: 25
|
 |
|
 |
Anmeldedatum: 16.03.14
|
 |
|
 |
Wohnort: Magdeburg
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.03.2014, 10:32
Titel:
|
 |
|
 |
|
Hallo Kitingfreak,
Ohne zu wissen wie deine Matrizen genau aussehen, mit find kannst du bestimmte Werte in einer Matrix finden. Z.B.
gibt dir einen Vektor aus in dem alle Elemente der Matrix M stehen, die gleich eins sind . Die Länge des Vektors gibt dir dann an, wie viel Elemente sich in deiner Matrix mit dem Wert 1 befinden (hier length nutzen). Das kannst du dann für alle Werte deiner Matrix machen. mit der for-Schleife würde ich die Anzahl der Werte, die du betrachtest, einbeziehen. Also für 10 werte von 1 bis 10
innerhalb der Schleife müsstest du dir noch einen Vektor V definieren, in dem du den jeweiligen Wert der Elementeanzahl für jeden Schleifendurchlauf ablegst. Dann noch den vektor mit
plotten.
Soweit erstmal...probiers mal ob es damit funktioniert...ansonsten stell deine Matritzen mal rein.
Gruß JKnopf
_________________
"good manners are just a way of showing other people we have respect for them" (Blast from the Past)
If you can't say somethin' nice ... don't say nothin' at all. (Thumper, Bambi)
|
|
|
kitingfreak |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 25.03.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.03.2014, 23:18
Titel:
|
 |
Hallo JKnopf,
ich danke dir für deine Antwort, was meinst du mit bzw wie mache ich das:
"innerhalb der Schleife müsstest du dir noch einen Vektor V definieren, in dem du den jeweiligen Wert der Elementeanzahl für jeden Schleifendurchlauf ablegst."?
Danke LG Kitingfreak
|
|
|
JKnopf |

Forum-Anfänger
|
 |
Beiträge: 25
|
 |
|
 |
Anmeldedatum: 16.03.14
|
 |
|
 |
Wohnort: Magdeburg
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.03.2014, 00:33
Titel:
|
 |
Hallo Kitingfreak,
Sorry, war vielleicht etwas unverständlich. hab das mal für eine Beispielmatrix gemacht. So habe ich mir das vorgestellt.
Hoffe das hilft dir. wenn du dazu fragen hast. jeder zeit gerne
Gruß JKnopf
_________________
"good manners are just a way of showing other people we have respect for them" (Blast from the Past)
If you can't say somethin' nice ... don't say nothin' at all. (Thumper, Bambi)
|
|
|
kitingfreak |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 25.03.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.03.2014, 01:51
Titel:
|
 |
Danke das schaut für mich schon um einiges verständlicher aus!!
Ich werde das mal in meine bisherigen Versuche einbauen!
Bei der Angabe ist eine 100x100 Zufallsmatrix gefordert, als Startwert nehme ich den kleinsten Wert den ich durch den min(×) herausgefunden habe und als Wiederholungswert 10000 damit alle aufgelistet werden. Ist das korrekt so?
Wie ist das mit dem Parameter A aus deinem Beispiel? Den habe ich bei mir nicht definiert...Ich habe einfach eine Ganzzahlige Zufallsmatrix im Bereich 0 bis 10 erstellt.
Danke mfG
Kitingfreak
|
|
|
JKnopf |

Forum-Anfänger
|
 |
Beiträge: 25
|
 |
|
 |
Anmeldedatum: 16.03.14
|
 |
|
 |
Wohnort: Magdeburg
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.03.2014, 10:22
Titel:
|
 |
|
 |
|
Zitat: |
Bei der Angabe ist eine 100x100 Zufallsmatrix gefordert, als Startwert nehme ich den kleinsten Wert den ich durch den min(×) herausgefunden habe und als Wiederholungswert 10000 damit alle aufgelistet werden. Ist das korrekt so?
|
Es ist für mich schwer ersichtlich, was genau gefordert ist, bzw. was du gemacht hast.
Zitat: |
Wie ist das mit dem Parameter A aus deinem Beispiel?
|
A gibt mir eigentlich nur Werte zwischen 0 und 1 wieder. Also Werte, die innerhalb des Intervalls der Werte meiner Zufallsmatrix M liegen. A(i) und A(i+1) legen mir dann in der Schleife den Bereich fest in dem ich die Werte raussuchen will. z.B: A(2)=0.01 und A(3)=0.02, mit find such ich mir dann alle Werte aus der Matrix, die zwischen 0.01 und 0.02 liegen. Daraus bekomm ich dann meine Anzahl an Werten, die innerhalb des Intervalls liegen.
Zitat: |
Ich habe einfach eine Ganzzahlige Zufallsmatrix im Bereich 0 bis 10 erstellt.
|
Den Bereich den du festlegst hängt immer von den Werten in deiner Matrix ab. Wenn deine Zufallsmatrix die selbe Funktion hat, wie bei mir A, dann würde ich dir das so nicht empfehlen, da man bei Verteilungen immer die gleiche Intervallbreite betrachtet.
Kann auch sein, dass wir an einander vorbei reden, aber ich hoffe nicht.
Gruß JKnopf
_________________
"good manners are just a way of showing other people we have respect for them" (Blast from the Past)
If you can't say somethin' nice ... don't say nothin' at all. (Thumper, Bambi)
|
|
|
kitingfreak |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 25.03.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.03.2014, 10:55
Titel:
|
 |
"Erzeugen Sie zwei NxN Matrizen C und D (N=100), die ganzzahlige Zufallszahlen enthalten sollen. Die Zahlen der ersten Matrix sollen gleich verteilt im Intervall [0,10) sein (Achtung rechts halboffenes Intervall). Die zweite Matrix soll normalverteilte Zahlen enthalten (mit Mittelwert 0 und Standartabweichung s=10)"
Das ist meine Angabe, fangen wir mal so an, ist die folgende Aufstellung der Matritzen überhaupt korrekt?!:
Danke für deine Hilfe
LG Kitingfreak
|
|
|
JKnopf |

Forum-Anfänger
|
 |
Beiträge: 25
|
 |
|
 |
Anmeldedatum: 16.03.14
|
 |
|
 |
Wohnort: Magdeburg
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.03.2014, 12:54
Titel:
|
 |
Ich denke das sieht so ganz gut aus. Bei dem halboffenen Intervall bin ich mir nicht ganz sicher. eigentlich ist beim halboffenen die zehn ja nicht mehr drin und bei ganzen zahlen dürfen ja dann nur werte bis 9 auftreten, aber da will ich mich nicht zuweit aus dem Fenster lehnen. auf jeden fall würde ich dann sowas rausbekommen.
Gruß Christian
_________________
"good manners are just a way of showing other people we have respect for them" (Blast from the Past)
If you can't say somethin' nice ... don't say nothin' at all. (Thumper, Bambi)
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 26.03.2014, 13:49
Titel:
|
 |
Hallo,
Anmerkungen:
- Skripte nicht mit clear all beginnen. Das löscht auch Haltepunkte und ist eigentlich nie eine gute Idee. Wenn, dann nur clear.
- Die Werte in C werden so nicht gleichverteilt sein: die 0 wird öfter als die 1 vorkommen, und auch die 10 wird vorkommen. So ist's richtig:
- Die Schleifen sind hier nicht nötig. Man kann auch direkt mit hist arbeiten, z.B.
Wenn man das Rückgabeargument weglässt, hat man direkt das Balkendiagramm.
Das scheint aber selbst dem Aufgabensteller nicht klar gewesen zu sein ;)
Grüße,
Harald
|
|
|
kitingfreak |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 25.03.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.03.2014, 00:05
Titel:
|
 |
Danke euch beiden für die Antworten, langsam blick ich jetzt etwas durch...
@Harald: sollte statt dem floor nicht ein fix Befehl verwendet werden?
Das mit dem Balkendiagramm verstehe ich, jedoch war das eh nicht gefordert denke ich....
Ich habe das ganze probiert, es funktioniert, wenn ich jedoch VD plotte werden keine negativen Werte angegeben. Der Graph startet bei 0 wo ja eigentlich der Mittelwert sein sollte. Wenn ich die D Matritze alleine im Command Feld öffne, werden negative Werte angegeben. Ist das eventuell weil die schleife j bei 1 und nicht beim minimum Wert von D zu zählen beginnt?!
Danke mfG
Kitingfreak
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 27.03.2014, 00:51
Titel:
|
 |
Hallo,
wenn ich nicht sehr falsch liege, machen floor und fix bei positiven Argumenten dasselbe: ab- bzw. Richtung 0 runden.
Wie "plottest" du VD? Mit
?
Dann werden eben [1, 2, ...] als x-Werte angenommen. Wenn du andere x-Werte haben willst, musst du sie angeben, z.B.
Grüße,
Harald
|
|
|
kitingfreak |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 25.03.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.03.2014, 17:53
Titel:
|
 |
Super jetzt funktioniert das so wie ich mir das vorgestellt hab!
Eine Frage ist noch offen: Wie kann ich herausfinden wieviel Prozent der Elemente von D sich im Bereich (-s,s) (Standartabweichung) befinden?
Danke für die Hilfe!
MfG Kitingfreak
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 27.03.2014, 18:28
Titel:
|
 |
|
|
kitingfreak |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 25.03.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.03.2014, 21:05
Titel:
|
 |
Guten Abend Harald,
danke für deine Antwort. Ich bin wie gesagt ein matlab neuling, aber fehlt da nicht die untere Grenze -s oder ist das in der Formel schon implementiert?! Daran bin ich nämlich mit meinen bisherigen Versuchen vor deinem post gescheitert.....
Bei der Anwendung deiner Formel kommt jedoch ein Wert um 95% heraus der allerdings recht gut hinkommt denk ich!
Danke mfG
kitingfreak
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 27.03.2014, 23:19
Titel:
|
 |
Hallo,
hat mit MATLAB an sich wenig zu tun:
Grüße,
Harald
|
|
|
|
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.
|
|