MATLAB: Symbolic Substitution Using a Struct


I have a Nx1 matrix of symbolic variables called XReplace. In a symbolic expression called MyExpression, I would like to replace XReplace with the symbolic values in a struct called MyStruct, which has N fields each of which contain a symbolic expression I wish to substitute in. Using NewExpression = subs(MyExpression,XReplace,MyStruct) doesn't work since XReplace is a matrix while MyStruct is a struct. Is there anyway I can do this substitution without using a for loop to iterate through each field of the struct?
Thank you,

Best Answer

  • subs(MyExpression, fieldnames(MyStruct), struct2cell(MyStruct))