Hello everybody. I am really desperate because I do not succeed in simulating asset paths by monte carlo simulation. Somehow, everytime I am typing in the one of the following commands:
function SPaths=AssetPaths(S0,mu,sigma,T,NSteps,NRepl)
or
function SPaths=AssetPaths(S0,mu,sigma,T,NSteps,NRepl) or
paths=AssetPaths(...)
I get the following message:
??? function SPaths=AssetPaths(S0,mu,sigma,T,NSteps,NRepl) | Error: Function definitions are not permitted in this context.
Can someone please help me? Maybe I am missing the AssetPaths.m file?
Thanks for every answer
Kind regards dominic

Réponses (4)

Oleg Komarov
Oleg Komarov le 22 Juin 2011

1 vote

You can declare a function only in a separate m. file and only as the very first line. So for example the following script will give the same error:
a = 10
function out = hi(a)
end

2 commentaires

Walter Roberson
Walter Roberson le 22 Juin 2011
Minor variation: function must be the first non-blank non-comment line.
知有
知有 le 2 Août 2023
请问你可以提供一下定义该函数的内容吗 十分感谢

Connectez-vous pour commenter.

lavistacrunchy
lavistacrunchy le 22 Juin 2011

0 votes

Thanks for the quick response. Unfortunately I still don't get, how I can make it work. Does your answer mean, that I cannot enter the function in the command window or in a script file?
I am currently using version 7.12.0 (R2011a).

3 commentaires

lavistacrunchy
lavistacrunchy le 22 Juin 2011
This is what I typed in at first:
>> function [SPaths]=AssetPaths(S0;mu;sigma;T;NSteps;NRepl)
??? function [SPaths]=AssetPaths(S0;mu;sigma;T;NSteps;NRepl)
|
Error: Function definitions are not permitted in this context.
>> S0=50;
>> mu=0.04;
>> sigma=0.3;
>> T=1;
>> Nsteps=365;
>> NRepl=3;
>> function [SPaths]=AssetPaths(S0;mu;sigma;T;NSteps;NRepl)
??? function [SPaths]=AssetPaths(S0;mu;sigma;T;NSteps;NRepl)
|
Error: Function definitions are not permitted in this context.
So, when it didn't work, I tried this:
>> S0=50;
>> mu=0.04;
>> sigma=0.3;
>> T=1;
>> Nsteps=365;
>> NRepl=3;
But both ways didn't work.
Does anybody know, what might be the problem. If not in the command window, where do I have to type in the command?
Walter Roberson
Walter Roberson le 22 Juin 2011
Correct, you cannot enter function definitions at the command window or script file. You must put them in to a function .m file.
Walter Roberson
Walter Roberson le 22 Juin 2011
At the command window,
edit AssetPaths
and paste in the code and save the file as AssetPaths.m

Connectez-vous pour commenter.

Angus
Angus le 22 Juin 2011

0 votes

You need to put the function AssetPath in a separate m-file that is named the same as the function.
eg: file 1: AssetPaths.m
function results = AssetPaths( ... )
statements
end
now you can invoke a call to AssetPaths on the command line like
>> paths = AssetPaths( ... input variables)
Anirban Naskar
Anirban Naskar le 25 Mai 2014

0 votes

Is there any in-built function called "assetpaths"?

Catégories

En savoir plus sur Scope Variables and Generate Names dans Centre d'aide et File Exchange

Commenté :

le 2 Août 2023

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by