多维数组

  • 一、多维数组的创建
    • 例3-30
    • 例3-31
    • 例3-32
    • 例3-33
  • 二、多维数组的运算
    • 例3-34
    • 小游戏:猜数游戏、15个滑块游戏

一、多维数组的创建

矩阵是用的最为广泛的二维数组,但是有很多事物是多维的。比如物理的波义尔定律,是以气体压强、气体容积、绝对温度的三维数据来描述的。多维数组的一般表达式为

A(i,j,k…)

其中,A为多维数组名,i,j,k为一维、二维、三维…下表索引值。通常 i 称行、j 称列、k称页。

(1)多维数组的创建可通过直接赋值来取得:

例3-30

设置三维矩阵A,第一页为magic(3),第二页为vander([1,2,3]),第三页为pascal(3)。

>> A(:,:,1)=magic(3)  %第1页,设为magic(3)A =8     1     63     5     74     9     2>> A(:,:,2)=vander([1 2 3])  %第2页,设为范德蒙矩阵A(:,:,1) =8     1     63     5     74     9     2A(:,:,2) =1     1     14     2     19     3     1>> A(:,:,3)=pascal(3)  %第3页,设为pascal矩阵A(:,:,1) =8     1     63     5     74     9     2A(:,:,2) =1     1     14     2     19     3     1A(:,:,3) =1     1     11     2     31     3     6

(2)通过矩阵生成多维函数:

例3-31

设置三维正态分布的随机矩阵B,其中m=n=4,k=3

>> B=rand(4,4,3)B(:,:,1) =0.8147    0.6324    0.9575    0.95720.9058    0.0975    0.9649    0.48540.1270    0.2785    0.1576    0.80030.9134    0.5469    0.9706    0.1419B(:,:,2) =0.4218    0.6557    0.6787    0.65550.9157    0.0357    0.7577    0.17120.7922    0.8491    0.7431    0.70600.9595    0.9340    0.3922    0.0318B(:,:,3) =0.2769    0.6948    0.4387    0.18690.0462    0.3171    0.3816    0.48980.0971    0.9502    0.7655    0.44560.8235    0.0344    0.7952    0.6463

例3-32

用矩阵复制生成多维矩阵C,它是由矩阵

复制成 3* 4 *3矩阵。

>> A=[1 2;3 4]   %样板矩阵A =1     23     4>> C=repmat(A,[3,4,3])  %将矩阵A复制成3*4,复制后再复制3页C(:,:,1) =1     2     1     2     1     2     1     23     4     3     4     3     4     3     41     2     1     2     1     2     1     23     4     3     4     3     4     3     41     2     1     2     1     2     1     23     4     3     4     3     4     3     4C(:,:,2) =1     2     1     2     1     2     1     23     4     3     4     3     4     3     41     2     1     2     1     2     1     23     4     3     4     3     4     3     41     2     1     2     1     2     1     23     4     3     4     3     4     3     4C(:,:,3) =1     2     1     2     1     2     1     23     4     3     4     3     4     3     41     2     1     2     1     2     1     23     4     3     4     3     4     3     41     2     1     2     1     2     1     23     4     3     4     3     4     3     4

例3-33

用矩阵连接函数cat,生成多维数组D=cat(dim,A,B,C),A=magic(3),B=ones(3),C=eye(3),维数 dim=3。

>> A=magic(3)  %输入矩阵AA =8     1     63     5     74     9     2>> B=ones(3)  %输入矩阵BB =1     1     11     1     11     1     1>> C=eye(3)  %输入矩阵CC =1     0     00     1     00     0     1>> D=cat(3,A,B,C)  %沿第3维连接A、B、C,即成三维数组DD(:,:,1) =8     1     63     5     74     9     2D(:,:,2) =1     1     11     1     11     1     1D(:,:,3) =1     0     00     1     00     0     1

二、多维数组的运算

多维矩阵运算与二维数组的运算基本相同。其中函数包括sum、mean、size、ones、zeros、eye、rand、randn和prod等。

例3-34

>> B(:,:,1)=magic(3);  %第1页为3阶魔方矩阵
>> B(:,:,2)=ones(3);   %第2页为3阶全1矩阵
>> B(:,:,3)=eye(3);    %第3页为3阶单位矩阵
>> size(B)ans =3     3     3>> sum(B)  %数组求和ans(:,:,1) =15    15    15ans(:,:,2) =3     3     3ans(:,:,3) =1     1     1>> prod(B)  %数组求积ans(:,:,1) =96    45    84ans(:,:,2) =1     1     1ans(:,:,3) =0     0     0

小游戏:猜数游戏、15个滑块游戏

多维数组(2019.10.25)相关推荐

  1. centos模拟post请求_java模拟post和get请求(2019/10/25)

    一.http含义的介绍 1.http协议是超文本传输协议--具体含义请百度 2.基于tcp/ip协议--注意和udp的区别 3.无状态---本次请求记不住以往请求的状态 4.无连接--每次连接只处理一 ...

  2. 二维数组最大子数组和

    一.实验题目 求一个二维数组中和最大的子数组. 二.实验思路 基于我们第一次合作时求的一位数组最大子数组,加上一层循环来遍历二维数组中的所有子矩阵的情况. 第一步:先利用上次的方法求每一行的情况,将每 ...

  3. 长宽相等的矩阵(二维数组)逆时针旋转90度

    将长宽相等的矩阵(二维数组)逆时针旋转90度,例如,有如下一个二维数组 00 10 20 30 40 50 60 01 11 21 31 41 51 61 02 12 22 32 42 52 62 0 ...

  4. c语言二维数组对角线输出字符,输出二维数组对角线上的数 c语言 二维数组 对角线相加...

    1.编写程序,把下面的数据输入到一个二维数组中: 25 36 78 13 12 26 8我自己编的,用VISUAL C++6.0 测试过了 #include"stdio.h" vo ...

  5. 二维数组传入函数_C++二维动态数组memset()函数初始化

    来源:https://blog.csdn.net/longhopefor/article/details/20994919 先说说memset函数: void *memset(void *s,int ...

  6. a和a的区别、二维数组的本质及多维数组

    1 a和&a的区别 int a[10] = {1,2};//其他初始化为0 a代表数组首元素的地址,不是整个数组的地址 &a表示整个数组的地址 &a,a代表的数据类型不一样 & ...

  7. c语言二维数组输入数据,c语言编写程序,把下面的数据输入到一个二维数组中:...

    c语言编写程序,把下面的数据输入到一个二维数组中: 答案:3  信息版本:手机版 解决时间 2019-10-07 01:08 已解决 2019-10-06 03:19 1. 编写程序,把下面的数据输入 ...

  8. 2011软专高级程序语言T4(二维数组按一维数组访问)

    排序问题,给定一个10*10的矩阵a,编一个程序,对a进行排序.要求: ·a[i1][j1]<=a[i1][j2] 若j1<j2 ·a[i1][j1]<=a[i2][j2] 若i1& ...

  9. 二维数组名再取地址是什么

    ww6582163 | 分类:互联网 | 浏览246次 分享到:  2013-11-26 18:21提问者采纳 此处的 &a 的类型是char (*)[5][20],即指向整个数组的.就如同 ...

最新文章

  1. python中for语句可以有else部分_Python中的for...else语句可以不写else吗?
  2. Java 8 中 Stream API 的奇技淫巧
  3. linux命令netstat
  4. 利用系统提供的崩溃日志解Native层Bug
  5. C++ 动态二维数组(二维vector)
  6. LeetCode 254. 因子的组合(回溯)*
  7. php静态数组变量初始化,为什么数组初始化时,赋值不能是常量?
  8. Modularity(模块化-CMD规范)
  9. 学习 TList 类的实现[6]
  10. openstack--5--控制节点和计算节点安装配置nova
  11. 计算机硬件 - 主板
  12. iOS——结构体指针
  13. *ST东方A:山重水复疑无路 强烈推荐评级
  14. c语言统计大小写字母 空格 和数字个数,C++统计中英文大小写字母、数字、空格及其他字符个数的方法...
  15. 自学anaconda的正确姿势
  16. detailview的控件基础
  17. 使用组件不渲染 Unknown custom element: <xxx> - did you register the component correctly? For recursiv
  18. 关于esxi主机上vm无法ping通edge网关设备ip的处理
  19. Hadoop学习之SSH免密登录配置(以三台虚拟机为例,完全分布式)
  20. ABAQUS6.14材料压断裂仿真分析视频教程

热门文章

  1. Unity-UGUI制作的小地图-可放大缩小视角,大地图小地图切换
  2. vue-d2admin-axios异步请求登录,先对比一下Jquery ajax, Axios, Fetch区别
  3. PHP隐私保护通话,AXB模式_隐私保护通话 PrivateNumber_开发指南_代码样例_PHP代码样例_华为云...
  4. Kubernetes新近kubectl及CNI漏洞修复,Rancher 2.2.1发布
  5. markdown绘图插件 ---- mermaid简介
  6. 如何营造办公室的友好氛围
  7. 凡科建站之音乐古筝网站建设案例分析
  8. 笑傲江湖手3D有服务器端文件,笑傲江湖网游单机版
  9. 服务器客服获取小程序头像,微信小程序自动获取微信用户头像
  10. php毕业设计 基于php+mysql在线视频点播系统毕业设计开题报告功能参考