在MATLAB中:如何将符号变量(字符串)与浮点向量相乘?

在MATLAB中:如何将符号变量(字符串)与浮点向量相乘?,matlab,octave,symbolic-math,Matlab,Octave,Symbolic Math,我刚开始使用MATLAB和Octave。由于我对语法不熟悉,我不太确定我是否有可能解决这些问题。现在,我遇到了这个警告: '警告:将浮点值传递给sym是危险的,请参阅“帮助sym”' 当我尝试将符号变量t(sym)与浮点向量[sin(0.1)、cos(0.1)、-sin(0.1)]相乘时 为了能够继续计算,我希望得到的结果应该是[0.09983*t,0.995*t,-0.09983*t] 我怎样才能得到这个? 谢谢 在MATLAB R2016b中,此操作不会出现错误或警告。你想用什么来运行它?@

我刚开始使用MATLAB和Octave。由于我对语法不熟悉,我不太确定我是否有可能解决这些问题。现在,我遇到了这个警告:

'警告:将浮点值传递给sym是危险的,请参阅“帮助sym”'

当我尝试将符号变量t(sym)与浮点向量[sin(0.1)、cos(0.1)、-sin(0.1)]相乘时

为了能够继续计算,我希望得到的结果应该是[0.09983*t,0.995*t,-0.09983*t]

我怎样才能得到这个?
谢谢

在MATLAB R2016b中,此操作不会出现错误或警告。你想用什么来运行它?@gnovice我并不总是能够访问MATLAB许可证,并试图在Octave 4.2.1中计算出它。浮点数学和符号数学是非常不同的,确实应该小心组合。将符号变量与数字数组相乘时,结果是符号的,但数字数组必须以某种方式进行转换,并且这种转换可能定义不清(例如,符号“0.1”并不严格等于双精度“0.1”-请参阅)。我建议仔细阅读
sym
的帮助,并阅读有关可变精度算术(
vpa
)的内容。回应最后一条评论:避免
sym
,除非您特别寻找它。是一个工作示例。在MATLAB R2016b中,它可以在没有错误或警告的情况下工作。你想用什么来运行它?@gnovice我并不总是能够访问MATLAB许可证,并试图在Octave 4.2.1中计算出它。浮点数学和符号数学是非常不同的,确实应该小心组合。将符号变量与数字数组相乘时,结果是符号的,但数字数组必须以某种方式进行转换,并且这种转换可能定义不清(例如,符号“0.1”并不严格等于双精度“0.1”-请参阅)。我建议仔细阅读
sym
的帮助,并阅读有关可变精度算术(
vpa
)的内容。回应最后一条评论:避免
sym
,除非您特别寻找它。这是一个有效的例子。