필터 지우기
필터 지우기

Function Error: Already declared

조회 수: 23 (최근 30일)
Chase Weinberg
Chase Weinberg 2019년 11월 11일
댓글: Yasmeen 2023년 7월 19일
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
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?

댓글을 달려면 로그인하십시오.

채택된 답변

Chase Weinberg
Chase Weinberg 2019년 11월 11일
Okay, so the problem was the function name was different from what I assigned it. I did not realize the name I saved it as has to match the part after function []=
  댓글 수: 1
Walter Roberson
Walter Roberson 2019년 11월 11일
The rule is that if there is a difference between the file name and the name of the first function in the file, then in order to call the function, you need to use the file name.

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Muhammad Sinan
Muhammad Sinan 2019년 12월 30일
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
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
Walter Roberson 2020년 6월 5일
What is the first executable word in the file? The very first thing that is not a comment?

댓글을 달려면 로그인하십시오.


Sumanth Hegde
Sumanth Hegde 2021년 12월 11일
I got this error because I declared the same function name twice.

카테고리

Help CenterFile Exchange에서 Data Distribution Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by