研发埠

标题: 数字替换字符数组元素 [打印本页]

作者: 赵运    时间: 2014-5-6 10:26
标题: 数字替换字符数组元素
matlab生成一串字符数组,例如:X=[x1;x2;x3.......X100],想利用X中字母完成表达式,之后再给X赋予数值,对表达式进行计算!不知道该如何用数字替换之前数组的字符?请教各位M大神!!
作者: 李尚福    时间: 2014-5-6 15:23
把字符赋值,然后用eval作用到表达式
作者: 赵运    时间: 2014-5-6 15:24
你好,字符怎样赋值?数组元素比较多,不可能你每一个都写成x1=2;x2=3.......,但是如果用循环的话计算总是出错,for i=1:100     X(i)=i;end请教大神!!
作者: 张铁军    时间: 2014-5-6 17:18
你说的字符数组是指 symbolic 数组还是?建议提供一下你的定义X的代码
作者: 赵运    时间: 2014-5-6 17:23
是symX=sym('x',[1,100]);        利用X中x1,x2,x3.....写表达式,之后赋予x1,x2,x3....数值,计算表达式。for i=1:100  X(i)=i;end        但是这样赋予数值无效,计算结果出错!请教大神了,谢谢!
作者: 王学德    时间: 2014-5-7 09:54
X = sym('x',[1 3]);f(X) = X*X.'f(1,2,3)g = X*X.'subs(g,X,1:3)这两种都可以
作者: 张铁军    时间: 2014-5-7 15:08
你这样赋值并没有错误,你说的 “赋予数值无效,计算结果出错” 能否详细点?另外,赋值可以用 subs,就像 6L 那样。要实现你这里的赋值,可以写成X=sym('x',[1,100]);subs(X,X,1:100)




欢迎光临 研发埠 (http://bbs.yanfabu.com/) Powered by Discuz! X3.2