symbolic variable multiplication with numerical matrix
6 次查看(过去 30 天)
显示 更早的评论
Hi,
I need to multiply a smybolic variable with a numerical matrix. My code is:
syms b1 b2 b3 b4
A = b1.*B + b2.*C + b3.*D + b4.*E
B, C, D and E are matrices that contain numbers. b1 to b4 are 1x1 unspecified variables. When I use the code above I get absurd numbers like (5038398039803537*b1)/36028797018963968. The numbers in numerical matrices are between 0 and 1. I am expecting elements of A that look like, for example, 0.4*b1 + 0.7*b2 + 0.1*b3 + 0.2*b4. I don't even understand where that division is coming from. Thanks in advance.
0 个评论
采纳的回答
Steven Lord
2019-4-14
When you perform that multiplication, Symbolic Math Toolbox converts your numbers into rational numbers rather than leaving them as floating-point numbers. Use the vpa function to approximate those rational numbers to a certain number of decimal points, or use subs to substitute numeric values for your symbolic variables then convert to double if necessary.
0 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!