Matlab基础语法篇(上)

news2024/11/16 20:40:15

Matlab基础语法(上)

  • 一、基知
    • (一)界面介绍
    • (二)常用快捷键
    • (三)常用指令
    • (四)Matlab帮助系统
  • 二、运算基础
    • (一)变量
    • (二)数据类型
    • (三)基本运算符的使用
    • (四)练习
  • 三、矩阵基础
    • (一)矩阵的创建
      • (1)直接输入法
      • (2)函数创建法
      • (3)导入本地文件中的数据
    • (二)矩阵的修改与删除
    • (三)矩阵的拼接重构重排
  • 四、矩阵的运算
    • (一)调用函数运算
    • (二)算数运算
    • (三)关系运算

一、基知

(一)界面介绍

在这里插入图片描述

(二)常用快捷键

快捷键含义
clear清空工作区
clc清空命令行
%%(后面加个空格)分节
ctrl+回车只运行本节
F5运行
ctrl+R注释
ctrl+T取消注释
ctrl+I智能缩进
ctrl+C终止死循环
strl+N新建.m文件

(三)常用指令

  • 编辑器中
指令含义
clear清空工作区
clc清空命令行

:写在其中的每一行代码尾加 ; 结果不会输出到命令行窗口,不加会输出

  • 命令行窗口中
指令含义
help ___调帮助文档
查看历史指令

(四)Matlab帮助系统

  1. 在Matlab官网搜索(以sum函数为例)
    MATLAB的帮助中心: https://ww2.mathworks.cn/help/index.html
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  2. 使用help指令(以sum函数为例)
    在这里插入图片描述

注:在有网络和无网络连接的情况下得到的信息可能会有差异

忠告:与同类软件相比,MATLAB的帮助系统非常完善,大家在未来的学习中要要善于利用MATLAB的帮助文档,去经常查阅


二、运算基础

(一)变量

在MATLAB 中变量的命名应遵循如下规则:

  • 变量名必须以字母开头,之后可以是任意的字母、数字或下划线
  • 变量名区分字母的大小写,例如a和A代表不同的变量。
  • 变量名不超过63个字符,第63个字符以后的字符将被忽略。
  • 不能定义与 MATLAB关键字同名的变量(例如if或end)。要获取关键字的完整列表,请在命令行输入iskeyword 并运行
  • 特殊变量: ans、pi、inf(1/0)/-inf(正无穷大/负无穷大)

(二)数据类型

  • 数字:整数和浮点数
  • 字符与字符串:’ ’ 与 " "
  • 矩阵:[ ]

(三)基本运算符的使用

针对数值、字符或者逻辑值

含义符号
加法+
减法-
乘法*
除法/
乘方^

(四)练习

题目:对两个字符变量做基本变量

ch1 = 'a';
ch2 = 'b';

ch1 - ch2

在这里插入图片描述


三、矩阵基础

(一)矩阵的创建

在MATLAB中,矩阵的创建方法主要有三种,分别是:直接输入法、函数创建法和导入本地文件中的数据。

(1)直接输入法

  • 适用于矩阵中元素数量较少的情况。
  • 输入矩阵时要以中括号 ‘[ ]’ 作为标识符号,矩阵的所有元素必须都在中括号内。
  • 矩阵的同行之间用','' '来分隔,不同行之间用';''回车'来分隔。
a = [1 2 3;4 5 6];
a = [1,2,3;4,5,6];

(2)函数创建法

MATLAB提供的用来生成某些特定的矩阵的函数,常用函数:
zerosoneseye。这三个函数分别用来创建全为0的矩阵全为1的矩阵单位矩阵
例:
在这里插入图片描述

b = zeros(100);
c = zeros(100,99);

在这里插入图片描述
在这里插入图片描述

randrandirandn。这三个函数分别用来创建均匀分布的随机数均匀分布的随机整数标准正态分布的随机数
rand : 数的范围在0~1之间
在这里插入图片描述
randi : 数的范围在imin~imax之间
在这里插入图片描述在这里插入图片描述randn : 数随机取样至标准正态分布在这里插入图片描述

d = rand(5,6); % 数的范围在0~1之间
e = randi([1,6],1,20); % 数的范围在imin~imax之间
f = randn(5,6); % 数随机取样至标准正态分布

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(3)导入本地文件中的数据

MATLAB可读取本地的文件,支持的常见格式如下

  • txt、.dat或.csv(适用于带分隔符的文本文件)
  • xls、.xlsb、.xlsm、.xlsx、.xltm、.xltx或.ods(适用于电子表格文件)

Step1: 在当前文件夹里面创建Excel表格,命名为data.xlsx
在这里插入图片描述
Step2: 导入数据
在这里插入图片描述

(二)矩阵的修改与删除

(1)矩阵元素的修改:
直接利用等号赋值的方法对矩阵中引用位置的元素进行修改
②使用线性索引(单下标的索引)的方式对矩阵的元素进行修改

=:如果你在赋值时将一个或多个元素置于矩阵现有的行和列索引的边界之外,则会将矩阵的大小进行拓展,MATLAB 会将没有赋值的位置的元素白动用0填充,使其保持为完整的矩形。

A = [1:4;2:5;3:6]
A(2,:) = 10 % 改第二行全部
A([1,3],[1,2]) = 0 % 改(1,1)、(1,2)、(3,1)、(3,2)
A(4) = 10 % 线性索引,这里即改(1,2)

A(5,6) = 888 % 添加的时候超边了会进行拓展

在这里插入图片描述
(2)矩阵元素的删除:
如果我们将等号右侧变成空向量[ ],则可以删除对应位置的元素。需要注意的是,通常只能删除矩阵的整行或者整列,否则会报错。
也可以通过线性索引来删除矩阵的元素。使用线性索引删除后,MATLAB会将矩阵中剩下的元素按照线性索引的顺序放入到一个向量中。另外,使用线性索引可以删除任意位置的元素,不需要删除矩阵的一整行或者一整列。

A(:,[1,end]) = [] % 删除第1列和最后一列的元素
A(1) = [] % 线性索引才可删除单个元素,但矩阵会变成向量

(三)矩阵的拼接重构重排

(1)矩阵的拼接:

  • 横向拼接:A和B的行数相同,那么使用[A,B][A,B]以及 cat(2,A,B)都能将 A和 B横向拼接成一个大的矩阵
  • 纵向拼接:A和B的列数相同,那么使用[A;B]以及cat(1,A,B)都能将A和B纵向拼接成一个大的矩阵。

在这里插入图片描述

A = [1:4;2:5;3:6]
B = ones(3,2)
C = [A B]

在这里插入图片描述

A = [1:4;2:5;3:6]
B2 = ones(2,4)
B3 = ones(3,4)
D = [A;B2;B3]

在这里插入图片描述

(2)矩阵的重构重排:
reshape函数:更改矩阵的形状reshape(A,m,n)或者reshape(A,[m,n])
(reshape(A,m,n)可把n写成[ ],让系统自己推算)

A = randi(10,2,6)
B = reshape(A,3,[]) % 先取第1列,再取第2列……,即A(:)==B(:)

在这里插入图片描述

sort 函数:对向量或者矩阵进行排序,sort(A,dim),在最后面加一个输入参
数’descend’,变成从大到小的降序排列

  • dim = 1 时,沿着行方向(从上至下)对矩阵的每一列升序排列
  • dim = 2 时,沿着列方向(从左至右)对矩阵的每一行升序排列
A = randi(10,2,6)
sort(A,1)
sort(A,2)
sort(A,1,'descend')

在这里插入图片描述

sortrows函数:基于矩阵的某一列对矩阵进行排序,同一行的元素不会改变
sortrows(score,列),在最后面加一个输入参数’descend’,变成从大到小的降序排列
就是我们要更改之后的大小
在这里插入图片描述

A = randi(10,2,6)
sortrows(A,2,'descend')

四、矩阵的运算

(一)调用函数运算

在这里插入图片描述
例:
在这里插入图片描述

A = randi(10,3,4)

sum(A,1) % 计算每一列的和
sum(A,2) % 计算每一行的和
sum(A(:)) % ==sum(sum(A))==sum(A,"all") 将A这个指针变成一个向量,计算总和
prod(A,"all")

在这里插入图片描述

(二)算数运算

(1)加减:
五种算数运算兼容模式,按对应位置元素运算
在这里插入图片描述
(2)乘除乘方:

  • * 和 .* 分别表示线代中的矩阵相乘两个矩阵中对应元素相乘
A = randi(10,3,4)
B = randi(10,4,4)
A*B
C = randi(10,3,4)
D = randi(10,1,4)
C.*D

在这里插入图片描述

  • /(右除)、\(左除)和 ./
  • ^ 和 .^ (幂运算、乘方)
A2 = randi(10,3,3)
A2 ^ 3 % == A * A * A

在这里插入图片描述
(3)转置 '(默认将复数变成共轭复数)和 .'

B = [1 2 3+i;2-i 2 3]
B'
B.'

在这里插入图片描述

(三)关系运算

在这里插入图片描述

关系运算符可以用来比较两个数组中元素的关系,如果比较的结果为真,则MATLAB 会返回逻辑值1;如果结果为假,则会返回逻辑值0。

A = [1:4] %先会给自己叠三行
B = ones(3,4)
A == B

在这里插入图片描述


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

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

相关文章

几级系统需要做等保?

正常来说只要是在运营的系统都需要做等保,无论是内网还是外网,等保常见的系统一般分成五个级别,一级最低,五级最高,不同级别的系统国家的监管程度也不一样,具体如下: 第一级:系统运…

暑期备考2024小学生古诗文大会:吃透真题和知识点(持续)

2024年上海市小学生古诗文大会的自由报名初赛将于10月19日(星期六)正式开始,还有3个多月的时间。 为帮助孩子们备考,我持续分享往年上海小学生古诗文大会真题,这些题目来自我去重、合并后的1700在线题库,每…

跨境传输需要遵守哪些准则,如何做到有效管控?

在全球化的商业环境中,跨国企业面临着数据跨境传输的挑战。随着业务的扩展,企业需要在不同国家和地区之间高效、安全地传输大量数据。选择合适的跨境传输方案对于保障数据安全、提高业务效率、遵守法律法规至关重要。 跨境传输数据需要遵守的准则和规定主…

【机器学习】特征选择:精炼数据,提升模型效能

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 特征选择:精炼数据,提升模型效能引言为何进行特征选择&a…

消费盲返模式,让消费者真实消费的钱返利回来?

盲返模式是一种基于消费者参与的商业模式,其核心在于通过购买指定产品或服务,消费者能够获得一定比例的利润分配,但具体返利金额是不确定的,因此被称为“盲返”。这种模式以其独特的优势和创新的玩法,在电商领域尤其是…

企业微信hook接口协议,移除群成员通知

移除群成员通知 返回示例 {"flag": 0, "receiver": 0, "sender_name": "", "is_room": 1, "server_id": 15318083, "send_time": 1687688952, "sender": 1688855749266556, "referid&…

编程范式之函数式编程

目录 前言1. 函数式编程的定义2. 函数式编程的特点2.1 纯函数2.2 不可变性2.3 高阶函数2.4 惰性求值 3. 函数式编程的应用场景3.1 并行计算3.2 数据分析3.3 Web开发 4. 函数式编程的优缺点4.1 优点4.2 缺点 5. 代表性的编程语言5.1 Haskell5.2 Scala5.3 Clojure 6. 示例代码结语…

Android手机恢复出厂设置后可以恢复数据吗?

“我有一台小米 8 Lite,上周我收到了 OTA 更新作为通知。在执行此操作时,手机崩溃并进入启动循环。没有办法检索数据,所以我最终擦除了它。现在,我想问一下是否真的有任何有用的应用程序/程序可以在恢复出厂设置后从Android手机恢…

大厂面试:算法考前必看汇总(全)

hello hello~ ,这里是绝命Coding——老白~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页:绝命Coding-CSDN博客 &a…

温度传感器的常见故障及处理方法

温度传感器作为现代工业、科研及日常生活中不可或缺的重要元件,其稳定性和准确性直接影响到设备的运行效率和安全。然而,由于各种因素的影响,温度传感器在使用过程中常会遇到一些故障。本文将针对这些常见故障进行分析,并提出相应…

Codeforces Round #956 (Div. 2) and ByteRace 2024(A~D题解)

这次比赛也是比较吃亏的,做题顺序出错了,先做的第三个,错在第三个数据点之后,才做的第二个(因为当时有个地方没检查出来)所以这次比赛还是一如既往地打拉了 那么就来发一下题解吧 A. Array Divisibility …

数据结构与算法:顺序表和链表

目录 一、线性表 二、顺序表 三、链表 一、线性表 线性表( linear list )是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串... 线性表在逻辑上是线…

IC认证介绍

IC认证是什么? IC是加拿大工业部Industry Canada的简称,作为政府机构,负责电子电器产品进入加拿大市场的认证事务。与美国的FCC相似,IC目前只在电磁干扰上做限制。一般规定:仅限制EMI,认证方式也与FCC相同…

idea http client插件上传文件,并忽略https证书验证

上传文件 ### 传临时素材 图片 POST https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token{{access_token}}&typeimage Content-Type: multipart/form-data; boundary----WebKitFormBoundarywKUX3Xj6aL5Wssnb------WebKitFormBoundarywKUX3Xj6aL5Wssnb Conten…

星间链路与星地链路

目录 一、星间链路 1.1 层内星间链路(Intra-layer ISLs) 1.2 层间星间链路(Inter-layer ISLs) 1.3 实现方式 1.3.1 微波链路 1.3.2 激光链路 二、星地链路 2.1 星地链路的关键特性 2.1.2 Ka信关站 2.1.2 Q/V信关站 2.1…

Windows 控制中心在哪里打开,七种方法教会你

在 Windows 操作系统中,控制中心的概念可能稍有些混淆,因为 Windows 通常使用“控制面板”这一术语来指代用于配置系统设置和更改硬件及软件设置的中心区域。 不过,随着 Windows 的更新,微软也在逐步将一些设置迁移到“设置”应用…

前端面试题30(闭包和作用域链的关系)

闭包和作用域链在JavaScript中是紧密相关的两个概念,理解它们之间的关系对于深入掌握JavaScript的执行机制至关重要。 作用域链 作用域链是一个链接列表,它包含了当前执行上下文的所有父级执行上下文的变量对象。每当函数被调用时,JavaScri…

科普文:分布式系统的架构设计模式

一、分布式架构基本概念 分布式架构是一种计算机系统设计方法,它将一个复杂的系统划分为多个自治的组件或节点,并通过网络进行通信和协作。每个组件或节点在功能上可以相互独立,但又能够通过消息传递或共享数据来实现协同工作。分布式架构主要…

3.flink架构

目录 概述 概述 Flink是一个分布式的带有状态管理的计算框架,为了执行流应用程序,可以和 Hadoop YARN 、K8s 进行整合,当然也可以是一个 standalone 。 官方地址:速递 k8s 是未来的一种趋势,对资源管控能力强。

《金山 WPS AI 2.0:重塑办公未来的智能引擎》

AITOP100平台获悉,在 2024 世界人工智能大会这一科技盛宴上,金山办公以其前瞻性的视野和创新的技术,正式发布了 WPS AI 2.0,犹如一颗璀璨的星辰,照亮了智能办公的新征程,同时首次公开的金山政务办公模型 1.…