QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 8095|回复: 7
打印 上一主题 下一主题

商人安全过河matlab程序碰到一个问题:矩阵下标越界

[复制链接]
字体大小: 正常 放大

61

主题

7

听众

1127

积分

数学建模

  • TA的每日心情
    开心
    2024-2-3 09:52
  • 签到天数: 171 天

    [LV.7]常住居民III

    群组高等数学课程学习答疑

    群组中学生数学建模(HIMC

    群组小波/PDE/图像分割

    群组专套(升)本 数学答疑

    群组数学建摸协会

    跳转到指定楼层
    1#
    发表于 2007-12-23 22:50 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta

    对于商人安全过河问题,我用“数学实验”书(张国权编,科学出版社)中的matlab程序运行的结果是:
    ??? Index exceeds matrix dimensions.
    Error in ==>
    On line 40 ==>
    if s(i, + (-1)^i * d(j, == a(k,
    我上网查阅了资料,网上似乎说是矩阵下标越界,但我不知道如何改正这个程序,补充:不管改为 if (s(i, + (-1)^i * d(j, ) == a(k, 或是if (s(i, + (-1)^i * d(j, == a(k, ) 都是和上面类似的结果,有人建议我自己编程,但我还不熟,所以想先通过修改这个书上的现有程序来先实现。

    在这里请教大家,希望能尽快收到回复,谢谢

    [此贴子已经被作者于2008-1-1 15:13:00编辑过]
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    madio        

    3万

    主题

    1310

    听众

    5万

    积分

  • TA的每日心情
    奋斗
    2024-7-1 22:21
  • 签到天数: 2014 天

    [LV.Master]伴坛终老

    自我介绍
    数学中国站长

    社区QQ达人 邮箱绑定达人 优秀斑竹奖 发帖功臣 风雨历程奖 新人进步奖 最具活力勋章

    群组数学建模培训课堂1

    群组数学中国美赛辅助报名

    群组Matlab讨论组

    群组2013认证赛A题讨论群组

    群组2013认证赛C题讨论群组

    回复

    使用道具 举报

    61

    主题

    7

    听众

    1127

    积分

    数学建模

  • TA的每日心情
    开心
    2024-2-3 09:52
  • 签到天数: 171 天

    [LV.7]常住居民III

    群组高等数学课程学习答疑

    群组中学生数学建模(HIMC

    群组小波/PDE/图像分割

    群组专套(升)本 数学答疑

    群组数学建摸协会

    程序如下,运行出错,望指点

    clear all;
    clc;

    a = [
    0, 0;
    0, 1;
    0, 2;
    0, 3;
    3, 1;
    3, 2;
    3, 3;
    1, 1;
    2, 2;
    ]; % 10 enabled states



    d = [
    0, 2;
    2, 0;
    1, 1;
    0, 1;
    1, 0;
    ]; % 5 enabled decisions

    i = 1;
    j = 1;
    k = 1;

    s(1, = [3, 3];

    disp('This shore - On Boat - That shore')

    for i = 1:12



    for j = 1:5
    t = 0;
    r = mod(i, 2);
    m = r;
    u = 0;
    for k = 1:10
    if s(i, + (-1)^i * d(j, == a(k,
    t = 1;
    end
    end
    end



    if t==1
    if u==0
    s(i+1, = s(i, + (-1)^i * d(j, ;
    c(i+1, = d(j, ;
    break;
    elseif u==1
    continue;
    end
    else continue;
    end
    end



    if t==0
    disp('No Result');
    break;
    end;



    b(i+1, = [3, 3] - s(i+1, ;



    play = sprintf('{%d, %d}-{%d, %d}-{%d, %d}', s(i, 1), s(i, 2), c(i+1, 1), c(i+1, 2), b(i+1, 1), b(i+1, 2));



    disp(play)



    if s(i+1, ==[0, 0]
    break;
    end;



    end

    [此贴子已经被作者于2008-1-1 15:15:32编辑过]
    回复

    使用道具 举报

    madio        

    3万

    主题

    1310

    听众

    5万

    积分

  • TA的每日心情
    奋斗
    2024-7-1 22:21
  • 签到天数: 2014 天

    [LV.Master]伴坛终老

    自我介绍
    数学中国站长

    社区QQ达人 邮箱绑定达人 优秀斑竹奖 发帖功臣 风雨历程奖 新人进步奖 最具活力勋章

    群组数学建模培训课堂1

    群组数学中国美赛辅助报名

    群组Matlab讨论组

    群组2013认证赛A题讨论群组

    群组2013认证赛C题讨论群组

    你这个主要问题是描述状态的矩阵s没有定义,我加了一个定义,不一定对,你可以修改,另外我的matlab是2007a版,与原来的代码有一定的区别,主要是break函数应该换成return,修改后的代码如下:

    a = [
    0, 0;
    0, 1;
    0, 2;
    0, 3;
    3, 0;
    3, 1;
    3, 2;
    3, 3;
    1, 1;
    2, 2;
    ]; % 10 enabled states
    s=[0, 0;
    0, 1;
    0, 2;
    0, 3;
    1, 0;
    1, 1;
    1, 2;
    1, 3;
    2, 0;
    2, 1;
    2, 2;
    2, 3;
    3, 0;
    3, 1;
    3, 2;
    3, 3;
    ];

    d = [
    0, 2;
    2, 0;
    1, 1;
    0, 1;
    1, 0;
    ]; % 5 enabled decisions

    i = 1;
    j = 1;
    k = 1;

    s(1, = [3, 3];

    disp('This shore - On Boat - That shore')

    for i = 1:12


    for j = 1:5
    t = 0;
    r = mod(i, 2);
    m = r;
    u = 0;
    for k = 1:10
    if s(i, + (-1)^i * d(j, == a(k,
    t = 1;
    end
    end
    end


    if t==1
    if u==0
    s(i+1, = s(i, + (-1)^i * d(j, ;
    c(i+1, = d(j, ;
    return;
    elseif u==1
    continue;
    end
    else continue;
    end

    end;

    if t==0
    disp('No Result');
    return;
    end;


    b(i+1, = [3, 3] - s(i+1, ;


    play = sprintf('{%d, %d}-{%d, %d}-{%d, %d}', s(i, 1), s(i, 2), c(i+1, 1), c(i+1, 2), b(i+1, 1), b(i+1, 2));


    disp(play)


    if s(i+1, ==[0, 0]
    return;
    end;

    数学建模社会化
    回复

    使用道具 举报

    fhfhappy        

    1

    主题

    4

    听众

    5

    积分

    升级  0%

    该用户从未签到

    新人进步奖

    回复

    使用道具 举报

    fhfhappy        

    1

    主题

    4

    听众

    5

    积分

    升级  0%

    该用户从未签到

    新人进步奖

    回复

    使用道具 举报

    fhfhappy        

    1

    主题

    4

    听众

    5

    积分

    升级  0%

    该用户从未签到

    新人进步奖

    回复

    使用道具 举报

    dark0421        

    0

    主题

    2

    听众

    13

    积分

    升级  8.42%

    该用户从未签到

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-6-6 08:28 , Processed in 0.772673 second(s), 89 queries .

    回顶部