Function Error: Already declared
显示 更早的评论
My function was working fine until I typed in clear all. Now it does not work.
I get this error message: Function 'get_portfolio_return' has already been declared within this scope.
This is my function code:
function [E_Rp, sigma_Rp] = get_portfolio_return( weight,exp_rets, vols,corr)
E_Rp= weight.* exp_rets(1,1)+ (1-weight).*exp_rets(1,2);
sigma_Rp= sqrt((weight.^2.*vols(1).^2) + ((1-weight).^2.*vols(2).^2)+(2.*corr.*(weight)).*(1-weight).*vols(1).*vols(2));
end
% The stated function defines the necessary variables for subsequent
% calculations. Expected Return is calculated as a function of weight and
% expected returns. Weight is the weight of Asset1 and exp_rets are the
% expected returns of asset 1 and asset 2.
What caused this problem/ how do I fix it?
1 个评论
Jeremy
2019-11-11
Did you save this as a function file separate from your main script file, or did you put it at the bottom of your script as a local function? Did you do both? How are you calling it?
采纳的回答
更多回答(2 个)
Muhammad Sinan
2019-12-30
1 个投票
When define user function in MATLAB programming then you will need the following format.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function (Dependent Variables1, 2, 3, ...) = FunctionName(Independent Variables1, 2, 3, ...)
body of function
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
so, when you save this file then you have to use this file on the name same as the name of the function. Otherwise, the function will not work.
Example:
FunctionName.m
2 个评论
Sian Evans
2020-6-5
My first function name and the file name are the same yet I still get this error? I don't understand how to bypass it?
Walter Roberson
2020-6-5
What is the first executable word in the file? The very first thing that is not a comment?
类别
在 帮助中心 和 File Exchange 中查找有关 Scope Variables and Generate Names 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!