Undefined operator '+' for input arguments of type 'table'
1 次查看(过去 30 天)
显示 更早的评论
Hello to everybody,
I have a problem with a particular algorithm that performs a multi-objective optimization.
When I try to select a certain number of columns using two parameters in the algorithm this error appears: "Undefined operator '+' for input arguments of type 'table'", but when I try to do the same thing with 2 normal passages on the command window it works.
Could someone help me?
There are some pictures to understand what I mean
2 个评论
Stephen23
2019-9-26
编辑:Stephen23
2019-9-26
The curse of global variables!
Global variables make it possible for data to be changed at any time by any function/class, which is why it is recommended to avoid using them. Most likely you could avoid this bug by writing better code without reyling on anti-pattern global variables.
etc.
Rather than global variables I strongly recommend either using nested functions or parameterizing your function/s., as appropriate for your algorithm.
Nothing in your code indicates why those variables defined in the base workspace should be the same as those global variables.
回答(1 个)
Sebastian Körner
2019-9-26
try this:
i=V+M+1;
a= table2array(population(:,i))
if all(a(:)==0)
...
end
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!