[matlab]符号表达式中的系数提取问题 | 您所在的位置:网站首页 › 符号怎么提取 › [matlab]符号表达式中的系数提取问题 |
今天遇到一个问题: expr = x*y*z 如何将y*z作为一个整体,然后求出其的系数x 首先映入眼帘的是matlab中的coeffs函数 但是使用 coeffs(expr,y*z); 结果 Error了,貌似是不能输入表达式做为第二个参数 然后我就想能不能将 y*z这个表达式替换成一个变量比如n 就使用subs subs(expr,y*z,n); 结果倒是没出错,但是返回的是 x*y*z, 继续测试 subs(expr,y,n); 以及 subs(expr,x*y*z,n); 返回结果都是对的,唉 目前以我的水平,要做也可以,有两种办法 1.将expr转换为str,然后提取各项,匹配 2.具体分析这个问题,取巧 http://zhidao.baidu.com/question/246232648.html 这个知道答案太针对问题了,没有普适性。 3.利用表达式除法
今天想到一个方法,连用两个coeff! 今天在实现的过程中发现不好用,因为比如要要提取expr = x^5*y+x*5 的系数,先用一次[c,t]=coeffs(expr,x)这时可以得到的c是有两个个元素,还需要判断哪一个是x^5*y那一项,赋给expr,然后再使用coeffs(expr,y),这是很麻烦的。 |
CopyRight 2018-2019 实验室设备网 版权所有 |