|
Autor |
Random Walk |
|
felixx
Ehemals Aktiv  Dabei seit: 15.10.2003 Mitteilungen: 530
 | Themenstart: 2004-01-22
|
Hallo,
Ich habe folgendes Programm in matlab geschrieben:
---------------------------------------------------------------------
clear all
t=[1:10];
alpha=0.5;
betha=0.5;
n=0;
N(1)=0;
for i=2:length(t)
z1=rand(1);
if z1<=alpha
n=n-1;
else
n=n+1;
end
N(i)=n;
end
plot(N)
-------------------------------------------------------------------
ich würde gerne eine Funktion schreiben dass ich mehrere(unterschiedliche) Kurven öffters ausgeben kann(jedoch die alten kurven beibehalten bleiben).
Gruss felixx
|
Profil
|
Yves
Senior  Dabei seit: 26.07.2003 Mitteilungen: 2479
Wohnort: Saarbrücken/Trier
 | Beitrag No.1, eingetragen 2004-01-23
|
Hallo felixx
Das hast du sehr schön gemacht.
Aber was willst du jetzt von uns? Ich kenne mich leider nicht mit Matlab aus, aber ich kann nicht direkt erkennen, wo in deinem Thread eine Frage steht.
Also geb dir doch nächstes mal bitte ein bisschen mehr Mühe mit der Fragestellung.
Yves
P.S.: Ich habe vorhin mein Geschirr gespült. Jetzt würde ich gerne meine Teller in den Schrank räumen. (Siehst du die parallelen in unseren Posts?)
P.P.S.: Wir haben doch jetzt so ein schickes Informatikforum, das würde doch auch gut darein passen ...
[ Nachricht wurde editiert von Yves am 2004-01-23 00:58 ]
|
Profil
|
viertel
Senior  Dabei seit: 04.03.2003 Mitteilungen: 27787
Wohnort: Hessen
 | Beitrag No.2, eingetragen 2004-01-23
|
Aber bitte verschieben, nicht nochmal posten
|
Profil
|
felixx
Ehemals Aktiv  Dabei seit: 15.10.2003 Mitteilungen: 530
 | Beitrag No.3, vom Themenstarter, eingetragen 2004-01-23
|
Guten morgen,
ich weiß leider nicht wie man eine Nachricht verschieben kann!
Zu meiner Formulierung:
Ich wollte fragen ob mir jemand helfen kann dieses Programm zu erweitern sodass ich mehrere Randomwalks in einen Graphen zeichnen kann.
mfg felixx
|
Profil
|
lochi
Senior  Dabei seit: 19.08.2002 Mitteilungen: 1484
Wohnort: Allgäu
 | Beitrag No.4, eingetragen 2004-01-23
|
Hallo felixx,
kein Problem, gerne. Was ist dein Vorwissen in Matlab? Weißt du, wie man eine Funktion schreibt? Kennst du Cell-Arrays und Matrizen?
Viele Grüße,
Lochi
|
Profil
|
felixx
Ehemals Aktiv  Dabei seit: 15.10.2003 Mitteilungen: 530
 | Beitrag No.5, vom Themenstarter, eingetragen 2004-01-23
|
hi,
naja meine Kenntnisse sind solala, d.h, Funktionen und Matrizen kann ich eingeben!
mfg felixx
|
Profil
|
lochi
Senior  Dabei seit: 19.08.2002 Mitteilungen: 1484
Wohnort: Allgäu
 | Beitrag No.6, eingetragen 2004-01-23
|
Hallo felixx,
dann machen wir uns mal ans Werk. Kernstück deines Programms soll ja eine Funktion sein, die so einen zufälligen Pfad erzeugt. Dazu können wir deinen obigen Code modifizieren.
Also:
1. Wir müssen wissen, was wir als Parameter brauchen, das musst du selbst festlegen. Sinnvoll wäre z.B. die Länge des "Walks". Als Rückgabewert empfehle ich eine eindimensionale Matrix (sozusagen ein Vektor).
2. Im Funktionsrumpf können wir mit ein paar Änderungen deinen Code von oben verwenden:
a) clear all brauchen wir nicht, statt dessen lieber so etwas wie clear N verwenden.
b) t=[1:10]; Den Sinn dieser Variable musst du mir noch erklären, meiner meinung nach brauchen wir die auch nicht.
c) alpha=0.5; Das bleibt.
d) betha=0.5; Wo taucht das betha im Programm noch mal auf? Nirgends, also raus damit.
e) n=0; bleibt.
f) N(1)=0; Dann wird N unsere Rückgabevariable.
g) for i=2:length(t) Jetzt natürlich nicht mehr bis zur Länge t, sondern so weit, wie es der Parameter sagt.
h) Der Rest bleibt so, bis auf das plot, das hat in der Funktion ja nichts zu suchen.
Wenn du diese Funktion dann verwendest, wird sie dir einen Zeilenvektor geben, der genau so lang ist, wie der Parameter angibt, und der einen "Walk" im Graphen darstellt.
Wenn du mehrere Walks haben möchtest, dann brauchst du die Funktion nur mehrfach aufrufen. Also: z.B.
plot(kjkjlkj(10)); hold on; plot(kjkjlkj(10)); hold off
wobei kjkjlkj für den Funktionsnamen der obigen Funktion steht.
Kommst du damit schon mal weiter?
Viele Grüße,
Lochi
|
Profil
|
frosty
Senior  Dabei seit: 07.07.2003 Mitteilungen: 1080
Wohnort: Dresden
 | Beitrag No.7, eingetragen 2004-02-01
|
Hi felixx,
wie kommst du voran?
Ciao,
frosty
|
Profil
|
felixx
Ehemals Aktiv  Dabei seit: 15.10.2003 Mitteilungen: 530
 | Beitrag No.8, vom Themenstarter, eingetragen 2004-07-13
|
vielen Dank mal fr eure hilfe ;)
|
Profil
|
felixx hat die Antworten auf ihre/seine Frage gesehen. felixx hat selbst das Ok-Häkchen gesetzt. |
|
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen. Lesen Sie die
Nutzungsbedingungen,
die Distanzierung,
die Datenschutzerklärung und das Impressum.
[Seitenanfang]
|