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

Matlab Aufgabe -Summe Glieder berechnen + mit/ohne Schleife

 

Anja21
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 04.06.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.06.2014, 14:38     Titel: Matlab Aufgabe -Summe Glieder berechnen + mit/ohne Schleife
  Antworten mit Zitat      
Hallo Liebe Matlab Gemeinde,


ich habe folgendes Problem und bis sehr verzweifelt:

Ich schreibe die Aufgaben mal hier rein:

Aufgabe 1

Berechnen Sie mit Matlab die Summe der ersten 100 Glieder der geometrischen Folge

16; 8; 4; 2; 1; 0,5; 0,25; ........!


Aufgabe 2

Erzeugen Sie n=10.000 ganzzahlige Zufallszahlen zwischen 1 und 10 und ermitteln Sie, wie oft die einzelnen Zahlen aufgetreten sind! Geben Sie als Ergebnis eine Matrix aus, die in der ersten Spalte die Zahlen 1 bis 10 und in der zweiten Spalte die jeweils zugehörigen Häufigkeiten enthält.

Programmieren Sie diese Aufgabe:
a) mit Schleife(n) und
b) ohne Schleife(n)
und führen Sie einen Zeitvergleich durch! Mit welcher Programmierung wird das Ergebnis schneller ermittelt? (Zur Beantwortung der letzten Frage reicht die Angabe der jeweiligen Rechenzeit in Sekunden)


Bitte wenn möglich die befehhle durchgeben =)))
Private Nachricht senden Benutzer-Profile anzeigen


markuman
Forum-Guru

Forum-Guru


Beiträge: 320
Anmeldedatum: 14.12.12
Wohnort: ---
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
     Beitrag Verfasst am: 04.06.2014, 20:23     Titel: Re: Matlab Aufgabe -Summe Glieder berechnen + mit/ohne Schle
  Antworten mit Zitat      
Anja21 hat Folgendes geschrieben:
Hallo Liebe Matlab Gemeinde,


ich habe folgendes Problem und bis sehr verzweifelt:

Ich schreibe die Aufgaben mal hier rein:

Aufgabe 1

Berechnen Sie mit Matlab die Summe der ersten 100 Glieder der geometrischen Folge

16; 8; 4; 2; 1; 0,5; 0,25; ........!



Nun ja. Wenn ich absolut blutiger Anfänger wäre, würde ich es so umsetzen...bzw evtl so vorgehen. Hast du es denn zumind. mal versucht oder hast du einfach kein Bock auf deine Hausaufgaben?

Code:

A=32
summe=0;
schleife=1
while schleife <= 100
    A=A/2;
    summe=summe+A;
    schleife=schleife+1;
end
disp(summe)
 


So eine Einzeilerlösung sum(16./2.^[0:100]) wird man dir dann hingegen nicht abnehmen.
Du musst erklären können wie du deine geometrische Reihe entwickelt hast.

Anja21 hat Folgendes geschrieben:

Aufgabe 2

Erzeugen Sie n=10.000 ganzzahlige Zufallszahlen zwischen 1 und 10 und ermitteln Sie, wie oft die einzelnen Zahlen aufgetreten sind!



Also erst mal: rand() von Matlab liefert keinen Zufall. Wenn du Zufall möchtest, musst du zu Beginn seeden mit rng('shuffle')
Ansonsten sieht jede erste Zufallszahl in Matlab so aus:
Code:

>> format long g
>> rand

ans =

         0.814723686393179
 


Anja21 hat Folgendes geschrieben:

Geben Sie als Ergebnis eine Matrix aus, die in der ersten Spalte die Zahlen 1 bis 10 und in der zweiten Spalte die jeweils zugehörigen Häufigkeiten enthält.

Programmieren Sie diese Aufgabe:
a) mit Schleife(n) und
b) ohne Schleife(n)
und führen Sie einen Zeitvergleich durch! Mit welcher Programmierung wird das Ergebnis schneller ermittelt? (Zur Beantwortung der letzten Frage reicht die Angabe der jeweiligen Rechenzeit in Sekunden)

Die Zeit misst du mit tic, befehle; was; auch; immer; toc

Eine Zufallszahlen zwischen 1 und 10 generierst du dir mit randi([1 10]). Jetzt musst du nur noch eine Schleife von n=1:10000 anlegen und stumpf matrix(n)=randi([1 10]); durchlaufen lassen.
Optional kannst du noch zweite Schleifen-Versionen machen, in dem du vor die Schleife ein matrix=zeros(1,10000); setzt und über den gesamt Prozess auch noch mal die Zeit loggst.
Eine vektorisierte Version (ohne Schleife) funktioniert auch sehr sehr einfach wenn du einfach mal in die Dokumentation von randi schaust. Wenn ich dir diese jetzt auch noch schreibe, lernst du wirklich gar nichts mehr.

Und bezüglich der Auswertung, musst zunächst Spalte 1 mit den Zahlen 1:10 initialisieren. Also auswertung(:,1)=1:10'. In Reihe 1 Spalte 2 sollst du dann eintragen, wie oft die 1 in deiner Matrix vorkommt. Also z.B: matrix(1,2)=sum(a(a==1));
Anja21 hat Folgendes geschrieben:

Bitte wenn möglich die befehhle durchgeben =)))


Die DIY Bewegung ist bei dir noch nicht angekommen, oder? Smile
Ansonsten, jeder Anfang ist schwer, aber hier werden auch gerne die einfachsten Fragen beantwortet.
Für sowas hier werden wir hingegen von allen gehasst - zumal "deine" Lösungen nun googlebar sind und du dann auch ein ungenügend riskierst...
_________________

DIY OR DIE Cool

entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman
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.