个人理解matlab是以工具为主,为了解决数学问题/作图而存在的辅助工具,我们只需要针对一系列问题思考需要调用的知识然后doc/help调用文档学习,通过逐步积累最后通透相关数学问题、学会对各种常见图形进行绘制即可。

于是关于matlab的知识我的想法就是把每一道题需要用到的知识挖深掌握,然后其他基础普及就由认真负责的yym老师教啦。

今日简单题:1.创建一个五阶幻方矩阵A

(1)验证A的各列元素之和、各行元素之和、主对角元素之和以及副对角元素之和。

(2)引用A的第二、三列(不用赋给另一个矩阵直接回车)在阅读题目时需要调用的知识:

a.如何创建一个矩阵。b.如何创建一个幻方矩阵。c.如何把幻方矩阵赋值给A。d.如何对A的各列、各行、对角线元素、副对角线元素进行引用以及求和。e.如何对矩阵特定的行、列进行引用。事先需要了解和准备的:matlab2016b(各个版本针对初学阶段其实都差不多)、工作区、编辑器、线性代数基础-矩阵、向量、幻方矩阵的定义、matlab中%符号代表注释。

(1)创建幻方矩阵的方式:magic函数基本语法:magic(n)%n是一个被定义的变量,需要有一个值,我们需要知道在脚本文件和编辑器中是不可以输入和输出变量的,需要在函数文件中才可以输入和输出变量。并且在脚本区创建的变量都是全局变量,而函数文件中的变量是局部变量。

于是我们创建一个五阶幻方矩阵并把它赋值给A:

>> A=magic(5)

A =

17 24 1 8 15

23 5 7 14 16

4 6 13 20 22

10 12 19 21 3

11 18 25 2 9

可以得到这个六阶幻方矩阵(值得吐槽的是它生成的幻方矩阵是固定的2333但是我们知道幻方矩阵的生成方式其实蛮好玩的,也有很多花样。比如:我们先给定一个n阶幻方,由任意一个位置填入1,然后往它的右上方填入2,再往右上方填3,假如右上方遇到了边界,那么就突破边界在最后一行相对上一次填入的数字的右一格中填入相应递增数字,如果右上方已经填有数字的话,那么改为填入上一次填入的数字的下方一格中,突破边界则同理填到最上一行相同列中,最终数字一定会填满整个n阶矩阵。我们看到matlab生成幻方的方式也是这种最常见的方式。跑题了跑题了)

2.计算矩阵中行和列和的方式:sum函数基本语法:sum(A)、sum(A,dim)%如果A是一个行向量,那么sum(A)返回一个数值:A的所有元素的和;如果A是一个矩阵,那么sum(A)返回一个行向量:这个行向量的各元素是A的列和。而sum(A,dim),dim代表维度,通常为1或2,(为3及以上就是更多维度的数组的某一维度求和了,我们暂时用不到故不做记录),如果dim=1,且A为一个矩阵,那么sum(A,1)和sum(A)是等价的;如果dim=2,且A为一个矩阵,那么sum(A,2)的返回值是一个列向量:这个列向量的各元素是A的行和。

于是我们对幻方矩阵求和:

>> sum(A)%生成列和租组成的行向量

ans =%在我们不指定赋值直接计算时,默认赋给ans

65 65 65 65 65

>> sum(A,2)%生成行和组成的列向量

ans =

65

65

65

65

65

3.对角线元素相关的矩阵:diag(A)、fliplr(A)

diag函数%基本语法:diag(A),diag(A,k)diag(A)%其中若A为一向量,那么diag(A)会返回以A中个元素为对角元的方阵;若A为一矩阵,那么diag(A)会提取A的对角元按先后顺序返回一个列向量,diag(diag(A))就可以得到对角矩阵。

diag(A,k)%若A为一向量,那么diag(A,k)会返回一个以A为第k条超对角线(superdiagonal)/次对角线(subdiagonal)的方阵;若A为一矩阵,那么diag(A,k)会返回一个以A的第k条超对角线/次对角线

fliplr(A)%若A为一向量,那么返回A的元素倒置输出的向量(例如A=[1 2 3],那么fliplr(A)=[3 2 1])。若A为一矩阵,那么返回A的翻转(例如A=[1 2 3;3 4 5],那么fliplr(A)=[3 2 1;5 4 3])

于是我们计算主、反对角线元素和:

>> sum(diag(A))

ans =

65

>> sum(diag(fliplr(A)))

ans =

65

(1)的验证就完成了,让我们来复习我们现在学习了什么呢?我们学会了生成幻方矩阵,对一个矩阵求行和、列和,学会了求矩阵的对角线元素组成的列向量,学会了翻转矩阵,接着我们简单地介绍如何访问矩阵中的列、行、元素。

(2)

注:A为上述幻方矩阵A(m,n)%表示访问A的第m行n列元素,假如访问A中元素时m或n超出了边界会报错,但假如对A超出边界的地方赋值则会新增行/列,除了被赋值的地方,其余新增元素均为0,例如

>> A(6,7)=1

A =

17 24 1 8 15 0 0

23 5 7 14 16 0 0

4 6 13 20 22 0 0

10 12 19 21 3 0 0

11 18 25 2 9 0 0

0 0 0 0 0 0 1A(i)%假如把每一列都接在前一列的尾巴上的话,将会形成一个很长的列向量,那么A(i)就是在访问这个列向量的第i个元素,等价于访问A(m,n)其中i≡m(mod 6)(m=0时,m取6),n=[i/6]

A(m,q:p)、A(q:p,n)%前者表示A的第m行第q到p列,后者表示第n列第q到p行,其实在这里是省略了步长(step),我们用q:step:p来访问从q开始每次经过q+=step直到它超出p边界为止(根据step取正负来判断是小与p还是大于p),假如省略步长,那么默认它为1。我们也可以省略q、p只留一个冒号,就表示全行/列。例如A(m,:)表示第m行。

A(m:j:n)%,上面提到了步长的概念,那么这里就是针对A(i)的扩展就很好理解了。

于是我们需要访问A的第二、三列怎么做到呢?

>> A(:,2:3)

ans =

24 1

5 7

6 13

12 19

18 25

0 0

今天的matlab内容就是这样啦,可能今天还会复习一篇关于作图的基础题娱乐一下。

一想到晚上又要上卢老爷的课我的内心就一顿哀嚎啊,还是划水做letuce好了。

matlab幻方变换_Matlab入门1-幻方矩阵相关推荐

  1. matlab meshgrid函数_matlab入门(三)图像可视化

    matlab图像可视化 基本要求 (1)掌握图形窗口的创建与控制,以及图形窗口的基本操作:(2)熟练掌握二维和三维绘图基本的命令.线型控制:(3)初步掌握用特殊的图形来表现特殊数据的性质,如面积图.直 ...

  2. 理工科毕业设计献礼,MATLAB从入门到精通之矩阵是如何实现寻访与赋值的

    前言 以下是博主精心整理的两个matlab专栏,包含入门到精通及实战内容,需要的小伙伴可根据自己需求自行订阅. MATLAB-30天带你从入门到精通 https://blog.csdn.net/wen ...

  3. matlab 1到无穷_matlab入门图文教程:最全最浅显易懂

    写在最前面:与本文类似的文档<Maple入门教程>也已完成.欢迎浏览学习交流. 另外已开通wx交流群:加shizy0421进群.以及微信公众号matlab-learner,扫下面二维码进入 ...

  4. matlab的m函数入门1

    文章目录 1. 概述 2. 代码及其解析 3. 命令行窗口的尝试 1. 概述 参看别人的文章和代码,对每一句代码进行分析,从而达到 matlab的 m函数入门,针对 matlab 的 m 函数小白.( ...

  5. 《MATLAB App Designer从入门到实践》随书源代码

    GUIDE已经被MATLAB抛弃了,你还不知道吗?App Designer才是发展的方向 目前市面上MATLAB GUI编程的书籍琳琅满目,但大多数是基于GUIDE开发的,MATLAB从2016年开始 ...

  6. 幻方加密代码——自动生成幻方密钥方法,罗伯法单偶数阶的解法代码基于python

    前导: 罗伯法的口诀: 1.奇数阶幻方 2.双偶阶幻方 3.单偶阶幻方 自动生成幻方密钥: 前导: 幻方加密是基于罗伯法的填数自动生成阶级数阵来作为密钥,要明白幻方加密,首先就要先了解罗伯法的规律,编 ...

  7. 【MATLAB Image Processing Toolbox 入门教程三】快速入门之“在多光谱图像中寻找植被”

    [MATLAB Image Processing Toolbox 入门教程三] 本篇摘要 一.从多光谱图像文件导入彩色红外通道 二.构建近红外光谱散射图 三.计算植被系数并显示其定位 四.综合实例部分 ...

  8. matlab meshc函数_MATLAB函数库大全(收藏版)

    转发朋友圈获30赞,截图发送至公众号对话框,即可获该文章的PDF版本方便阅读. 目录 1 常用命令 表1.1 管理用命令 表1.2管理变量与工作空间用命令 表1.3文件与操作系统处理命令 表1.4窗口 ...

  9. MATLAB坐标系变换之机器人工具箱系列(3)

    1.前言: 在机器人的应用中,可以使用不同的坐标系来定义机器人,传感器和其他物体的位置.通常,对象在三维空间中的位置可以通过位置和方向值指定.这些值有多个可能的表示形式应用于某些特定应用程序.平移和旋 ...

  10. 【MATLAB Image Processing Toolbox 入门教程六】“导入、导出和转换”之“图像类型转换Ⅰ——在不同图像类型之间转换”

    [MATLAB Image Processing Toolbox 入门教程六] 1 gray2ind函数 2 ind2gray函数 3 mat2gray函数 4 rgb2gray函数 5 rgb2in ...

最新文章

  1. CSRankings全球排名第一的清华人工智能专业如何打造?听张钹院士娓娓道来
  2. 物联网 数据驱动企业 如何应对数据洪流
  3. linux不能识别usb,求助:USB无法识别
  4. 分布式架构中一致性解决方案——Zookeeper集群搭建
  5. CRM_OPPORT_H_READ_OW used not so often
  6. ORM是什么?如何理解ORM
  7. canvas全局合成画月牙_GIF动态图,视频?都能用Python转换成字符画图像
  8. Java LocalDate类| lengthOfYear()方法和示例
  9. go路由httprouter中的压缩字典树算法图解及c++实现
  10. It's a beautiful world!
  11. 优秀ASP.NET程序员的修炼之路(转)
  12. grub启动主题美化
  13. Nexus下载网盘地址,免费哦,烦要币的
  14. ArcCatalog连接PostgreSQL创建SDE库
  15. 最小采样频率计算公式_SPC子组样本量大小和抽样频率
  16. [PTA练习] 愿天下有情人都是失散多年的兄妹(25分)
  17. 安卓手机硬件信息修改 Device ID Changer 2020
  18. 前端开发免费学习资源分享
  19. HQL16 查找GPA最高值
  20. oracle rac linux下安装

热门文章

  1. 电子相册如何用c语言制作,电子相册怎样制作?
  2. 什么是前台?什么是中台?什么是后台?
  3. 全球各大主流卫星拍摄到的苏伊士运河货轮画面,看看哪个最清晰
  4. 增加设备分类号之后,设备名称SOM聚类前九个子类
  5. 数据盘点各城市公积金排名,你能拿多少?
  6. 美团实习| 周记(一)
  7. Windows批处理命令:start、call 的区别
  8. 电力GIS技术应用及若干相关问题
  9. 苹果手机又刷屏啦!!它是如何做到的?
  10. 高效能人士的七个习惯——由内而外全面造就自己