Unable to perform assignment because value of type 'sym' is not convertible to 'double'. 出错 zd67 (第 29 行) x(1:3, i) = x(1:3, i-1) + x(4:6, i-1)*dt + 0.5*a*dt^2; 原因: 错误使用 symengine Unable to convert expression containing symbolic variables into double array. Apply 'subs' function first to substitute values for variables.
时间: 2024-03-03 09:51:59 浏览: 1149
这个错误是因为你在进行符号计算时,尚未对其中的符号变量进行数值替换,导致无法将其转换为实数类型的数组。你需要使用Matlab中的subs函数先对其中的符号变量进行替换,才能将其转换为实数类型的数组。你可以先将符号变量进行替换,然后再进行数组赋值操作。例如,可以使用以下代码进行替换:
```
x_subs = subs(x, [a, dt], [a_value, dt_value]);
```
其中,a_value和dt_value分别为你所需要替换的a和dt的值。然后再将x_subs赋值给x即可。
阅读全文