[已答复] 求助“错误使用 symengine”

[复制链接]
lzs_j4nVy 发表于 2020-11-21 15:03:37
dy1 = ((a1 .* sin(( a1 ./ tan(upsilon) + b1) / r1) .* (1 + (tan(upsilon)).^2)) / (tan(upsilon)).^2) + ((a1 .* cos(upsilon)) ./ ...
    (sin(upsilon)).^2) .* sin(upsilon-((a1 ./ tan(upsilon))+b1) ./ r1) - ((a1 ./ sin(upsilon)) + rp) ...
    .* cos(upsilon - (a1 ./ tan(upsilon) + b1) ./ r1) .* (1+(a1 .* (1 + (tan(upsilon)).^2)) / (r1 .* (tan(upsilon)).^2));
dy2 = rbp.*(tau+thetab).*cos(tau);
G=E./(2.*(1+V));
Ay1=2 .* x1 .* L ; Ay2=2 .* x2p .* L ; Iy1 = 2/3 .* (x1).^3 .* L;Iy2=2/3 .* (x2p).^3 .* L;%截面惯性惯性矩 截面积
sb1 = (((cos(beta)) .* (ybeta - y1) - xbeta .* sin(beta)).^2 / (E .* Iy1)) .* dy1;
sb2 = (((cos(beta)) .* (ybeta-y2p) - xbeta .* sin(beta)).^2 / (E.*Iy2 )).*dy2;
ss1 = ((1.2 .* (cos(beta)).^2) ./ (G .* Ay1)) .* dy1;
ss2 = ((1.2 .* (cos(beta)).^2) ./ (G .* Ay2)) .* dy2;
sa1 = (((sin(beta)).^2) ./ (E .* Ay1)) .* dy1;
sa2 = (((sin(beta)).^2) ./ (E .* Ay2)) .* dy2;
bk = int(sb1,upsilon,0.5*pi,alpha0)+int(sb2,tau,alphac,beta);
bk1 = double(bk);

错误使用 symengine
Unable to convert expression into double array.

出错 sym/double (line 700)
        Xstr = mupadmex('symobj::double', S.s, 0);

出错 bearing_gear_seal1 (line 82)
bk1 = double(bk);


2 条回复


深蓝孩童 发表于 2020-11-21 21:46:49
很明显,看一下你的bk是什么嘛,如果它是含有未知数的符号表达式,肯定不能直接转换。

lzs_j4nVy 发表于 2020-11-21 21:52:41
也就是在这里。我也不需要进行转换了吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
热门教程
站长推荐
快速回复 返回顶部 返回列表