Array index in symsum
4 次查看(过去 30 天)
显示 更早的评论
Hi,
I try to define this function
syms k;
error = @(c, r)symsum((abs(Data(k,:)-c)-r).^2,k,1,119);
Where Data is a 119x3 matrix, and c and r are 1x3. I get this error:
Error using sym/subsindex (line 737)
Invalid indexing or function definition. When defining a function, ensure that
the arguments are symbolic variables and the body of the function is a SYM
expression. When indexing, the input must be numeric, logical, or ':'.
I understand the error is in the index k of Data, but I don't know how to fix it.
Any one can help me?
Thanks
0 个评论
采纳的回答
Walter Roberson
2016-8-23
Symbolic variables cannot be used as indices. You need to sum() definite values instead.
sum(abs(Data(1:119,:)-c)-r).^2)
You might need to use bsxfun() to get the right sizes of variables.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!