数据结构和矩阵细节用法: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'
从上述代码中,可以看出来,
单元矩阵用{}建立;用“{}”输出整列和整列;用“{}”和“()”结合或者“{}”输出具体的某行某列的元素
相关文章:

数据结构和矩阵细节用法: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 …...

12. Django 第三方功能应用
12. 第三方功能应用 因为Django具有很强的可扩展性, 所以延伸了第三方功能应用. 通过本章的学习, 读者能够在网站开发过程中快速实现API接口开发, 验证码生成与使用, 站内搜索引擎, 第三方网站实现用户注册, 异步任务和定时任务, 即时通信等功能.12.1 Django Rest Framework框…...
UnityWebRequest获取本地txt文件,其中中文乱码问题(踩坑记录)
Unity获取本地streamingassert下txt文件,遇到点问题,就是用UnityWebRequest下载一个txt文件的时候,原txt在资源管理器用notepad打开显示正常,但是Unity里调试,打印内容却是乱码, 在notepad 转存为utf-8&…...

轮到国产游戏统治Steam榜单
6月10日晚8点,《黑神话:悟空》实体版正式开启全款预售,预售开启不到5分钟,所有产品即宣告售罄。 Steam上,《黑神话:悟空》持续占据着热销榜榜首的位置。 但在《黑神话:悟空》傲人的光环下,还有一款国产游戏取得出色的成绩。 6月10日&#…...

不想搭集群,直接用spark
为了完成布置的作业,需要用到spark的本地模式,根本用不到集群,就不想搭建虚拟机,hadoop集群啥的,很繁琐,最后写作业还用不到集群(感觉搭建集群对于我完成作业来说没有什么意义)&…...

【MATLAB源码-第225期】基于matlab的计算器GUI设计仿真,能够实现基础运算,三角函数以及幂运算。
操作环境: MATLAB 2022a 1、算法描述 界面布局 计算器界面的主要元素分为几大部分:显示屏、功能按钮、数字按钮和操作符按钮。 显示屏 显示屏(Edit Text):位于界面顶部中央,用于显示用户输入的表达式和…...
Scikit-learn 基础教程:机器学习的初步指南
Scikit-learn 是一个用于数据挖掘和数据分析的机器学习库,建立在 NumPy、SciPy 和 matplotlib 之上。它提供了简单而高效的工具来进行数据分析和建模。本文将为您介绍 Scikit-learn 的安装方法、核心组件,以及如何应用这些组件进行一个简单的机器学习项目…...

开源WebGIS全流程常用技术栈
1 数据生产 1.1 uDig uDig(http://udig.refractions.net/)是一个基于Java开源的桌面应用框架,它构建在Eclipse RCP和GeoTools(一个开源的Java GIS包)上。可以进行shp格式地图文件的编辑和查看;是一个开源空间数据查看…...
前端开发之HTTP协议认识
上一篇👉: 前端开发之WebSocket通信 文章目录 1. HTTP 1.0 和 HTTP 1.1 之间有哪些区别1.连接方面:2.资源传输优化:3.缓存机制增强:4.主机头识别5.请求方法扩展 2.HTTP 1.1 和 HTTP 2.0 的区别1. 二进制分帧层:2.多路…...
力扣刷题总结 -- 数组26
76. 所有奇数长度子数组的和(简单) 题目要求: 给定一个正整数数组 arr ,计算所有奇数长度子数组的和。 子数组定义为原数组中的一个连续子序列。 返回 arr 中 所有奇数长度子数组的和 。 题目分析: 先得到所有子…...

无线MODBUS通讯模块在供水系统中的应用
一、项目背景 我国是人口大国、农业大国,同时也是贫水大国。由于大量工业废水污染了部分河流、地表的浅层水资源,并且有逐年加重的趋势,再加上农业、绿化等灌溉对水资源的大量消耗,这些因素综合作用进一步加剧了我国水资源紧缺的…...
linux为什么不是实时操作系统
Linux为什么不是实时操作系统? 从我们接触Linux系统开始,一直听到的都是它是非实时操作系统,怎么理解这个非实时呢? 我的理解,非实时,就是中断响应不及时,任务调度不及时。那么,真…...

【STM32】飞控设计
【一些入门知识】 1.飞行原理 【垂直运动】 当 mg>F1F2F3F4,此时做下降加速飞行 当 mg<F1F2F3F4,此时做升高加速飞行 当 mgF1F2F3F4 ,此时垂直上保持匀速飞行。 【偏航飞行】 ω 4 ω 2 ≠ ω 1 ω 3 就会产生水…...
MySQL CDC
一、MySQL CDC概念 MySQL CDC(Change Data Capture),即MySQL变更数据捕获,是一种能够捕获MySQL数据库中数据变化(包括插入、更新和删除操作)的技术。这些变化可以实时或准实时地同步到其他系统或服务中&am…...

手把手教你安装 Vivado2022.2(附安装包)
一、Vivado 2022.2 优势 Vivado 2022.2版本与之前的版本相比,具有以下几个显著的优势: 电源设计管理器(PDM):Vivado 2022.2引入了全新的电源设计管理器(PDM),这是一个下一代功耗评…...

旅行者1号有什么秘密?飞行240多亿公里,为什么没发生碰撞?
旅行者1号有什么秘密?飞行240多亿公里,为什么没发生碰撞? 自古以来,人类就对浩瀚无垠的宇宙充满了好奇与向往。从最初的仰望星空,到如今的深空探测,人类探测宇宙的历史发展可谓是一部波澜壮阔的史诗。 在…...

如何保护云主机安全
在数字化时代,云服务器已成为企业数据存储、处理和传输的重要工具。然而,随着其应用的广泛和深入,云服务器也面临着越来越多的安全威胁。为了应对这些威胁,白名单技术应运而生,成为保护云服务器安全的重要手段。 首先&…...

postman教程-19-mock测试
上一小节我们学习了Postman接口参数化方法,本小节我们讲解一下Postman mock测试的方法。 一、什么叫mock测试 mock测试就是在测试过程中,对某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便于测试的一种测试方法,…...
纳秒级网络库【二】技术选型
在十年之前,已经有网络产品实现7纳秒延迟,所以无需质疑是否能够实现,关键问题是:代价是什么。国内不少量化公司在招聘低延迟总线的开发人员,虽然我不知道他们具体的技术选型,从技术底层来看,并没…...

C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...

【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...

大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...

《Docker》架构
文章目录 架构模式单机架构应用数据分离架构应用服务器集群架构读写分离/主从分离架构冷热分离架构垂直分库架构微服务架构容器编排架构什么是容器,docker,镜像,k8s 架构模式 单机架构 单机架构其实就是应用服务器和单机服务器都部署在同一…...
comfyui 工作流中 图生视频 如何增加视频的长度到5秒
comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗? 在ComfyUI中实现图生视频并延长到5秒,需要结合多个扩展和技巧。以下是完整解决方案: 核心工作流配置(24fps下5秒120帧) #mermaid-svg-yP…...
基于鸿蒙(HarmonyOS5)的打车小程序
1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...