level 1
啦拉辣落蜡
楼主
问题背景:为了解决课题中的问题,需要以下两个步骤
①在matlab中利用符号计算,根据数学公式写算法,求出一个矩阵的解析表达式(用各种符号表示的)
②有了这个矩阵的表达式,直接拿到c中,带入数值实时计算
目前步骤①已经完成(并且验证表达式没错),但是问题是①中求出的矩阵超级超级超级长(似乎有8w个乘号),并不能直接把这么长的表达式拿进c里用。
但是我发现这个超长的矩阵里有很多相同的项(或者说是中间变量,例如有几千个x1*x2*x3*x4项),事实上昨天请教了一个学长,他的解决办法也类似,说是用Maple进行代码生成,代码生成它会帮忙做中间变量的简化,之后学长太忙就没法继续问了。。。
我没用过Maple,也不太懂代码生成,好像matlab也可代码生成,所以想请教一下“用Maple进行代码生成,代码生成它会帮忙做中间变量的简化” 是怎么实现的? 如能解答一下,十分感谢!!
2018年09月16日 02点09分
1
①在matlab中利用符号计算,根据数学公式写算法,求出一个矩阵的解析表达式(用各种符号表示的)
②有了这个矩阵的表达式,直接拿到c中,带入数值实时计算
目前步骤①已经完成(并且验证表达式没错),但是问题是①中求出的矩阵超级超级超级长(似乎有8w个乘号),并不能直接把这么长的表达式拿进c里用。
但是我发现这个超长的矩阵里有很多相同的项(或者说是中间变量,例如有几千个x1*x2*x3*x4项),事实上昨天请教了一个学长,他的解决办法也类似,说是用Maple进行代码生成,代码生成它会帮忙做中间变量的简化,之后学长太忙就没法继续问了。。。
我没用过Maple,也不太懂代码生成,好像matlab也可代码生成,所以想请教一下“用Maple进行代码生成,代码生成它会帮忙做中间变量的简化” 是怎么实现的? 如能解答一下,十分感谢!!