# Can anyone please debug the error

조회 수: 2(최근 30일)
Kane0610 20 May 2014
댓글: Kane0610 20 May 2014
My function is as follows
function F = myobjfun(x,y) syms i x y k F = symsum(((y(3).*x(i).*log(1+x(i))/symsum(x(k),k,0,9)-(y(2).*x(i))),i,0,9); end
when i am passing x=[1,2,....10], y=[0.5,0.5]
I am getting the following error
Error in sym/subsref (line 1580) B = mupadmex('symobj::subsref',A.s,inds{:});
Error in myobjfun (line 4) F = symsum(((y(3).*x(i).*log(1+x(i)))-(y(2).*x(i))),i,0,9);

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

### 채택된 답변

Pedro Villena 20 May 2014
편집: Pedro Villena 20 May 2014
• symsum is a symbolic command for symbolic variables.
symsum(x(k),k,0,9) -> sum(x)
• in matlab, don't exist the zero index, the first index is one.
• you had miss one parenthesis some where.
• the argument y, only have 2 elements.
y(3) -> y(1)
• i think that you're confusing matlab script with another symbolic language like mathematica, cause you don't need symbolic toolbox.
function F = myobjfun(x,y)
n = numel(x);
i = 1;
F = y(1).*x(i).*log(1+x(i))/sum(x) - y(2).*x(i);
for i=2:n,
F = F + y(1).*x(i).*log(1+x(i))/sum(x) - y(2).*x(i);
end

#### 댓글 수: 1

Kane0610 20 May 2014
Thank you. :)

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

### Community Treasure Hunt

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

Start Hunting!