QQ登录

只需要一步,快速开始

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

[其他经验] 数学建模参赛真实经验(强烈推荐)(2)

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

121

主题

24

听众

2850

积分

  • TA的每日心情
    擦汗
    2015-11-5 19:20
  • 签到天数: 307 天

    [LV.8]以坛为家I

    自我介绍
    lige

    新人进步奖

    群组高等数学串讲

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

    跳转到指定楼层
    1#
    发表于 2014-1-7 16:17 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    二、数学建模队员应该如何学习Matlab
    对理论的掌握并不代表对知识的真正理解。对于一些所谓高深的理论都可以自己编写程序来检验对其理解的程度。我的经验是:只有你把程序流畅地写出来,才是真正意义上对知识理解通透了。比如,我在大三学电力系统分析的时候,就自己用Matlab语言编写了牛拉法求潮流的程序,计算暂态稳定的简单程序,计算发电机短路电流的程序等。自然地这些专业课程都学得不错。
    Matlab是一门优秀的编程语言,在欧美非常普及。选择一门顺手的编程语言可以让你在学习和工作中事倍功半。Matlab是一种语言因为它可以用作编程,也是一种软件因为它自带的工具箱具有类似软件前台的GUI界面以及能够轻松实现人机通信功能。在学习Matlab编程之前,需要对其有一个基本的了解:
    (1) 数据处理
    能对数据进行计算、分析和挖掘,数据处理函数功能强大,命令简洁;
    (2) 软件工具箱
    各式各样的工具箱,包括神经网络工具箱、Simulink工具箱(虽然Simulink从底层开发出来的,但是我们认为也是工具箱的一种)、模糊工具箱、数字图像处理工具箱和金融工具箱等;
    (3) 精致绘图
    Matlab通过“set”命令重设图形的句柄属性,可绘制精准而美观的图形;
    (4) 动画实现
    Matlab可以进行实时动画、电影动画和AVI视频制作,并能在动画中添加*.WAVE格式的音频;
    (5) 与软硬件通信
    Matlab接口函数可以实现与软件(比如C)和硬件(比如电子示波器)通信;
    (6) 平面设计
    与全球最顶尖的平面设计软件Adobe Photoshop联袂使用,传达震撼的视觉设计效果;
    (7) 游戏开发
    利用Matlab语言可以开发一整套的游戏,比如开发32关的推箱子游戏。
    根据我对Matlab将近6年的学习经验,学习Matlab编程就像读一本书,刚开始读时感觉这本书很薄,内容浅显,容易上手,似乎感觉Matlab语言是最容易学会最简单的一门编程语言;继续读下去感觉这本书其实很厚。初学Matlab编程过程中经常会遇到五大困惑:
    其一,函数指令掌握太少,写不出简洁的程序甚至正确有效的代码也写不出;初学者阅读一个Matlab编程高手写出的一个相对复杂的程序,会发现不但整篇程序的思路难以理解,而且会碰见很多陌生的命令,就像一篇英文阅读理解有很多单词都不认识。自己动手写程序想表达的意思表达不出来,力不从心。
    其二,不能掌握Matlab函数复杂的语法格式;相比VBC而言,Matlab语法格式比较复杂。语法格式不正确程序就不能运行,同一个命令有很多种语法格式。格式不同,程序输出的结果就大相迳庭。比如使用“streamribbon”命令创建三维流带图,其语法格式为streamribbon(x,y,z,u,v,w,sx,sy,sz);那么向量x,y,z,u,v,w,sx,sy,sz分别代表什么意义,各向量之间满足什么样的长度关系都必须真真切切地理解,否则因为不能键入正确的向量而不能画出三维流带图。
    其三,能套用别人程序自己却丝毫没有程序开发能力;比如在神经网络工具箱中,各种创建、学习和训练网络的函数命令众多,语法格式复杂,套用别人已经编好的神经网络程序比较简单,但是如果自己对照各个函数的用法书写完整的神经网络程序却不是简单的事,因为你没有从本质上理解这些命令。这就是说,你只能模仿别人的程序,却不能触类旁通自己开发程序。
    其四,不能准确全面地理解指令实现的功能;比如在Matlab中实现排序功能的命令是“sort”,而在C语言中如果想实现排序,那就必须依据冒泡法原理编写一小段的程序实现排序;虽然Matlab命令用起来比C简便,但是如果对“sort”命令原理不了解,就不能知晓“sort”是实现升序排列还是降序排列,对于矩阵是按行排序还是按列排序。所以当我们使用将繁琐的原理封装在Matlab里的命令时,如果不熟悉该命令的原理,那么使用时至少要在命令窗口中键入该命令以便试探它的用法。
    其五,函数的参数不知道如何调整。比如使用命令“imadjust”对轮廓不明晰的数字图像进行处理时,处理过的图像也许轮廓分明,但是很多都是伪轮廓,已经改变了原始图像的品质,所以在使用该命令时一定要注意拿捏好校正因子的大小。又如在编写BP网络源程序过程中,网络始终无法收敛且找不出原因,很多人都会怀疑是不是网络的拓扑结构设计有问题,其实很多情况下症结都是出在网络学习速率参数的大小上,只要将参数调小一点,网络也许就会立即收敛。当你不知道参数的具体取值时,不妨多调试几次。   
    最后通过长时间扎实的学习,对Matlab主程序命令和常用的一二个工具箱已经基本掌握,写起程序来才会思路涌涌而至,得心应手,轻车熟路,感觉这本书其实还是比较薄。由于MATLAB函数命令丰富,完全掌握没有必要也很难,只要掌握经常用到的命令就可以了。科学研究表明,只要掌握知识的60%就可以运用了。对于碰见的一些生僻的函数用法时,可以查询Matlab help命令寻求帮助或者身边备用一本Matlab函数词典。
    那么如何学好Matlab编程呢?我以为需要做到以下三点:
    (1) 多看多记
    多阅读优质的程序,注意细细体会程序设计的思想,记下常用指令及其用法,准备一个笔记本,将看到好的程序段落摘抄下来或者复印,积累多了,装订成册。
    (2) 多练多想
    模范别人的程序段,然后进行优化或改编。多多尝试开发小程序,多思考程序设计的流程,同时适当地借鉴一些程序设计艺术技巧。
    (3) 不要“偷懒”
    初学者往往喜欢将别人或者自己以前编好的程序段甚至某一个指令复制粘贴过来,而懒得动手去写,这个习惯不好,尽管表面上是节省了一点时间。虽然这些指令对于初学者来说都认识,而且印象中也会写,但是时间长了,很多命令就不是记得很准确了。比如,函数“linspace”经常会被写成“linespace”,属性名“markersize”会被错误地写成“markesize”了。等等。
    世界上没有100%的完美。Matlab这样优秀的软件也有缺陷:编译一直不顺畅和程序不能脱离Matlab环境运行。
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    joycezhou        

    33

    主题

    12

    听众

    272

    积分

    升级  86%

  • TA的每日心情
    擦汗
    2017-12-28 18:13
  • 签到天数: 63 天

    [LV.6]常住居民II

    自我介绍
    数模热爱者

    群组Matlab讨论组

    回复

    使用道具 举报

    2

    主题

    7

    听众

    695

    积分

    升级  23.75%

  • TA的每日心情
    开心
    2014-10-29 17:59
  • 签到天数: 150 天

    [LV.7]常住居民III

    新人进步奖

    群组2014年美赛冲刺培训

    群组数学建模培训课堂1

    回复

    使用道具 举报

    0

    主题

    8

    听众

    97

    积分

    升级  96.84%

  • TA的每日心情

    2014-5-18 13:30
  • 签到天数: 31 天

    [LV.5]常住居民I

    自我介绍
    新手一枚

    群组2014美赛MCMB题备战群

    群组2014美赛MCMA题备战群

    回复

    使用道具 举报

    設_訂        

    0

    主题

    5

    听众

    53

    积分

    升级  50.53%

  • TA的每日心情
    开心
    2014-10-15 13:17
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    自我介绍
    no LAW TO SEE
    回复

    使用道具 举报

    zyz数模        

    6

    主题

    7

    听众

    254

    积分

    升级  77%

  • TA的每日心情
    擦汗
    2014-8-8 17:23
  • 签到天数: 88 天

    [LV.6]常住居民II

    自我介绍
    大一学生,专业环境工程。对数学建模感兴趣。

    群组数学建摸协会

    群组第三届数模基础实训

    群组华南理工大学

    群组2014美赛ICMC题备战群

    回复

    使用道具 举报

    1

    主题

    9

    听众

    1747

    积分

  • TA的每日心情
    开心
    2016-7-26 21:58
  • 签到天数: 182 天

    [LV.7]常住居民III

    社区QQ达人

    群组2014年美赛冲刺培训

    群组数学建模培训课堂1

    群组物联网工程师培训

    群组2014年网络挑战赛交流

    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2024-5-30 22:12 , Processed in 0.507984 second(s), 90 queries .

    回顶部