数据结构和矩阵细节用法:double、cell和complex #matlab

矩阵建立

建立矩阵用[];

矩阵的同一行内的元素用逗号或者空格隔开;

矩阵的不同行的元素用分号隔开

eg.        矩阵      A=

1

2

3

4

5

6

7

8

9

在matlab中矩阵A表示为:

clc;clear;

A=[1,2,3;4,5,6;7,8,9];  %或者A=[1 2 3;4 5 6;7 8 9];
%如果不用A(m,n)表示矩阵元素,而用A(x)表示元素,那么就要注意x是按照列来排序的,即A(2)=4;A(6)=8;

小矩阵构建大矩阵

假设: A=[1,2,3;4,5,6;7,8,9];   B=-A;

我们可以构建矩阵C=[B,A;A,B;A,A];

C=

-1

-2

-3

1

2

3

-4

-5

-6

4

5

6

-7

-8

-9

7

8

9

1

2

3

-1

-2

-3

4

5

6

-4

-5

-6

7

8

9

-7

-8

-9

1

2

3

1

2

3

4

5

6

4

5

6

7

8

9

7

8

9

数值矩阵

数值矩阵在matlab的工作区一般有两种,一种是double(双精度浮点数),还有一种就是table(表格)类型

        double类型可以分为double和double(complex)。double就是实数,double(complex)就是复数(a+bi)。

举例说明:double类型的矩阵A=

1

2

3

4

5

6

7

8

9

double(complex)类型的矩阵B=

此处的table类型矩阵其实特指的是从表格文件中读取出的矩阵,有的时候读进matlab中后显示是double类型,有的时候是table。table可以包含不同列的数据,每列可以有不同的数据类型(包括double、char、logical等),并且每列通常有一个列名(VariableNames)。table特别适用于存储具有列名、行标签或混合数据类型的表格数据。

举例说明:

% 创建一个 table,包含不同类型的列T = table(1:3, {'A', 'B', 'C'}, true(1,3), 'VariableNames', {'Number', 'Letter', 'Flag'});whos T % 查看 T 的信息,可以看到其是一个 table

注:在这个例子中,T是一个table,包含三列:一列是double类型的数字,一列是char类型的字母,还有一列是logical类型的标志。

% 查询 Letter 列中的第二个值letterValue = T.Letter(2); % 使用点号`.`和括号`()`可以提取单个元素的值disp(letterValue);

table类型矩阵可以使用点号`.`和括号`()`输出具体的某行某列的元素

结构矩阵

结构矩阵在工作区用structure 表示

与数值矩阵不同,结构矩阵中不仅可以包含纯数,还可以包含文本,例如学员信息表中姓名为文本,学号为数值

除了在excel中直接输入数据构成结构矩阵,该如何再matlab中构建结构矩阵呢?举例:

% 创建一个包含多个人的结构矩阵people(1).name = 'Alice';people(1).age = 30;people(1).occupation = 'Engineer';people(2).name = 'Bob';people(2).age = 25;people(2).occupation = 'Doctor';disp(people(1).name); % 输出 'Alice'disp(people.name); % 输出 'Alice'和'Bob'

从上述代码中,可以看出来,

结构矩阵用“.”输出整列;用“()”输出整行,用“.”和“()”结合输出具体的某行某列的元素

单元矩阵

单位矩阵在工作区用cell 表示

与结构矩阵不同,单位矩阵中中每个元素都是一个单元(cell),可以包含任何类型的数据(包括其他单元矩阵)。简单来说,结构矩阵的每一列为一个变量,即类似于分类变量,每个变量下的数据类型是相同的,例如姓名下的数据全是文本,学号下的数据全是数值;而单位矩阵的各个矩阵是不同的,第一行第一列是数值,第一行第二列可能是文本,第二行第一列可能又是包含n个元素的矩阵,即你可以理解为单元矩阵是“乱输一通”的的矩阵。

举例:

% 创建一个单元矩阵C = {1, 'text', [1 2 3; 4 5 6]};% 访问单元矩阵中的数据disp(C{1}); % 输出 1disp(C{2}); % 输出 'text'disp(C{3}(1,2)); % 输出 2% 创建一个二维单元矩阵C2 = {1, 'a'; 2, 'b'; 3, 'c'};% 访问二维单元矩阵中的数据disp(C2{2,2}); % 输出 'b'

从上述代码中,可以看出来,

单元矩阵用{}建立;用“{}”输出整列和整列;用“{}”和“()”结合或者“{}”输出具体的某行某列的元素

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/27203.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++的异常捕获

目录 C语言的异常处理方式 C的异常处理方式 异常的抛出与捕获 抛出与捕获原则 异常安全 C语言的异常处理方式 1、终止程序 常见形式:assert 缺陷:太过强硬,如果发生内存错误,或者除0语法错误等就会直接终止程序 2、返回错误码…

for 、while循环

练习1:输入一个数,判断是否是完美数 完美数:正序和逆序的结果一致 练习2: * ** *** **** 练习3: **** *** ** * 练习4:输入一个数,计算最大公约数,以及最小公倍数 练习5&#xff…

排序---归并排序(简单优化前后比较)

前言 个人小记 一、优化方案 将递归调用中的创建数组空间提出&#xff0c;减少数组空间创造次数&#xff0c;从而减少运行时间。 二、代码 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #define MAX_ARR 100000…

Unity引擎在UI上渲染粒子播放

大家好&#xff0c;我是阿赵。   在UI上面显示粒子特效&#xff0c;如果把粒子系统直接拖到Canvas里面&#xff0c;会存在很多问题&#xff0c;比如层级问题、裁剪问题等。这里分享一种用MaskableGraphic和UIVertex来显示粒子特效的方法。 一、 MaskableGraphic和UIVertex简…

微服务之网关

1、什么是微服务网关&#xff1f; 微服务网关是一种用于管理和调度微服务的工具或服务&#xff0c;它在微服务架构中扮演着关键角色。以下是关于微服务网关的清晰概述&#xff1a; 概念定义&#xff1a; 微服务网关是微服务架构中的前端门户&#xff0c;它提供了一个统一的入…

✊构建浏览器工作原理知识体系(网络协议篇)

🌻 前言 书接上回~ 系列文章目录: # ✊构建浏览器工作原理知识体系(开篇)# ✊构建浏览器工作原理知识体系(浏览器内核篇)# ✊构建浏览器工作原理知识体系(网络协议篇)✊构建浏览器工作原理知识体系(网页加载超详细全过程篇)为什么你觉得偶尔看浏览器的工作原理,…

果园预售系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;用户管理&#xff0c;果树管理&#xff0c;果园管理&#xff0c;果园预约管理 前台账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;论坛&#xff0c;公告&a…

使用Zed 实现测距

目录 1. 导入相关库 2. 相机初始化设置 3. 获取中心点深度数据 4. 计算中心点深度值 5. 完整代码 此代码基于官方代码基础上进行改写,主要是获取zed相机深度画面中心点的深度值,为yolo测距打基础。 Zed相机是由Stereolabs公司开发的一种先进的立体视觉相机。这种相机专…

HCIP认证笔记(单选题)

1、OSPF Hello报文中不包括:process ID 3、IS-IS路由的开销在narrow模式下路由的开销值取值范围是:1~63; 在wide模式下路由的开销取值范围为:1~16777215 4、attached-bit advertise never 命令可以使level-1设备不生成缺省路由; 5、OSPFv3报文封装在IPv6报文内,IPv…

MySQL提权之UDF提权

1、前言 最近遇到udf提权&#xff0c;几经周折终于搞懂了。感觉挺有意思的&#xff0c;渗透思路一下子就被打开了。 2、什么是udf提权 udf 全称为user defined function&#xff0c;意思是用户自定义函数。用户可以对数据库所使用的函数进行一个扩展&#xff08;windows利用…

Rollup 打包一个 JavaScript 项目

export default {input: "./src/FFCesium/core/index.js", // 输入文件output: {file: "public/lastVersion/FFCesium.confuse.js", // 输出文件//format: "cjs", // 打包格式为cjsformat: "es",exports: "default", // 或者…

电脑超频是否能把平平无奇的CPU性能提升到超高性能的CPU水平?

前言 这一期着实很有意思哈&#xff0c;一颗平平无奇的CPU通过超频&#xff0c;把性能提升到超高性能的CPU水平。 举个例子&#xff1a;类似于把i7-4790k这颗十年前的高性能CPU超频到性能与i9-14900同样水准&#xff0c;是否可行&#xff1f; 先科普一下&#xff1a;i7-4790…

CAPL如何在底层模拟TCP Server端建立TCP连接

TCP连接的三次握手过程中,Server端需要做的事情是:接受连接请求,确认和发起自己的连接,这是通过一条ACK+SYN报文完成的。 如果Server端不使用TCP/IP协议栈和Socket接口函数完成连接,而是通过组装以太网报文完成连接,需要注意: Server不使用TCP/IP协议栈,所以不应该配置…

中文版svn怎么忽略文件

个人需求&#xff1a; 不上传dist&#xff0c;dist.7z&#xff0c;node_modules等文件夹 实际操作&#xff1a; 前言&#xff1a;在上传svn为避免操作失败导致丢失文件的情况&#xff0c;保险起见&#xff0c;先备份代码 1&#xff1a;右键点击 2&#xff1a;点击新建 – 其…

key-value 字典匹配处理

根据labelStr中的值来获取对应的中文名称 function labFormat(labelStr){try {labelStr labelStr.replace(//g, ")const arr JSON.parse(labelStr ) // "[admin,gene]" >[admin,gene]const maplb arr.map(item> map(item)) return maplb.join(,) //…

分布式光纤测温DTS与红外热成像系统的主要区别是什么?

分布式光纤测温DTS和红外热成像系统在应用领域和工作原理上存在显著的区别&#xff0c;两者具有明显的差异性。红外热成像系统适用于表现扩散式发热、面式场景以及环境条件较好的情况下。它主要用于检测物体表面的温度&#xff0c;并且受到镜头遮挡或灰尘等因素的影响会导致失效…

详解红黑树

红黑树规则 节点是红色或黑色。根节点是黑色。每个叶子节点都是黑色的空节点&#xff08;NIL节点&#xff09;。每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。 红黑树…

【Shopee】计算虾皮订单的各项支出和订单收入计算方法

虾皮订单成交截图 基础条件&#xff1a; 商品金额&#xff1a;11.92 [4x2.98] 商品原价&#xff1a;7.5 商品折后价&#xff1a;2.98 商品数量&#xff1a;4 优惠券与回扣&#xff1a; 店铺优惠券&#xff08;减10%&#xff09;&#xff1a;1.2 [11.92x10% 四舍五入了] 订单实…

微软bing英文地图公司地址标注

实现效果如下&#xff1a; 通过微软Bing地图嵌入代码&#xff0c;以在网站中展示公司地址&#xff0c;使用鼠标滚动可缩放或点击拖动地图。 直接上代码&#xff0c;根据自己的需求修改相关信息即可。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN…

消息群发工具制作的过程和需要用到的源代码!

在信息化快速发展的今天&#xff0c;消息群发工具因其高效、便捷的特点&#xff0c;在各个领域得到了广泛的应用&#xff0c;无论是企业营销、社交互动&#xff0c;还是日常通知&#xff0c;消息群发工具都发挥着不可替代的作用。 本文将详细介绍消息群发工具的制作过程&#…