came across an apparent Matlab incompatibility error related to symbolic variable assignment:
came up with what I think is a simple case:
Matlab 2020a:
>> syms a b c d
>> e = [a == b, c == d]
e =
[ a == b, c == d]
>> f(1) = a==b
f =
a == b
>> f(2) = c==d
f =
[ a == b, c == d]
>> g(2) = c==d
g =
[ 0, c == d]
>> g(1) = a==b
g =
[ a == b, c == d]
Octave 5.2.0 and Symbolic 2.9.0 (with non-bundled 3.7.0):
>> syms a b c d
>> e = [a==b,c==d]
e = (sym) [a = b c = d] (1x2 matrix)
>> f(1) = a==b
f = (sym) a = b
>> f(2) = c==d
error: Python exception: TypeError: cannot determine truth value of Relational
occurred at line 7 of the Python code block:
if not A or not A.is_Matrix:
error: called from
pycall_sympy__ at line 178 column 7
mat_rclist_asgn at line 78 column 5
mat_replace at line 144 column 5
subsasgn at line 101 column 13
>> g(2) = c==d
g = (sym) [0 c = d] (1x2 matrix)
>> g(1) = a==b
g = (sym) [a = b c = d] (1x2 matrix)