问题是这样的,我有50个syms形式的方程表达式([eqn1,eqn2,eqn3,...,eqn50]),因为要做一些变量的替换,所以我用char和string将方程表达式变成字符串结构,然后进行查找和替换,最后用eval再将字符串变回MATLAB运行的结构,但是因为其表达式非常长,用eval非常非常慢,将这50个eqns变成字符串再拉回来变成matlab语句,只是运行了1步,一共有上百步,每一步都要做同样的事情(将50个eqns变成字符串替换再拉回来), 有没大神对这类问题有好的办法,多谢!
为什么不再计算的时候再进行查找和替换
或者如果你这表达式基本都是一样的话,最好的方法是列表里面只存变量,然后在进行循环的时候把只需要把变量拿出来传到固定函数进行计算就行了
其实运算速度matlab是很慢很慢的,以前用matlab做仿真,一个图形运行了40个小时才出来,然后换成用VB编写,2个小时就出来了。如果知道具体的算法,我建议可以用其他高级语言来处理,效率会高很多。