我想同时为多个符号变量赋值。
例如,
syms a b c
% for several reasons, I have to define a, b, c as symbolic variables.
x = [a, b, c];
y = [1, 2, 3];
当我像上面那样定义矩阵x和y时, 我想得到以下答案。
a = 1
b = 2
c = 3
% Assign values to symbolic variables.
当然,我只需使用以下代码即可得到这个答案。
[a, b, c] = deal(1, 2, 3);
但我必须使用矩阵x和y而不是[a,b,c]和(1,2,3)。 因为实际上我计算时矩阵x中有很多符号变量。 所以我想使用矩阵。
在这种情况下,如果我使用矩阵x和y
x = deal(y);
答案就是
x = 1 2 3
但我想得到答案,
a = 1
b = 2
c = 3
如何使用矩阵x和y为变量赋值? 请回答我的问题。 谢谢。
答案 0 :(得分:0)
我认为你不应该尝试这样做,我相信你必须先做一些其他的选择来避免这个问题。但它可以做到,可能比我做得更好。
syms a b c
x=[a b c]
y=[1 2 3]
%// We want to get the name of the variable from x, and the value from y
arrayfun(@(i) assignin('caller',char(x(i)),y(i)),1:length(x))