matlab中的数字符号表达式

时间:2016-08-08 14:04:51

标签: matlab double symbolic-math

我需要对符号工具箱进行一些计算。

我的值是:

q = sym('q%d', [n 1]);其中n不是固定值(由用户定义)

我需要对它进行一些计算,例如:

for i=1:N
    z(:,i+1) = T_a(1:3,1:3)*z(:,1);
end

其中(对于n=2,T_a的值对于不同的n值正在改变)

T_a=[ cos(q1), -(4967757600021511*sin(q1))/81129638414606681695789005144064,                                          -sin(q1),    0;
 sin(q1),  (4967757600021511*cos(q1))/81129638414606681695789005144064,                                           cos(q1),    0;
       0,                                                           -1, 4967757600021511/81129638414606681695789005144064, 1/10
       0,                                                            0,                                                 0,    1]

z =

     0     0     0
     0     0     0
     1     0     0

当我运行代码时,它会出错并说:

The following error occurred converting from sym to double:
DOUBLE cannot convert the input expression into a double array.
If the input expression contains a symbolic variable, use VPA.

关于另一个问题,我试图使用双重命令q=double(q),但它也没有用。

我该如何解决这个问题。

提前致谢

0 个答案:

没有答案