Я сталкиваюсь с ошибкой, используя innerjoin
, когда одна из таблиц содержит столбец объектов OptimizationVariable:
% A normal table
tLeft = table([1;2],[3;4],'VariableNames',{'v1' 'v2'})
% A table with a column of `optimvar` objects
tRight = table( [1;2] , optimvar('myvar',2,1) , ...
'VariableNames',{'v1' 'ov2'})
% `join` works
tJoin = join(tLeft,tRight,'Key','v1')
showexpr(tJoin.ov2)
% myvar(1)
% myvar(2)
% `innerjoin` yields error assigning to optimvar object
tJoin = innerjoin(tLeft,tRight)
% Work-around
tJoin = innerjoin(tLeft,tRight,'RightVar',{})
tJoin = join( tJoin , tRight , 'RightVar','ov2' )
showexpr(tJoin.ov2)
% myvar(1)
% myvar(2)
Есть ли фундаментальный концептуальный недостаток innerjoin
в таблице, содержащей столбец OptimizationVariable, или это просто болезненные боли в новом высокоуровневом рабочем процессе оптимизации Matlab?