当前位置: 首页 > news >正文

【老生谈算法】matlab实现元胞自动机算法源码——元胞自动机

元胞自动机与MATLAB源码

1、算法详解:

引言

元胞自动机(CA)是一种用来仿真局部规则和局部联系的方法。典型的元胞自动机是定义在网格上的,每一个点上的网格代表一个元胞与一种有限的状态。变化规则适用于每一个元胞并且同时进行。典型的变化规则,决定于元胞的状态,以及其( 4或8 )邻居的状态。元胞自动机已被应用于物理模拟,生物模拟等领域。本文就一些有趣的规则,考虑如何编写有效的MATLAB的程序来实现这些元胞自动机。

MATLAB的编程考虑

元胞自动机需要考虑到下列因素,下面分别说明如何用MATLAB实现这些部分。 并以Conway的生命游戏机的程序为例,说明怎样实现一个元胞自动机。

 矩阵和图像可以相互转化,所以矩阵的显示是可以真接实现的。如果矩阵cells的所有元素只包含两种状态且矩阵Z含有零,那么用image函数来显示cat命令建的RGB图像,并且能够返回句柄。

imh = image(cat(3,cells,z,z));
set(imh, ‘erasemode’, ‘none’)
axis equal
axis tight

 矩阵和图像可以相互转化,所以初始条件可以是矩阵,也可以是图形。以下代码生成一个零矩阵,初始化元胞状态为零,然后使得中心十字形的元胞状态= 1。

z = zeros(n,n);
cells = z;
cells(n/2,.25n:.75n) = 1;
cells(.25n:.75n,n/2) = 1;

 Matlab的代码应尽量简洁以减小运算量。以下程序计算了最近邻居总和&#

相关文章:

  • wireshark协议或者协议内容解码异常
  • nginx部署vue项目(包括一个nginx部署多个vue项目)
  • 【py】[打包exe]用auto-py-to-exe将py程序打包为exe文件
  • 【数据库迁移系列】使用pgloader将数据从MySQL迁移到openGauss的最佳实践
  • 广和通携智慧金融解决方案惊艳亮相紫光展锐2022金融支付生态论坛
  • 安装Java环境
  • vue(js)拖拽事件的drop失效
  • RFID技术,让书架智能化
  • Android 导出PDF PdfDocument
  • 《kaggle竞赛攻顶秘笈》 | 任务种类 | 任务评价指标 | 评价指标与目标函数 | 评价指标最佳化
  • 干货:秒懂redis集群
  • VNC 远程桌面很卡,替代方案如下
  • gitee 的使用
  • touchGFX控件学习四、scalableImage、flex button控件
  • Redis【缓存雪崩,缓存穿透,缓存击穿】详解
  • 3.7、@ResponseBody 和 @RestController
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • chrome扩展demo1-小时钟
  • cookie和session
  • IOS评论框不贴底(ios12新bug)
  • java中具有继承关系的类及其对象初始化顺序
  • Js基础知识(一) - 变量
  • Python爬虫--- 1.3 BS4库的解析器
  • 阿里研究院入选中国企业智库系统影响力榜
  • 阿里云购买磁盘后挂载
  • 飞驰在Mesos的涡轮引擎上
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 设计模式 开闭原则
  • 深入浅出Node.js
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 我看到的前端
  • 小程序button引导用户授权
  • 第二十章:异步和文件I/O.(二十三)
  • ​第20课 在Android Native开发中加入新的C++类
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (2)nginx 安装、启停
  • (阿里云万网)-域名注册购买实名流程
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (推荐)叮当——中文语音对话机器人
  • (一)RocketMQ初步认识
  • (转)Linq学习笔记
  • (转载)从 Java 代码到 Java 堆
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .NET Micro Framework初体验(二)
  • .NET NPOI导出Excel详解
  • .net 中viewstate的原理和使用
  • @column注解_MyBatis注解开发 -MyBatis(15)
  • @SentinelResource详解
  • @transactional 方法执行完再commit_当@Transactional遇到@CacheEvict,你的代码是不是有bug!...
  • [ Linux Audio 篇 ] 音频开发入门基础知识