MATLAB基础语法知识
环境的配置等等就不写了,网上还是有很多资源可以找,而且正版的要付费,我也是看的网上的搞定的。
一,初识MATLAB
1.1 MATLAB的优势
- 不需要过多了解各种数值计算方法的具体细节和计算公式,也不需要繁琐的底层编程。
- 可以专注于对实际问题的分析。
1.2 MATLAB的主要功能
- 数值计算
- 符号计算
- 图形绘制
- 程序流程控制
- 工具箱
1.3 页面介绍
二,MATLAB数据数值
2.1 分类
2.1.1 整型
- 无符号整型:
-无符号8位(16位,32位,64位)整数
-无符号8位整数取值范围:00000000~11111111(~
)
- 带符号整数
-带符号8位(16位,32位,64位)整数
-带符号8位整数取值范围:10000000~01111111(~
)
- MATLAB提供函数将数值数据转换为整型数据:
-uint8:将数值数据转换为无符号八位整数
-int8:将数值数据转换为带符号八位整数
2.2 浮点型
- 浮点型数据分为双精度型和单精度型
- 单精度型实数占4个字节;双精度型实数占8个字节,双精度型的数据精度更高
- MATLAB中默认为双精度
- single函数:将其他类型数值数据转换为单精度型
- double函数:将其他类型数值数据转换为双精度型
2.3 复型
- 包括实部和虚部两个部分,都默认为双精度型
- 虚部用i或j表示
- real函数:求复数的虚部
- imag函数:求复数的实部
2.4 format格式
- 格式:format + 格式符
- 只影响数据输出,不影响数据的计算和存储
2.5 常用数学函数
- 格式:函数名(函数自变量的值)
- 函数自变量规定为矩阵变量,也可为标量,标量本身为矩阵的特例
- 函数运算时是将函数逐项作用于矩阵的每个元素上,所以最后运算的结果是一个与自变量同型的矩阵
- 常见函数的应用
-三角函数有以弧度为单位的函数也有以角度为单位的函数,如果以角度为单位则在函数名后加“d”,以示区别。
-abs函数可以求实数的绝对值,复数的模,字符串的ASCII码值
-用于取整的函数:fix,floor,ceil,round;其中round四舍五入;ceil指向上取整,取大于等于这个数的整数;floor指向下取整,取小于等于这个数的整数;fix指舍去小数取整
-isprime用于查找一定区间的素数
三,变量及其操作
3.1 变量的定义方式
- 变量名以字母开头,后接字母,数字或下划线的字符序列,最多63个字符
- 变量名区分字母大小写
- 标准函数名以及命令名必须用小写字母
- 格式: 变量名 = 表达式;表达式
>> x=exp(pi/2)
- 预定义变量:由系统本身定义的变量
-ans:默认赋值变量
-i,j:虚数单位
-pi:圆周率
-NaN:非数
3.2 变量的管理
- 内存变量删除与修改:在工作区窗口中右击某个变量,在快捷菜单中选择某个命令
- who和whos命令:输入后显示变量各种信息
- 内存变量文件
-用于保存MATLAB工作区变量的文件叫做内存变量文件,扩展名为.mat,也叫MAT文件
-save命令:创建内存变量文件
-load命令:装入内存变量文件
四,矩阵的表示
4.1 矩阵的建立
- 直接输入法:
-用中括号括起来
-同行元素用逗号隔开;不同行元素用分号隔开
- 用已建好的矩阵构建更大的矩阵
-同行用逗号隔开;不同行用分号隔开
-还可用实部矩阵和虚部矩阵构成复数矩阵
- 冒号表达式
-表示一个行向量
-格式: 初始值:步长(省略时则表示步长为一):表达式
-linspace(a,b,n)也可产生行向量;其中a是第一个元素,b是最后一个元素,n是元素总数,默认为100。
4.2 结构矩阵和单元矩阵
- 结构矩阵
-不同元素间相互联系,元素下还有成员
-格式:结构矩阵元素.成员名=表达式
- 单元矩阵
-各个元素即不同的数据
-建立方式与一般矩阵相似,但是是用大括号括起来的。
4.3 矩阵的引用
- 通过下标来引用矩阵的元素
-如果下标超过了矩阵范围,MATLAB中矩阵会扩张
- 通过序号来引用矩阵的元素
-矩阵元素按列存储,元素的序号就是矩阵存储的序号
-sub2ind函数:将矩阵中制定元素的行,列下标转换为存储的序号,调用格式为D=sun2ind(S,I,J),其中S指行数和列数组成的向量,I指转换矩阵元素的行下标,J指转换矩阵元素的列下标,D指对应序号。
-ind2sub函数:将把矩阵元素的序号转换为对应的行下标,其调用格式为[I,J] =ind2sub(S,D),其中S指行数和列数组成的向量,D指对应序号。
- 利用冒号表达式获取子矩阵
-A(i,:):第i行的全部元素
-A(:,j):第j行的全部元素
-A(i:i+m,k:k+m):第i~i+m行内且在第k~k+m列中的所有元素
- end运算符
-表示某一维的末尾元素下标
4.4 矩阵的删除
- 利用空矩阵删除矩阵中的元素
- 改变矩阵的形状
-reshape(A,m,n):在矩阵总元素保持不变的前提下,将矩阵A重新排列成m*n的二维矩阵,但不改变原矩阵的元素个数和存储顺序。
4.5 特殊表示
- A(:):将矩阵A的每一列元素堆叠起来,成为一个列向量。
五,基本运算
5.1 算术运算
5.1.1 基本运算:
- 介绍
-符号:+,-,*(乘),/(右除),\(左除),^(乘方)
-都是基于矩阵进行
-单个数据的运算是在矩阵运算中的一个特例
- 加减运算
-要求:两矩阵同型,则运算时两矩阵的相应元素相加减
-若两矩阵不同型,则MATLAB将给出错误信息
-一个标量也可以和矩阵进行加减运算,这时把标量和矩阵的每一个元素进行加减运算。
- 乘法运算
-要求:矩阵A的列数和矩阵B的行数相等,即A和B大小和维数相容
-若A和B大小和维数相容,则MATLAB将给出错误信息
- 除法运算
-有左除和右除两种
-假设A是非奇异矩阵,B/A等效于B*inv(A),A\B等效于inv(A)*B
- 乘方运算
-以A^x为例,要求A为矩阵,x为标量
5.1.2 点运算
- 点运算符:.*,./,.\和.^
- 指两矩阵对应元素进行相关运算,要求两矩阵同型
5.2 关系运算
5.2.1 介绍
- 关系运算符:>,<,>=,<=,==,~=(不等于)
- 当两个比较量是标量时,直接比较两数的大小。若关系成立,表达式结果为1,反之为0
- 当两个比较量是两个同型的矩阵时,则比较相同位置的两个元素,如果符合比较规则则为1,反之为0。最终返回一个同型的,由1或0组成的矩阵
- 当两个比较量是一个是矩阵,另一个是标量时,则标量和矩阵上的元素一一比较,如果符合比较规则则为1,反之为0。最终返回一个与原矩阵同型的,由1或0组成的矩阵
5.3 逻辑运算
5.3.1 介绍
- 逻辑运算符:&(与),|(或),~(非)
- 假定标量a和b,运算规则如下:
-a&b a、b全为非零是,结果为1,反之为0.
-a|b a、b只要有一个为非零时,运算结果为1
-~a 当a为0时,运算结果为1;当a为非零时运算结果为0
- 矩阵参与时,运算规则与关系运算相似。
5.3.2 运算先后顺序
在算数运算,关系运算,逻辑运算中,算数运算的优先级最高,逻辑运算的优先级最低,但逻辑非运算是单目运算,它的优先级比双目运算要高。
六,字符串处理
6.1 基本介绍
- 字符串用单引号括起来
- 如果字符串含单引号,该单引号字符用两个单引号表示
- 建立多行字符串可以形成字符串矩阵(需要两个字符串长度相等)
6.2 一些常见操作
(1)字符串的执行
- 格式:eval(s)
- s为字符串
(2)字符串与数值间的转换
- abs和double函数获取字符串矩阵所对应的ASCII码数值矩阵
- char函数将ASCII码矩阵转换为字符串矩阵
(3)字符串比较
- 方法:利用关系运算符和逻辑运算符
- 关系运算符比较:按ASCII码值逐个比较,返回一个数值向量
- 判断字符串是否相等的四种方法:
-strcmp(s1,s2):比较s1和s2是否相等,如果相等,返回1,反之返回0
-strncmp(s1,s2,n):比较s1和s2前n个字符串是否相等,如果相等,返回1,反之返回0
-strcmpi(s1,s2):忽略字母大小写时,比较s1和s2是否相等,如果相等,返回1,反之返回0
-strncmpi(s1,s2,n):忽略字母大小写时,比较s1和s2前n个字符串是否相等,如果相等,返回1,反之返回0
(4)替换与查找
- 相关函数
-findstr(s1,s2):返回短字符串在长字符串中的开始位置
-strrep(s1,s2,s3):将字符串s1中的所有子字符串s2替换为字符串s3
相关文章:
MATLAB基础语法知识
环境的配置等等就不写了,网上还是有很多资源可以找,而且正版的要付费,我也是看的网上的搞定的。 一,初识MATLAB 1.1 MATLAB的优势 不需要过多了解各种数值计算方法的具体细节和计算公式,也不需要繁琐的底层编程。可…...
PopupInner源码分析 -- ant-design-vue系列
PopupInner源码分析 – ant-design-vue系列 1 综述 上一篇讲解了vc-align的工作原理,也就是对齐是如何完成的。这一篇主要讲述包裹 Align的组件:PopupInner组件是如何工作的。 PopupInner主要是对动画状态的管理,比如打开弹窗的时候&#…...
Maven 的 pom.xml 文件中<dependency> 元素及其各个参数的解释
在 Maven 的 pom.xml 文件中,<dependency> 标签用于定义项目依赖的外部库。每个 <dependency> 元素包含了一系列的子元素,这些子元素定义了依赖库的各种属性。下面是一个典型的 <dependency> 元素及其各个参数的解释: <…...
【信创】Linux终端禁用USB存储 _ 统信 _ 麒麟 _ 方德
原文链接:【信创】Linux终端禁用USB存储 | 统信 | 麒麟 | 方德 Hello,大家好啊!今天给大家带来一篇关于在Linux终端下禁用USB存储设备的文章。禁用USB存储设备可以提高系统的安全性,防止未经授权的人员将数据拷贝到外部存储设备或…...
开放API接口时要注意的安全处理总结
开发API接口:开放给别人调用的接口。未经过安全处理的开发API接口安全弱点:数据窃取(密码等信息被窃取,盗刷,敏感信息的等)——RSA/DES加密: 签名机制在API接口中的应用:签名用于验证…...
FastGPT自定义插件的icon
最近研究FastGPT的自定义插件,经过好几天的折磨,终于实现了一个简单的发送邮件功能,但是呢在使用的时候发现插件的icon是默认的fastgpt的logo,那肯定得自定义一个啊。直接说方法: 1、自定义插件下面的template.json文件…...
SprinBoot+Vue旅游网站的设计与实现
目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质…...
代码随想录刷题day27丨455.分发饼干 ,376. 摆动序列 ,53. 最大子序和
代码随想录刷题day27丨455.分发饼干 ,376. 摆动序列 ,53. 最大子序和 1.贪心算法理论基础 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。 这么说有点抽象,来举一个例子: 例如,有一堆钞票,你可以拿走十张&a…...
Detect It Easy
Detect It Easy(简称 DIE)项目的网址为 https://github.com/horsicq/Detect-It-Easy 下载完安装包后,直接双击die.exe即可进入到操作界面 工具介绍: 它可以用来检测程序架构和文件类型。如图所示。其中,「模式」说明程…...
c++开关灯
题目描述 现有 𝑛n 盏灯排成一排,从左到右依次编号为:11,22,……,𝑛n。然后依次执行 𝑚m 项操作。 操作分为两种: 指定一个区间 [𝑎,𝑏][a,b]&…...
DevOps实现CI/CD实战(六)- Jenkins集成k8s
十、 Jenkins集成k8s Jenkins在集成K8s之前,需要搭建k8s集群,具体搭建步骤,完整笔记 https://github.com/ITenderL/ITenderL.github.io/tree/main/docs/DevOps, 包括完整的DevOps的笔记。 1. 准备部署的yml文件 pipeline.yml …...
张雪峰:物联网行业迎高光时刻!如何选择?我们诚聘销售工程师!
作为一间10多年的物联网公司,各位求职人士可以看看我们其中一个招聘要求,和自己需求结合分析分析,希望对你们有所帮助。 【公司实力底蕴】 盈电智控物联网科技(广东)有限公司,2024年7月成立,是…...
利用多文件编程实现顺序表的创建,判满,插入,输出
文章目录 🍊自我介绍🍊利用多文件编程实现顺序表的创建,判满,插入,输出seqlist.cseqlist.hmain.c 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞关注评论收藏(一键四连ÿ…...
百度快照劫持之JS劫持诊断与恢复一例
劫持现象: 百度搜索结果中,被劫持网站出现在搜索结果中, 点击进入网站,网站显示正常,数秒后网站自动跳转到彩票网站f51688.com/ff6/。但是第二次点击搜索结果,正常进入网站缺不会跳转到彩票网站。 初步认…...
深入探讨Go语言中的切片与数组操作
在编程世界中,数组一直是非常流行的数据结构,主要有两个原因:其一是简单易懂,其二是非常灵活,可以存储多种不同类型的数据。在Go语言中,数组的用法有其独特的特点,但与此同时,Go语言…...
【WPS Excel】复制表格时,提示“图片太大,超过部份将被截去“ 问题
WPS表格 2019版本 升级到 WPS最新版 WPS-支持多人在线协作编辑Word、Excel和PPT文档_WPS官方网站 使用最新版就能够解决这个问题,如果仍旧无法解决可以勾选如下配置 重启Excel解决。 请勾选:文件 - 选项 - 编辑 - 不提示且不压缩文件中的图像...
驱动(RK3588S)第九课时:多节点驱动与函数接口
目录 一、多节点概念1、所用到的结构体说明2、函数接口主要是read和write函数2.1、把应用层的数据拷贝给底层2.2、把应用层的数据拷贝给底层 3、应用层的read和write函数4、底层的read和write函数二、ioctl控制命令接口1、概念2、函数介绍应用层和驱动层 三、代码与现象1.编写L…...
Linux系统下配置MySQL
1. 寻找MySQL的配置文件 MySQL的配置文件通常位于以下位置: 在大多数Linux系统上,主配置文件通常位于/etc/mysql/my.cnf或/etc/my.cnf。在macOS上,如果你使用Homebrew安装MySQL,配置文件通常位于/usr/local/etc/my.cnf。在Window…...
信捷 XD PLC POU编程之FB
在使用信捷的POU方式编程,可以建立两种POU:FB和FC。 FB和FC这两种POU又各自可以建立梯形图语言POU和C语言POU。 函数块(FB)是把反复使用的部分程序块转换成一种通用部件,他可以在程序中反复被调用,不仅 提高了程序的开…...
终于有人把云计算、大数据和人工智能讲明白了!
引言 在当今数字化时代,云计算、大数据和人工智能成为了全球科技界的热门话题。这些技术的迅猛发展以及应用范围的不断扩大,正深刻地改变着我们的生活和工作方式。云计算为我们提供了有效的计算和存储能力,大数据则以海量的信息资源为基础&a…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...
