MATLAB基础语法知识

news2024/9/20 23:48:53

环境的配置等等就不写了,网上还是有很多资源可以找,而且正版的要付费,我也是看的网上的搞定的。

一,初识MATLAB

1.1 MATLAB的优势

  • 不需要过多了解各种数值计算方法的具体细节和计算公式,也不需要繁琐的底层编程。
  • 可以专注于对实际问题的分析。

1.2 MATLAB的主要功能

  • 数值计算
  • 符号计算
  • 图形绘制
  • 程序流程控制
  • 工具箱

1.3 页面介绍

二,MATLAB数据数值

2.1 分类

2.1.1 整型
  • 无符号整型:

       -无符号8位(16位,32位,64位)整数

       -无符号8位整数取值范围:00000000~11111111(0~2^{8}-1

  • 带符号整数

       -带符号8位(16位,32位,64位)整数

       -带符号8位整数取值范围:10000000~01111111(-2^{7}~2^{7}-1

  • 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

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

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

相关文章

Untiy TTF转换为SDF

Untiy TTF转换为SDF 原因 下载的字体是TTF格式&#xff0c;但是TMP使用的是SDF格式&#xff0c;不支持TTF&#xff0c;需要转换网络没有检索到TTF转SDF的教程&#xff0c;可能是太简单了&#xff0c;自己记录一下吧 Unity内转换即可 在Asset中找到自己的TTF右键点击TTF&…

C++入门基础篇

引言 说到编程语言常常听到的就是C语言C Java 。C语言是面向过程的&#xff0c;C是和Java是面向对象的&#xff0c;那么什么是面向对象呢&#xff1f;什么又是面向过程呢&#xff1f;C是什么&#xff1f;封装、继承、多态是什么&#xff1f;且听我絮絮叨叨。 C入门基础 1.命名…

fluent 旋转机械流场与声场仿真-学习笔记

这里写目录标题 1、动网格与滑移网格、运动参考系2、网格拓扑与共节点设置3、模型选择4、关于旋转壁面&#xff08;rotor_blade)的边界条件设置5、滑移网格瞬态计算时间步长设置6、风机声场仿真域![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/7855a595ee704c42a644…

【linux学习指南】Linux项目自动化构建工具 make /makefile进度条代码

文章目录 &#x1f4dd;前言&#x1f320; Makefile 格式&#x1f309;Makefile命令符号 &#x1f320;makefile/make基本原理&#x1f309;总和小案例 &#x1f320;进度条代码&#x1f6a9;总结 &#x1f4dd;前言 一个工程中的源文件多不技计数&#xff0c;其按其按类型、功…

某部门系统主机中病毒分析

一、安全巡检 正在写着代码&#xff0c;我的电脑火绒软件提示有内网攻击&#xff0c;关于一个古老的漏洞&#xff1a;“永恒之蓝”。瞬间来了兴趣&#xff0c;不会现在仍然有电脑中这病毒吧&#xff0c;打开绿盟安全管理平台。根据IP查询记录&#xff0c;果然有很多漏洞。 发…

《深入浅出WPF》读书笔记.11Template机制(上)

《深入浅出WPF》读书笔记.11Template机制(上) 背景 模板机制用于实现控件数据算法的内容与外观的解耦。 《深入浅出WPF》读书笔记.11Template机制(上) 模板机制 模板分类 数据外衣DataTemplate 常用场景 事件驱动和数据驱动的区别 示例代码 使用DataTemplate实现数据样式…

2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]

目录 1.数据库与数据库管理系统 1.1 数据库的相关概念 1.2 数据库与数据库管理系统的关系 1.3 常见的数据库简介 Oracle 1. 核心功能 2. 架构和组件 3. 数据存储和管理 4. 高可用性和性能优化 5. 安全性 6. 版本和产品 7. 工具和接口 SQL Server 1. 核心功能 2. 架构和组…

唯徳知识产权产权系统存在任意文件读取漏洞

漏洞描述 深圳市唯德科创信息有限公司&#xff08;以下简称&#xff1a;唯德&#xff09;于2014年在深圳成立&#xff0c;是专业提供企业、代理机构知识产权管理软件供应商&#xff0c;唯德凭借领先的技术实力和深厚的专利行业积累&#xff0c;产品自上市推广以来&#xff0c;…

一文讲懂Spring Event事件通知机制

目录 一 什么是spring event 二 怎么实现spring event 一 什么是spring event 我不会按照官方的解释来说什么是spring event&#xff0c;我只是按照自己的理解来解释&#xff0c;可能原理上会和官方有偏差&#xff0c;但是它的作用和功能就是这个&#xff0c;我更加偏向于从他…

CTK框架(三): 插件的安装

目录 1.方式1&#xff1a;使用ctk框架工厂&#xff0c;适用于调用普通的插件 1.1.步骤 1.2.实现 2.方法2&#xff1a;使用ctk框架启动器&#xff0c;适用于需要eventadmin时 2.1.实现 3.注意事项 1.方式1&#xff1a;使用ctk框架工厂&#xff0c;适用于调用普通的插件 1…

Linux服务器应急响应(下)

目录 介绍步骤 介绍 Linux alias命令用于设置指令的别名。 用户可利用alias&#xff0c;自定指令的别名。若仅输入alias&#xff0c;则可列出目前所有的别名设置。alias的效力仅及于该次登入的操作。若要每次登入是即自动设好别名&#xff0c;可在.profile或.cshrc中设定指令…

ggplot2 缩小的、带箭头的坐标轴 | R语言

1. 效果图 左侧为DimPlot2()效果图。 右侧为DimPlot()效果图&#xff0c;原图。 2. 代码 # DimPlot with 缩小的坐标轴 # # param scObject # param reduction # param group.by # param label # param raster # param legend.position # param ... # # return # expo…

OCC开发_变高箱梁全桥建模

概述 上一篇文章《OCC开发_箱梁梁体建模》中详细介绍了箱梁梁体建模的过程。但是&#xff0c;对于实际桥梁&#xff0c;截面可能存在高度、腹板厚度、顶底板厚度变化&#xff0c;全桥的结构中心线存在平曲线和竖曲线。针对实际情况&#xff0c;通过一个截面拉伸来实现全桥建模显…

长短期记忆神经网络-LSTM回归预测-MATLAB代码实现

一、LSTM简介&#xff08;代码获取&#xff1a;底部公众号&#xff09; 长短期记忆神经网络&#xff08;Long Short-Term Memory, LSTM&#xff09;是一种循环神经网络&#xff08;Recurrent Neural Network, RNN&#xff09;的变体。相比于传统的RNN&#xff0c;LSTM能够更好…

nvidia-smi 随机掉卡,error,禁用GSP功能

问题 NVIDIA 驱动中默认开启加载GPU卡的GSP功能&#xff0c;会随机导致在执行nvidia-smi命令的时候读取GPU卡为ERR状态&#xff0c;或者导致smi命令卡死&#xff1b; 如下图&#xff0c;以A800为例&#xff0c;Centos系统&#xff1b; 涉及到的包含以下型号的GPU卡&#xff…

C#中chart绘制曲线

官网资料&#xff1a;Chart 类 (System.Windows.Forms.DataVisualization.Charting) | Microsoft Learn 类的 Chart 两个重要属性是 Series 和 ChartAreas 属性&#xff0c;这两个属性都是集合属性。 Series集合属性存储Series对象&#xff0c;这些对象用于存储要显示的数据以…

2024年全新deepfacelive简易版-傻瓜式使用教程-采用AI换脸软件deepfacelive

# 2024年全新deepfacelive简易版-傻瓜式使用教程-采用AI换脸软件deepfacelive # 下载安装deepfacelive 官网下载&#xff1a; https://github.com/iperov/DeepFaceLive/ 下载好后放在至少有 30G以上的盘&#xff0c; # 启动使用-设置中文 解压好后&#xff0c;双击.bat批处理…

GPT系列之:GPT-1,GPT-2,GPT-3详细解读

一、GPT1 论文&#xff1a;Improving Language Understanding by Generative Pre-Training 链接&#xff1a;https://cdn.openai.com/research-covers/languageunsupervised/language_understanding_paper.pdf 启发点&#xff1a;生成loss和微调loss同时作用&#xff0c;让下…

java常用集合方法

目录 一、Iterator接口二、Iterable接口三、Collection接口四、Collection与Iterable关系 一、Iterator接口 Iterator 是一个集合迭代器接口&#xff0c;它提供了以下方法&#xff1a; 判断迭代器中是否还拥有元素&#xff0c;有则返回true&#xff0c;否则返回false boolean …

实验八 输入/输出流

实验目的及要求 目的&#xff1a;通过实验掌握java提供的输入/输出包中类的使用&#xff0c;特别是一些常用的类的方法的使用&#xff0c;运用流的概念实现对象的序列化。 要求&#xff1a; &#xff08;1&#xff09;编写程序使用BufferedReader和BufferedWriter对文件进行…