“常用公式”在线计算,“设计手册”在线查询
matlab生成一串字符数组,例如:X=[x1;x2;x3.......X100],想利用X中字母完成表达式,之后再给X赋予数值,对表达式进行计算!不知道该如何用数字替换之前数组的字符?请教各位M大神!!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 支持支持 反对反对

共 6 个关于本帖的回复 最后回复于 2014-5-7 15:08

沙发
李尚福 十品草民 发表于 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的代码
5#
赵运 十品草民 发表于 2014-5-6 17:23:23 | 只看该作者
是symX=sym('x',[1,100]);        利用X中x1,x2,x3.....写表达式,之后赋予x1,x2,x3....数值,计算表达式。for i=1:100  X(i)=i;end        但是这样赋予数值无效,计算结果出错!请教大神了,谢谢!
6#
王学德 新来的 发表于 2014-5-7 09:54:15 | 只看该作者
X = sym('x',[1 3]);f(X) = X*X.'f(1,2,3)g = X*X.'subs(g,X,1:3)这两种都可以
7#
张铁军 新来的 发表于 2014-5-7 15:08:18 | 只看该作者
你这样赋值并没有错误,你说的 “赋予数值无效,计算结果出错” 能否详细点?另外,赋值可以用 subs,就像 6L 那样。要实现你这里的赋值,可以写成X=sym('x',[1,100]);subs(X,X,1:100)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注我们

360网站安全检测平台