QQ登录

只需要一步,快速开始

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

Matlab实用函数------绘制盒子堆

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

413

主题

36

听众

1854

积分

升级  85.4%

  • TA的每日心情
    开心
    2019-9-18 21:55
  • 签到天数: 258 天

    [LV.8]以坛为家I

    社区QQ达人

    群组2015国赛冲刺

    群组2016美赛公益课程

    群组国赛讨论

    群组第三届数模基础实训

    群组Matlab讨论组

    跳转到指定楼层
    1#
    发表于 2016-1-26 19:13 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    首先,把盒子函数写出来!如下:
    1. <div>function h = boxs(Position, Size, color)</div><div>%box function</div><div>% Position=[1,2], Size=[2,4], color='r'</div><div>p1 = Position - Size/2; % p1 = [1,2]-[2,4]/2 = [ 0, 0]</div><div>p2 = Position + Size/2; % p2 = [1,2]+[2,4]/2 = [ 2, 4]</div><div>% (0,4)___(2,4)</div><div>x = [p1(1) p2(1) p2(1) p1(1)]; % x = [0 2 2 0] | |</div><div>y = [p1(2) p1(2) p2(2) p2(2)]; % y = [0 0 4 4] |__|</div><div>% (0,0) (0,2)</div><div>%{</div><div>盒子实例</div><div>plot([0 2 2 0],[0 0 4 4]'r');</div><div>fill([0 2 2 0],[0 0 4 4],'g')</div><div>axis([-10,10,-10,10])</div><div>%}</div><div>%plot(x,y,'r');</div><div>h = fill(x, y, color);</div><div>end</div>
    复制代码
    然后写盒子堆函数:
    1. <div>function [box_pos, box_size, box_E, h] = pile_box(type)</div><div>%画盒子堆函数</div><div>%时间:2016-1-26-four</div><div>if type == 1</div><div>    [x, y] = meshgrid(22:0.5:45, 0.1:0.5:3.5);</div><div>    box_pos = [x(:) y(:)];</div><div>    box_size = 0.5*ones(size(box_pos));</div><div>    box_E = 265*ones(size(box_pos,1),1);</div><div>elseif type == 2</div><div>    ...</div><div>end</div><div>
    2. </div><div>for i = 1:size(box_pos, 1)</div><div>    h(i) = boxs(box_pos(i,:), box_size(i,:), 'y');</div><div>    hold on</div><div>end</div><div>
    3. </div><div>axis([0 45 0 4])   %注意修改坐标轴范围!</div><div>end</div>
    复制代码
    效果如图:




    2016-01-26 19_14_16-效果图.png (88.88 KB, 下载次数: 299)

    2016-01-26 19_14_16-效果图.png

    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    数学中国版主团队!

    413

    主题

    36

    听众

    1854

    积分

    升级  85.4%

  • TA的每日心情
    开心
    2019-9-18 21:55
  • 签到天数: 258 天

    [LV.8]以坛为家I

    社区QQ达人

    群组2015国赛冲刺

    群组2016美赛公益课程

    群组国赛讨论

    群组第三届数模基础实训

    群组Matlab讨论组

    1. function h = boxs(Position, Size, color)
    2. %box function
    3. % Position=[1,2], Size=[2,4], color='r'
    4. p1 = Position - Size/2; % p1 = [1,2]-[2,4]/2 = [ 0, 0]
    5. p2 = Position + Size/2; % p2 = [1,2]+[2,4]/2 = [ 2, 4]
    6. % (0,4)___(2,4)
    7. x = [p1(1) p2(1) p2(1) p1(1)]; % x = [0 2 2 0] | |
    8. y = [p1(2) p1(2) p2(2) p2(2)]; % y = [0 0 4 4] |__|
    9. % (0,0) (0,2)
    10. %{
    11. 盒子实例
    12. plot([0 2 2 0],[0 0 4 4]'r');
    13. fill([0 2 2 0],[0 0 4 4],'g')
    14. axis([-10,10,-10,10])
    15. %}
    16. %plot(x,y,'r');
    17. h = fill(x, y, color);
    18. end


    19. function [box_pos, box_size, box_E, h] = pile_box(type)
    20. %画盒子堆函数
    21. %时间:2016-1-26-four
    22. if type == 1
    23.     [x, y] = meshgrid(22:0.5:45, 0.1:0.5:3.5);
    24.     box_pos = [x(:) y(:)];
    25.     box_size = 0.5*ones(size(box_pos));
    26.     box_E = 265*ones(size(box_pos,1),1);
    27. elseif type == 2
    28.     ...
    29. end

    30. for i = 1:size(box_pos, 1)
    31.     h(i) = boxs(box_pos(i,:), box_size(i,:), 'y');
    32.     hold on
    33. end

    34. axis([0 45 0 4])   %注意修改坐标轴范围!
    35. end
    复制代码

    数学中国版主团队!
    回复

    使用道具 举报

    413

    主题

    36

    听众

    1854

    积分

    升级  85.4%

  • TA的每日心情
    开心
    2019-9-18 21:55
  • 签到天数: 258 天

    [LV.8]以坛为家I

    社区QQ达人

    群组2015国赛冲刺

    群组2016美赛公益课程

    群组国赛讨论

    群组第三届数模基础实训

    群组Matlab讨论组

    再添附件:

    boxs.m

    494 Bytes, 下载次数: 2, 下载积分: 体力 -2 点

    motor_elep_define.m

    206 Bytes, 下载次数: 1, 下载积分: 体力 -2 点

    pile_box.m

    447 Bytes, 下载次数: 1, 下载积分: 体力 -2 点

    回复

    使用道具 举报

    14

    主题

    10

    听众

    1262

    积分

    升级  26.2%

  • TA的每日心情
    开心
    2017-11-9 21:17
  • 签到天数: 198 天

    [LV.7]常住居民III

    网络挑战赛参赛者

    邮箱绑定达人

    群组大学生软件交流群

    群组2016国赛备战群组

    回复

    使用道具 举报

    14

    主题

    10

    听众

    1262

    积分

    升级  26.2%

  • TA的每日心情
    开心
    2017-11-9 21:17
  • 签到天数: 198 天

    [LV.7]常住居民III

    网络挑战赛参赛者

    邮箱绑定达人

    群组大学生软件交流群

    群组2016国赛备战群组

    回复

    使用道具 举报

    14

    主题

    10

    听众

    1262

    积分

    升级  26.2%

  • TA的每日心情
    开心
    2017-11-9 21:17
  • 签到天数: 198 天

    [LV.7]常住居民III

    网络挑战赛参赛者

    邮箱绑定达人

    群组大学生软件交流群

    群组2016国赛备战群组

    回复

    使用道具 举报

    14

    主题

    10

    听众

    1262

    积分

    升级  26.2%

  • TA的每日心情
    开心
    2017-11-9 21:17
  • 签到天数: 198 天

    [LV.7]常住居民III

    网络挑战赛参赛者

    邮箱绑定达人

    群组大学生软件交流群

    群组2016国赛备战群组

    可是,具体的作用是什么呢?
    回复

    使用道具 举报

    937

    主题

    117

    听众

    3万

    积分

    升级  0%

  • TA的每日心情

    2020-10-25 11:55
  • 签到天数: 264 天

    [LV.8]以坛为家I

    自我介绍
    内蒙古大学计算机学院

    社区QQ达人 金点子奖 助人为乐奖 风雨历程奖

    群组2013年数学建模国赛备

    那个程序需要分步执行,注释%step1以上的先执行,然后在执行下面的就可以了
    回复

    使用道具 举报

    25

    主题

    13

    听众

    441

    积分

  • TA的每日心情
    开心
    2018-9-9 20:15
  • 签到天数: 89 天

    [LV.6]常住居民II

    社区QQ达人

    群组2017美赛备战交流群组

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

    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2025-8-5 01:43 , Processed in 0.645771 second(s), 100 queries .

    回顶部