赵运 发表于 2014-5-6 10:26:55

数字替换字符数组元素

matlab生成一串字符数组,例如:X=,想利用X中字母完成表达式,之后再给X赋予数值,对表达式进行计算!不知道该如何用数字替换之前数组的字符?请教各位M大神!!

李尚福 发表于 2014-5-6 15:23:06

把字符赋值,然后用eval作用到表达式

赵运 发表于 2014-5-6 15:24:11

你好,字符怎样赋值?数组元素比较多,不可能你每一个都写成x1=2;x2=3.......,但是如果用循环的话计算总是出错,for i=1:100   X(i)=i;end请教大神!!

张铁军 发表于 2014-5-6 17:18:21

你说的字符数组是指 symbolic 数组还是?建议提供一下你的定义X的代码

赵运 发表于 2014-5-6 17:23:23

是symX=sym('x',);      利用X中x1,x2,x3.....写表达式,之后赋予x1,x2,x3....数值,计算表达式。for i=1:100X(i)=i;end      但是这样赋予数值无效,计算结果出错!请教大神了,谢谢!

王学德 发表于 2014-5-7 09:54:15

X = sym('x',);f(X) = X*X.'f(1,2,3)g = X*X.'subs(g,X,1:3)这两种都可以

张铁军 发表于 2014-5-7 15:08:18

你这样赋值并没有错误,你说的 “赋予数值无效,计算结果出错” 能否详细点?另外,赋值可以用 subs,就像 6L 那样。要实现你这里的赋值,可以写成X=sym('x',);subs(X,X,1:100)
页: [1]
查看完整版本: 数字替换字符数组元素