您现在的位置是:课程

面向对象的MATLAB编程

2023-01-17 13:26课程 人已围观

    Hyowinner孙忠潇老师拥有丰富的MATLAB/Simulink实战经验,在MATHWORKS官方中文论坛做超级版主期间,解答了数千个技术问题。并结合自身经验编写了《Simulink仿真及代码生成技术入门到精通》一书,深受读者好评。在作为汽车电子高级软件工程师从业期间,孙老师总结了多套提高工作效率的工作方法,特开设了此门课程,帮助软件工程师们提高工作效率。本课程主要解决下面这些情况下遇到的问题:

     1、 面向对象的Matlab编程杂谈
    1.1类方法的文件组织方式
    1.2
浅拷贝与深度拷贝的区别和实例; 通过类的构建讨论如何避免浅拷贝。
    1.3类中disp方法的重载:MATLAB的语句后不带有;时显示到Command Window其实都是disp函数在起作用哦。只不过它是多态的,而且用户可以自己去重载它的内容。那么问题来了,你喜欢哪一种成员显示方式?本节课教会你如何重载自定义类的disp方法,并凸显自己的风格。
    1.4UI与对象的绑定:讲述如何通过类构造出带有UI的对象; 讲述类的对象跟其UI进行绑定,使用单例设计模式实现关系对应; 实现双方向的生存周期同步,在UI关闭时自动清空对象内容;在对象析构时自动关闭UI。

    2、面向对象的基础概念及实例
    2.1继承:讲解面向对象的基础特性--继承 继承的目的--代码复用reuse
    2.2多重继承:MATLAB面向对象--多重继承的实例编写与讲解; 复用父类构造函数的方法; 钻石继承、菱形继承时的注意点。

    3、策略实例
    “囚徒困境”是1950年美国兰德公司的梅里尔·弗勒德(Merrill Flood)和梅尔文·德雷希尔(Melvin Dresher)拟定出相关困境的理论,后来由顾问艾伯特·塔克(Albert Tucker)以囚徒方式阐述,并命名为“囚徒困境”。两个共谋犯罪的人被关入监狱,不能互相沟通情况。如果两个人都不揭发对方,则由于证据不确定,每个人都坐牢一年;若一人揭发,而另一人沉默,则揭发者因为立功而立即获释,沉默者因不合作而入狱五年;若互相揭发,则因证据确实,二者都判刑两年。由于囚徒无法信任对方,因此倾向于互相揭发,而不是同守沉默。

   4、游戏设计实例
斗兽棋规则:
棋盘:4*4 单元格
玩家:两方(红蓝两色)
每方棋子个数:8个
套棋棋子个数:16个
每方棋子包括八种动物各一枚:象、狮、虎、豹、狼、狗、猫、鼠
每颗棋子包括正反两面,正面印有所代表动物的标识符
玩法:
●初始时十六颗棋子全部反面朝上,随机置放于16个单元格中
●玩家红蓝两方通过猜拳/掷骰子确定先后手
●先手/后手玩家通过选择并翻转某个棋子
●棋子在反面朝上时不可以移动
●棋子在正面朝上并且周围存在可通行空间时可以朝相邻单元格移动(移动距离1)
●当某颗棋子移动标位置存在反面朝上的棋子时则不可移动
●当某颗棋子移动目标位置存在己方正面朝上棋子时不可移动
●当某颗棋子移动目标位置为空时则可以移动
●当某颗棋子移动目标位置为对方正面朝上棋子时则触发决斗判定
★决斗判定规则: 象->狮->虎->豹->狼->狗->猫->鼠->象
  ·依据上述条件对比两个棋子大小,小的一方从棋盘清除
  ·若两个棋子大小一致,则同时从棋盘清除
●当棋盘中仅存一色棋子时,此方胜利;若剩余棋子为0,则平局

-->

站点信息

  • 文章统计篇文章