|
Autor |
Anwendung von Funktionen |
|
Tidus2k6
Wenig Aktiv  Dabei seit: 11.11.2011 Mitteilungen: 241
 | Themenstart: 2019-05-18
|
Hallo!
Ich komme mit MatLab eigentlich ziemlich gut zurecht. Ich weiß so ziemlich immer was in den Aufgaben gefordert wird und kann dies auch meist gut umsetzen.
KURZES BRIEFING:
Allerdings komme ich im aktuellen Übungsblatt nicht so gut weiter
Die Aufgabe lautet:
https://matheplanet.com/matheplanet/nuke/html/uploads/b/32523_hw5.PNG
Die hw5.m Datei ist diese:
\sourceon Matlab
function []=lab3_2()
N = 100000;
k = randnr(N);
alpha = [ 0.85 -0.04;
0.2 0.23;
-0.15 0.26;
0 0 ];
beta = [0.04 0.85;
-0.26 0.22;
0.28 0.24;
0 0.16];
gamma = [1.6 1.6 0.44 0];
% your stuff goes here
end
%%%%%%%%%%%%%%%%%%%%%%%%%%
% input: integer number N
% output: vector v containing weighted random integers
% 1 to 4
function [v] = randnr(N)
v = ones(1,N);
for i=1:N
r = rand();
if ( (r >0.85) & (r<0.92) )
v(i) = 2;
elseif ( (r>0.92) & (r<0.99) )
v(i) = 3;
elseif (r>0.99)
v(i) = 4;
end
end
end
%%%%%%%%%%%%%%%%%%
\sourceoff
- Ich sehe, dass die obere Funktion auf die untere Funktion randnr(N) zugreift.
- Ich verstehe bei der ersten Funktion den Syntax nicht genau. Dort steht ein "[ ]" und anschließend "lab3_2()". Kann mir das jemand etwas genauer erklären?
Zum eigentlichen Lösungsansatz habe ich bisher folgendes (ohne es testen zu können, da ich nicht weiß wwelche Funktion aufgerufen werden soll...):
\sourceon Matlab
(...)
% your stuff goes here
Points = zeros(N,2);
Points(1,1) = 0;
Points(1,2) = 0;
for i=1:N-1
Points(i+1,1) = alpha(k,1)*Points(i,1)+beta(k,1)*Points(i,2)
Points(i+1,2) = alpha(k,2)*Points(i,1)+beta(k,2)*Points(i,2)+gamma(k);
end
(...)
\sourceoff
Könnte mir jemand helfen : )??
|
Profil
|
rlk
Senior  Dabei seit: 16.03.2007 Mitteilungen: 11603
Wohnort: Wien
 | Beitrag No.1, eingetragen 2019-05-19
|
Hallo Tidus2k6,
eine Funktionsdefinition in Matlab hat die Form
function [ $r_1, r_2, \ldots, r_M$] = name( $i_1, i_2, \ldots, i_P$)
wobei $i_p, p\in\{1,2,\ldots,P\}$ die Eingabeparameter und $r_m, m\in\{1,2,\ldots,M\}$ die Rückgabeparameter der Funktion name sind.
Die Funktion lab3_2 hat weder Eingabe- noch Rückgabeparameter ($P=M=0$), daher sieht die Definition ungewohnt aus. Diese Funktion (in anderen Programmiersprachen gibt es dafür Prozeduren oder Unterprogramme) rufst Du auf, um die Aufgabe zu lösen.
Dein Vorschlag für den zu ergänzenden Teil des Programms fängt gut an, aber k ist ein Vektor, den Du nicht mit dem Index $k$ verwechseln darfst. Die Ausgabe mit plot fehlt auch noch.
Ich hoffe, das hilft Dir,
Roland
|
Profil
|
Tidus2k6 hat die Antworten auf ihre/seine Frage gesehen. Tidus2k6 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]
|