wuqianqian0328 2021-08-24 18:17 采纳率: 100%
浏览 252
已结题

DOUBLE无法将输入表达式转换为双精度数组。 如果输入表达式包含符号变量,请使用VPA。

t=1;u=1;BB=1;o=0.5;w=0.4;hd=0.5;hx=0.3;v=0.6;X0=10;d=0.5;
R=zeros(9,5);
L=zeros(9,5);
R=str2double(R);
L=str2double(L);
R(1,1)=t/2-u*cos(v-w);
L(1,1)=X0-u*sin(v-w);
R(9,1)=R(1,1)-u*BB*sin(o)/cos(o-w);
L(9,1)=L(1,1)-u*BB*cos(o)/sin(o-w);

i=1;  
for i=1:9
if i==1||9
    j=1;
    while j<=5
        R(1,j)=R(1,1)-0.25*(j-1)*hd*cos(d);
        L(1,j)=L(1,1)+0.25*(j-1)*hd*sin(d);
        R(9,j)=R(9,1)-0.25*(j-1)*hx*cos(d);
        L(9,j)=L(9,1)+0.25*(j-1)*hx*sin(d);
        j=j+1;
       
    end
end
clear j
if    2<=i&&i<=8
    j=1;
    while j<=5
       R(i,j)=R(1,j)-0.125*(i-1)*(R(1,j)-R(9,j));
       L(i,j)=L(1,j)-0.125*(i-1)*(L(1,j)-L(9,j));
       j=j+1;
       
    end
end
end
syms a b
F=zeros(9,5);
G=zeros(9,5);
for i=1:9
    if i==1||9
    j=1;
while j<=5
F1=3*a+5*b;
F2=8*a-4*b;
F(i,j)=F1-R(i,j);
G(i,j)=F2-L(i,j);
[a,b]=solve(F,G,'a','b');
end
    end
clear j
if i>=2 && i<=8;
    j=1;
    while j<=5
F1=3*a+5*b;
F2=8*a-4*b;
F(i,j)=F1-R(i,j);
G(i,j)=F2-L(i,j);
[a,b]=solve(F,G,'a','b');
    end
end
end
disp(F)
disp(G)



运行结果为:从 sym 转换为 double 时出现以下错误:
DOUBLE cannot convert the input expression into a double array.
If the input expression contains a symbolic variable, use VPA.

怎么解决啊

  • 写回答

1条回答 默认 最新

  • joel_1993 2021-08-24 19:23
    关注

    帮你改了一些错误,程序能通了,你自己仔细看看是不是满足你编程的目的

    t=1;u=1;BB=1;o=0.5;w=0.4;hd=0.5;hx=0.3;v=0.6;X0=10;d=0.5;
    syms R [9,5]%定义符号矩阵
    syms L [9,5]%定义符号矩阵
    
    R(1,1)=t/2-u*cos(v-w);
    L(1,1)=X0-u*sin(v-w);
    R(9,1)=R(1,1)-u*BB*sin(o)/cos(o-w);
    L(9,1)=L(1,1)-u*BB*cos(o)/sin(o-w);
    i=1;
    for i=1:9
        if i==1||9
            j=1;
            while j<=5
                R(1,j)=R(1,1)-0.25*(j-1)*hd*cos(d);
                L(1,j)=L(1,1)+0.25*(j-1)*hd*sin(d);
                R(9,j)=R(9,1)-0.25*(j-1)*hx*cos(d);
                L(9,j)=L(9,1)+0.25*(j-1)*hx*sin(d);
                j=j+1;
            end
        end
        clear j
        if    2<=i&&i<=8
            j=1;
            while j<=5
                R(i,j)=R(1,j)-0.125*(i-1)*(R(1,j)-R(9,j));
                L(i,j)=L(1,j)-0.125*(i-1)*(L(1,j)-L(9,j));
                j=j+1;
            end
        end
    end
    syms a b
    syms F [9,5]%定义符号矩阵
    syms G [9,5]%定义符号矩阵
    
    for i=1:9
        if i==1||9
            j=1;
            while j<=5
                F1=3*a+5*b;
                F2=8*a-4*b;
                F(i,j)=(F1-R(i,j));
                G(i,j)=(F2-L(i,j));
                [x1,x2]=solve([F(i,j),G(i,j)],[a,b]); %改动了
                j = j +1; % 加了这一句,不然死循环
            end
        end
        clear j
        if i>=2 && i<=8;
            j=1;
            while j<=5
                F1=3*a+5*b;
                F2=8*a-4*b;
                F(i,j)=F1-R(i,j);
                G(i,j)=F2-L(i,j);
                [x1,x2]=solve([F(i,j),G(i,j)],[a,b]);% 改动了
                j = j+1; % 加了这一句,不然死循环
            end
        end
    end
    disp(F)
    disp(G)
    
    

    结果是这样的

    [   3*a + 5*b + 2162027661078845/4503599627370496,     3*a + 5*b + 1328031361709193/2251799813685248,     3*a + 5*b + 3150097785757927/4503599627370496,      3*a + 5*b + 911033212024367/1125899906842624,     3*a + 5*b + 4138167910437009/4503599627370496]
    [  3*a + 5*b + 9733101417397459/18014398509481984, 3*a + 5*b + 371533908937206873/576460752303423488, 3*a + 5*b + 215804286258847529/288230376151711744, 3*a + 5*b + 122920809024545811/144115188075855872, 3*a + 5*b + 137939474919667857/144115188075855872]
    [   3*a + 5*b + 5409046095239769/9007199254740992, 3*a + 5*b + 201545894638430169/288230376151711744, 3*a + 5*b + 115001157114593865/144115188075855872,   3*a + 5*b + 64614683454986323/72057594037927936,   3*a + 5*b + 71728788352675713/72057594037927936]
    [ 3*a + 5*b + 11903082963561617/18014398509481984, 3*a + 5*b + 434649669616513803/576460752303423488, 3*a + 5*b + 244200342199527931/288230376151711744, 3*a + 5*b + 135537924795399481/144115188075855872, 3*a + 5*b + 148975678491034995/144115188075855872]
    [    3*a + 5*b + 811754608540231/1125899906842624, 3*a + 5*b + 116551887489041817/144115188075855872,   3*a + 5*b + 64599592542467033/72057594037927936,   3*a + 5*b + 35461620670206579/36028797018963968,   3*a + 5*b + 38623445069179641/36028797018963968]
    [ 3*a + 5*b + 14073064509725775/18014398509481984, 3*a + 5*b + 497765430295820733/576460752303423488, 3*a + 5*b + 272596398140208333/288230376151711744, 3*a + 5*b + 148155040566253151/144115188075855872, 3*a + 5*b + 160011882062402133/144115188075855872]
    [   3*a + 5*b + 7579027641403927/9007199254740992, 3*a + 5*b + 264661655317737099/288230376151711744, 3*a + 5*b + 143397213055274267/144115188075855872,   3*a + 5*b + 77231799225839993/72057594037927936,   3*a + 5*b + 82764991924042851/72057594037927936]
    [ 3*a + 5*b + 16243046055889933/18014398509481984, 3*a + 5*b + 560881190975127663/576460752303423488, 3*a + 5*b + 300992454080888735/288230376151711744, 3*a + 5*b + 160772156337106821/144115188075855872, 3*a + 5*b + 171048085633769271/144115188075855872]
    [   3*a + 5*b + 4332009207243003/4503599627370496,   3*a + 5*b + 74054883914347641/72057594037927936,   3*a + 5*b + 39398810256403617/36028797018963968,   3*a + 5*b + 20885089277816707/18014398509481984,   3*a + 5*b + 22070773427431605/18014398509481984]
     
    [  8*a - 4*b - 5517658643695797/562949953421312,       8*a - 4*b - 88822323468385199/9007199254740992,     8*a - 4*b - 44681054318818823/4503599627370496,     8*a - 4*b - 89901893806890093/9007199254740992,     8*a - 4*b - 22610419744035635/2251799813685248]
    [ 8*a - 4*b - 9798168748022143/1125899906842624, 8*a - 4*b - 10098962674555771987/1152921504606846976, 8*a - 4*b - 5082300275568434771/576460752303423488, 8*a - 4*b - 1278779803464745887/144115188075855872, 8*a - 4*b - 2573969076074766163/288230376151711744]
    [  8*a - 4*b - 2140255052163173/281474976710656,   8*a - 4*b - 4414333972579119251/576460752303423488, 8*a - 4*b - 2222712799164030099/288230376151711744,   8*a - 4*b - 559564653009625143/72057594037927936, 8*a - 4*b - 1126902212456485523/144115188075855872]
    [ 8*a - 4*b - 7323871669283241/1125899906842624,  8*a - 4*b - 7558373215760705017/1152921504606846976, 8*a - 4*b - 3808550921087685625/576460752303423488,  8*a - 4*b - 959478808573754685/144115188075855872, 8*a - 4*b - 1933639773751175929/288230376151711744]
    [  8*a - 4*b - 3043361564956895/562949953421312,   8*a - 4*b - 1572019621590792883/288230376151711744,  8*a - 4*b - 792919060961827763/144115188075855872,   8*a - 4*b - 199957077782064771/36028797018963968,   8*a - 4*b - 403368780647345203/72057594037927936]
    [ 8*a - 4*b - 4849574590544339/1125899906842624,  8*a - 4*b - 5017783756965638047/1152921504606846976, 8*a - 4*b - 2534801566606936479/576460752303423488,  8*a - 4*b - 640177813682763483/144115188075855872, 8*a - 4*b - 1293310471427585695/288230376151711744]
    [   8*a - 4*b - 451553256396861/140737488355328,   8*a - 4*b - 1873744513784052281/576460752303423488,  8*a - 4*b - 948963444683280953/288230376151711744,   8*a - 4*b - 240263658118633941/72057594037927936,  8*a - 4*b - 486572910132895289/144115188075855872]
    [ 8*a - 4*b - 2375277511805437/1125899906842624,  8*a - 4*b - 2477194298170571077/1152921504606846976, 8*a - 4*b - 1261052212126187333/576460752303423488,  8*a - 4*b - 320876818791772281/144115188075855872,  8*a - 4*b - 652981169103995461/288230376151711744]
    [   8*a - 4*b - 569064486217993/562949953421312,    8*a - 4*b - 150862446096629699/144115188075855872,    8*a - 4*b - 78022191860726595/72057594037927936,    8*a - 4*b - 20153290168284585/18014398509481984,    8*a - 4*b - 41602064742775043/36028797018963968]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月2日
  • 已采纳回答 8月25日
  • 创建了问题 8月24日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度