在MATLAB中用符号定义函数代替数值向量

在MATLAB中用符号定义函数代替数值向量,matlab,symbolic-math,Matlab,Symbolic Math,这个问题我已经解决了很长一段时间,不幸的是,仍然找不到合适的答案。问题是: 我有一段代码,它生成一个带有'syms'函数的字符串,并请求用户以'x(I)'形式输入他/她所需的函数: 现在,我想把“开始”向量赋给这个符号函数“f”。我怎么做?subs(f,symvar(f),start)“把向量赋给函数”是什么意思?亲爱的路易斯,我想把向量赋给一个多维函数。例如,假设你有一个三维向量[123],和一个三维函数f(x1,x2,x3)=x1+x2+x3。你如何分配(替换)向量给函数?亲爱的Pawel,

这个问题我已经解决了很长一段时间,不幸的是,仍然找不到合适的答案。问题是: 我有一段代码,它生成一个带有'syms'函数的字符串,并请求用户以'x(I)'形式输入他/她所需的函数:


现在,我想把“开始”向量赋给这个符号函数“f”。我怎么做?

subs(f,symvar(f),start)“把向量赋给函数”是什么意思?亲爱的路易斯,我想把向量赋给一个多维函数。例如,假设你有一个三维向量[123],和一个三维函数f(x1,x2,x3)=x1+x2+x3。你如何分配(替换)向量给函数?亲爱的Pawel,你的指导真的很有用。它可以解决我的问题。非常感谢兄弟。
start=input('Enter Starting Point In A Vector Form:\n');
N = input('How many variables Your Function Has?\n');
strArray = [ repmat('x',N,1) dec2base(1:N,10) repmat(' ',N,1)]; % create strings
strArray = strvcat(regexprep(mat2cell(strArray, ...
  ones(1,size(strArray,1)), size(strArray,2)),'x0+','x')).'; % remove heading 0's
str = ['syms ' strArray(:).']; % string to be evaluated
display(str);
eval(str);
f=input('Enter Your Desired Function In The Form Of x(i) Variables;eg:x1^2 etc:\n');