www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Matlab" - Funktion mit zwei Variablen
Funktion mit zwei Variablen < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Funktion mit zwei Variablen: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 10:58 Di 19.08.2008
Autor: ctevez

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

Hallo,
ich bin gerade am MATLABen und bin auf ein Porblem gestoßen bei dem ich nicht weiter komme..
Ich poste mal den Quellcode

function [] = BlackScholesAm(OptionType, SO, K, r, div, T, sig, tau)

%parameter
OptionType =1;%Call = 1, Put =0
SO = 50; %initial asset price
K = 50;%Strike
r = 0.1;%risk free rate of interest
div = 0;%divident yield of underlying
T = 5/12; %= %time of maturity
sig = 0.4; %= 0.2;%votality of underlying

%transformation
x=log(SO/K);
[mm] taumax=0.5*sig^2*T; [/mm]
[mm] q=(2*r)/sig^2; [/mm]
[mm] qdiv=2*(r-div)/sig^2; [/mm]


%gitterfeinheit
h = 0.0159;
nu = 0.5;
dtau = [mm] nu*h^2; [/mm]
M=ceil(taumax/dtau);

%maximum minimum
Nplus = (M+1)*h;
Nminus = -(M+1)*h;
N = round((Nplus-Nminus)/h);

%create vector of x and tau to identify meshpoints
xvalue = x +[Nplus:-h:Nminus];
tauvalue = [0:dtau:taumax+dtau];

%hochzahlen
vmax=16; %verändern
v=[0:1:vmax];


%matrixwerte
teta=0.5; %in [0,1] 0.5 crank nicholsen
omega=1.15; %in [1,2)

%PSOR-Feinheit
eps=10^(-6);




%w0=zeros(N,1);
%A=zeros(N-1,N-1);
%B=zeros(N-1,N-1);
%c=zeros(N-1,1);


%obstacle function
if OptionType ==1
    g(xvalue(i),tauvalue(j))=exp((0.25*(qdiv - [mm] 1)^2 [/mm] + q)*tauvalue(j))*max(exp(0.5*(qdiv +1)*xvalue(i)) - exp(0.5*(qdiv -1)*xvalue(i)), 0);
else
    g(xvalue,tauvalue)=exp((0.25*(qdiv - [mm] 1)^2 [/mm] + q)*tauvalue)*max(exp(0.5*(qdiv -1)*xvalue) - exp(0.5*(qdiv +1)*xvalue), 0);
end
g(xvalue,tauvalue)

bis hierhin bin ich, das Problem entsteht in der fkt g.
wenn ich nun ausführe, um mir g anzeigen zu lassen sagt MATLAB:
??? Subscript indices must either be real positive integers or logicals.

Error in ==> BlackScholesAm at 57
    g(xvalue(i),tauvalue(j))=exp((0.25*(qdiv - [mm] 1)^2 [/mm] + q)*tauvalue(j))*max(exp(0.5*(qdiv +1)*xvalue(i)) - exp(0.5*(qdiv -1)*xvalue(i)), 0);

liegt das vielleicht am Exponenten oder am falschen Array?

wenn ich die fkt g nur als g(xvalue,tauvalue) schreibe, sagt MATLAB:

??? Error using ==> mtimes
Inner matrix dimensions must agree.

Wenn mir jemand helfen könnte dieses Problem zu lösen, wäre ich sehr dankbar!
Mit freundlichen Grüßen
Jonas

        
Bezug
Funktion mit zwei Variablen: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:57 So 24.08.2008
Autor: Hing

ich denke, dir antwortet keiner, weil keiner 2 seiten listing korrigieren möchte. vielleicht kannst du deine frage ein wenig knapper formulieren?

Bezug
        
Bezug
Funktion mit zwei Variablen: Antwort
Status: (Antwort) fertig Status 
Datum: 16:26 So 24.08.2008
Autor: nschlange

Hi,

i und j müssen ganze Zahlen > 0 sein, weil Du die als Index verwendest.
Für xvalue(i) und tauvalue(j) gilt das gleiche.

Ansonsten siehe den Hinweis von hing.
Am Besten Du kürzt das soweit wie möglich, aber so, dass man das ausführen kann und der Fehler noch auftritt.

mfg nschlange

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]