matlab符号运算,系数的提取问题.比如一个符号多项式,A*cos(a)*cos(b)+B*sin(a)*sin(b)+C*cos(a)+D*sin(b),这个表达式中的变量包括4个,cos(a)*cos(b)、sin(a)*sin(b)、cos(a)、sin(b),要找到它们的系数A B C D,该怎么找呢?可能问题没有描述清楚,总共6个方程,比如第一个方程为py*cos(a + b) -1084*ny*cos(a + b) + 1084*nx*sin(a + b) - px*sin(a + b)= 126*sin(d + e) +1560*sin(d)-1700*sin(b),除了a、b外其余为常量,如果以sin(a)*sin(b)、sin(a)*cos(b) cos(a)*sin(b)、cos(a)*cos(b)、cos(a)、sin(a)这6个不独立的量为变量,将这6个方程构造成矩阵形式,AX=f(b,d,e),AX表示方程左边,f(b,d,e)表示方程右边,其中x=[sin(a)*si
问题描述:
matlab符号运算,系数的提取问题.
比如一个符号多项式,A*cos(a)*cos(b)+B*sin(a)*sin(b)+C*cos(a)+D*sin(b),这个表达式中的变量包括4个,cos(a)*cos(b)、sin(a)*sin(b)、cos(a)、sin(b),要找到它们的系数A B C D,该怎么找呢?
可能问题没有描述清楚,总共6个方程,比如第一个方程为
py*cos(a + b) -1084*ny*cos(a + b) + 1084*nx*sin(a + b) - px*sin(a + b)= 126*sin(d + e) +1560*sin(d)-1700*sin(b),除了a、b外其余为常量,如果以sin(a)*sin(b)、sin(a)*cos(b) cos(a)*sin(b)、cos(a)*cos(b)、cos(a)、sin(a)这6个不独立的量为变量,将这6个方程构造成矩阵形式,AX=f(b,d,e),AX表示方程左边,f(b,d,e)表示方程右边,
其中x=[sin(a)*sin(b),sin(a)*cos(b),cos(a)*sin(b,)cos(a)*cos(b),cos(a),sin(a)]T,x为6行一列向量,如何找到其系数矩阵A?
答
在matlab中编写一个系数提取函数(Function),利用字符串和变量转换.