Undefined operator '+' for input arguments of type 'table'

1 回表示 (過去 30 日間)
Marco Rozzi
Marco Rozzi 2019 年 9 月 26 日
編集済み: Stephen23 2019 年 9 月 26 日
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 meana.jpg
b.jpg
  2 件のコメント
Stephen23
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.
Marco Rozzi
Marco Rozzi 2019 年 9 月 26 日
I thought that was an elegant way use this kind of variable.
I have changed my script defining the variables for each function and it seems to work.
Thank you, I was going crazy

サインインしてコメントする。

回答 (1 件)

Sebastian Körner
Sebastian Körner 2019 年 9 月 26 日
try this:
i=V+M+1;
a= table2array(population(:,i))
if all(a(:)==0)
...
end

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

タグ

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by