文章目录

前言

一、MATLAB是什么?

二、虚拟魔方

2.1 魔方结构分析

2.2 魔方功能分析

2.3 魔方旋转实例

总结


前言

目前我使用的仿真工具主要是matlab,接下来,我会结合自身的研究经历整一些有趣的或者比较常用的matlab实例或函数功能。


一、MATLAB是什么?

关于MATLAB是什么,官方的介绍很详细,这里我就不罗嗦了,这里我主要结合自身的研究经历谈谈我对MATLAB的认识。

我主要从事信号处理领域的研究工作,按照我的理解,信号处理领域的几个关键工作是:针对研究问题建立适用的信号模型,根据信号模型特点设计具体的信号处理方法,以及对信号处理结果进行合理的展示。

这几个工作都涉及到数学的相关理论,比如信号建模涉及概率论以及数理统计学,一般接收的信号会包含环境噪声,这会导致接收的信号随机变化,为了得到相对确定的处理结果,研究人员将概率论与数理统计学运用于信号建模以及解模过程中;信号处理手段涉及数域、数值计算,为了展示信号的特征,信号往往会在频域甚至分数域上进行分析,通过分析其在特定域上的特征选取合适的信号处理手段进而求解出信号模型的相关参数;信号处理结果展示涉及到几何学,信号处理的最终目标是解决具体的工程问题,如SAR中最终目标是形成地表散射图像,为此需要建立对应的几何模型,并通过SAR信号处理手段,将回波信号处理得到SAR图像。当然这几个工作之间并不是分割的,所涉及的数学理论也不是独立的,往往一个信号处理实例涉及多个数学领域分支,为了更好分析信号处理的流程,就需要一个数学类的辅助类软件进行相关的信号处理分析。

而MATLAB就是一个对信号处理非常友好的数学软件,首先MATLAB具有强大的科学计算能力,能够解决工程上大部分的计算问题。然后就是可视化的展示,能够将信号模型以及处理结果图形化,这种图形化的展示能够更好的展示算法的处理效果,也便于发现相应的问题。最后MATLAB自带各种信号处理函数以及工具包,如傅里叶变换函数、各种窗函数、滤波器函数等等。

本文这里将介绍用MATLAB生成虚拟魔方,并对魔方打乱并原路复原。通过这样一个有趣的例子展示MATLAB强大的图形展示能力。

二、虚拟魔方

2.1 魔方结构分析

一个算法通常包含两部分:数据结构+对数据结构的处理。为了得到关于魔方的操作算法,首先需要知道魔方的结构,以3阶魔方为例,一个魔方可以看成由27个魔方块组成,每个魔方块由六个面组成,由此可以初步设计魔方的数据结构:设计一个维度的数组,每个数组存储一个魔方块,每个魔方块用的数值进行存储。

2.2 魔方功能分析

魔方的几个基本操作为:绕x轴逆时针旋转90°;绕y轴逆时针旋转90°;绕z轴逆时针旋转90°。从上图可以看出,魔方旋转带来两方面的影响:旋转涉及的魔方块位置发生了变化;旋转涉及魔方块的魔方面也发生变化,这种变化可以用魔方块的旋转来表示,如下图所示:

这样对魔方的旋转操作可以等效为:对涉及旋转的所有魔方块进行旋转操作;对存储魔方块位置的旋转操作。

2.3 魔方旋转实例

这里以3阶魔方为例,随机生成旋转方式以及对应旋转位置,进行50次这样的随机旋转,随后按照给定的旋转方式原路复原,结果如下:

当然会玩魔方的也可以根据魔方还原公式,针对随机打乱的3阶魔方,设计对应的还原算法,这里就不详细介绍了。此外,除了进行3阶魔方的模拟,也可以进行多阶魔方的模拟。代码见MATLAB+图形化展示+虚拟魔方构建


总结

本文结合自身研究经历介绍的MATLAB的两大优势:科学计算能力+可视化表示能力。并利用虚拟魔方展示了MATLAB的图形化展示能力。

参考链接

MATALB虚拟魔方构建相关推荐

  1. 虚拟魔方——使用python对普通三阶魔方进行建模

    使用python对普通三阶魔方进行建模 1 整体构想 1.1 建立虚拟魔方 1.1.1 为魔方的26个方块进行定义 1.1.2 利用图形化方式表示魔方 1.2 对魔方进行操作 1.3 实现对魔方公式的 ...

  2. 基于虚拟主机构建个人网站

    本文介绍了基于虚拟主机构建个人网站的基本过程,从Web开发语言的角度,分析虚拟主机的主要类型,并通过一个具体实例,详细分析使用PHP型虚拟主机制作网页.安装论坛的基本方法,以及依法进行网站备案的过程. ...

  3. 自己动手做一个虚拟魔方——建模、还原、可视化

    今天为了教妹妹玩儿魔方,又拿起了初中学会的几个公式.其实我拼魔方很菜的,只是知道几个公式(准确的说是三个-)突发奇想,能不能用python建立一个存在于电脑中的数字化普通三阶魔方.这篇文章记录了我从初 ...

  4. 一周一论文(翻译 总结)— [SOCC 13] jVerbs Ultra-Low Latency for Data Center Applications 在JVM虚拟机上构建RDMA的verbs操作

    目录 Abstract 1. Introduction 2. Motivation 3. Background 4. Challenges 5.Desgin of jVerbs 5.1 Full RD ...

  5. 构建虚拟主机(基于域名、端口、IP地址进行构建)

    文章目录 虚拟主机 基于域名构建虚拟主机 基于端口构建虚拟主机 基于IP地址构建虚拟主机 虚拟主机 虚拟主机(英语:virtual hosting)或称共享主机(shared web hosting) ...

  6. FPGA虚拟三阶魔方(HDMI显示版)

    目录 ​编辑 一.设计概述 二.设计模块 1.三阶魔方建模 (1)魔方基本操作: (2)魔方建模: 2.魔方转动控制: (1)控制概述: (2)按键消抖: (3)魔方控制: 3.HDMI显示模块: ( ...

  7. 魔方CFOP公式匹配算法

    1.魔方的原理及其性质 魔方最初是由匈牙利教授厄尔诺鲁比克发明的,之后经过发展,魔方衍化出了多种多样的版本,但最为经典的还是三阶魔方,具有普适性的同时,又是被大家所熟悉的.所以,本文选了三阶魔方作为本 ...

  8. Apache构建web主机、日志分割及AWStats分析系统

    Apache小结 一.构建虚拟 Web 主机 1.1 基于域名的虚拟主机 1.1.1 基于域名的虚拟主机构建流程(理论) 1.1.1.1.为虚拟主机提供域名解析 方法一∶ 部署DNS域名解析服务器 来 ...

  9. 计算机科学中的虚拟化包括哪些,计算机虚拟化包括哪几个方面(计算机虚拟技术在计算机教学中的应用探究)...

    经济的快速发展使我国飞速发展,进入也进入了现代化的网络时代.计算机科学硕士论文,表示,在计算机教学中运用虚拟技术实现了教学的多元化,降低了教学成本,最终提高了学生的学习质量.虚拟技术已经成为人机交互的 ...

  10. alsa 测试 linux_Electron 构建步骤 (Linux)

    遵循下面的引导,在 Linux 上构建 Electron . Prerequisites Python 2.7.x. 一些发行版如 CentOS 仍然使用 Python 2.6.x ,所以或许需要 c ...

最新文章

  1. OpenCV实现失焦模糊图像恢复
  2. 人脸识别算法初次了解
  3. git-commit编辑器nano改vim
  4. Java个人学生信息的录入_java录入学生信息
  5. Nginx负载均衡、ssl原理,生成ssl密钥对,配置Nginxssl
  6. 让女朋友能懂的网络技术篇之动态代理
  7. java并发编程学习5--forkJoin
  8. 经常遇到的10大C语言基础算法(珍藏版源码)
  9. C++开发者都应该使用的10个C++11特性
  10. python3 换源_CentOS 7.5 下 python3 安装及 pip 换源
  11. 方向盘左右能摇动_金澳小贴士——通过方向盘,竟能看出这些汽车故障!
  12. 转载CentOS7 yum 安装与配置MySQL5.7
  13. stardict安装及其他
  14. jsp+mysql校园卡管理系统设计与实现
  15. FIT2CLOUD飞致云完成C轮和C+轮融资,持续引领中国多云管理市场
  16. spring mvc 404 报错记录
  17. python生成唯一id,分布式唯一id,雪花算法
  18. ubuntu 常识(转)
  19. Oracle10g卡顿,192MB内存运行win10 系统启动大约3分钟响应非常慢
  20. 打印文字一边清晰而另一边不清晰的解决方法

热门文章

  1. 苹果登录skype显示无法连接服务器,无法连接appstore服务器 无法连接appstore服务器怎么办呢...
  2. kubectl rollout restart重启pod
  3. 上课作业(5)——#576. 饥饿的牛(hunger)
  4. axure中图表背影_Axure教程:如何制作可视化图表?
  5. HZAU 1001 Handing Out Candies
  6. kettle使用命令行来运行ktr和kjb
  7. 企业招聘采集算法(58,51job,海南在线,智联招聘,百度招聘,猎聘网)
  8. VMware虚拟机没有网络
  9. 架构师之路读书会 | 15分钟一本,让我为你精读100本好书,快来加入吧!
  10. php5.5.12 yar,[原]PHP-yar拓展源码解读五-server篇