Matlab基础语法篇(上)

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.mzph.cn/diannao/43505.shtml

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

相关文章

【初阶数据结构】深入解析队列:探索底层逻辑

初阶数据结构相关知识点可以通过点击以下链接进行学习一起加油!时间与空间复杂度的深度剖析深入解析顺序表:探索底层逻辑深入解析单链表:探索底层逻辑深入解析带头双向循环链表:探索底层逻辑深入解析栈:探索底层逻辑深入解析队列:探索底层逻辑深入解析循环队列:探索…

熬了一晚上,我从零实现了 Transformer 模型,把代码讲给你听

自从彻底搞懂Self_Attention机制之后,笔者对Transformer模型的理解直接从地下一层上升到大气层,瞬间打通任督二脉。夜夜入睡之前,那句柔情百转的"Attention is all you need"时常在耳畔环绕,情到深处不禁拍床叫好。于是…

客户案例|某大型证券公司数据库运维场景数据安全实践

证券行业涉及股票、债券、基金等金融产品的发行、交易和监管,业务具有数据规模大、数据价值高、数据应用场景复杂的显著特点,其中高速流转的业务系统中含有海量的客户个人信息、交易、行情、咨询等高敏感高价值信息。由于证券期货业务场景所具有的特殊性…

初中生物知识点总结(人教版)

第一章 认识生物 一、 生物的特征: 1. 生物的生活需要营养 2. 生物能进行呼吸 3. 生物能排出身体内产生的废物 4. 生物能对外界的刺激做出反应 5. 生物能生长和繁殖 除病毒以外,生物都是由细胞构…

单例模式(大话设计模式)C/C++版本

单例模式 C 饿汉 /* HM hungry man 饿汉 */ #include <iostream> using namespace std; class Singleton { private:Singleton() { cout << "单例对象创建&#xff01;" << endl; };Singleton(const Singleton &);Singleton &operator(c…

C++ 十进制与十六进制之间相互转换

十进制与十六进制之间相互转换 10_to_16 与二进制类似&#xff0c;十进制转十六进制对16整除&#xff0c;得到的余数的倒序即为转换而成的十六进制&#xff0c;特别地&#xff0c;如果超过10以后&#xff0c;分别用ABCDEF或abcdef来代替10、11、12、13、14、15。 代码1: #in…

【密码学基础】基于LWE(Learning with Errors)的全同态加密方案

学习资源&#xff1a; 全同态加密I&#xff1a;理论与基础&#xff08;上海交通大学 郁昱老师&#xff09; 全同态加密II&#xff1a;全同态加密的理论与构造&#xff08;Xiang Xie老师&#xff09; 现在第二代&#xff08;如BGV和BFV&#xff09;和第三代全同态加密方案都是基…

Git 快速上手

这个文档适用于需要快速上手 Git 的用户&#xff0c;本文尽可能的做到简单易懂 ❤️❤️❤️ git 的详细讲解请看这篇博客 Git 详解&#xff08;原理、使用&#xff09; 1. 什么是 Git Git 是目前最主流的一个版本控制器&#xff0c;并且是分布式版本控制系统&#xff0c;可…

合规与安全双重护航:ADVANCE.AI让跨境支付更无忧

近年来&#xff0c;随着全球化进程的加速和跨境贸易的蓬勃发展&#xff0c;跨境支付的需求大幅增加。根据Grand View Research的报告&#xff0c;2021年全球跨境支付市场规模估计为22.09万亿美元。到2025年&#xff0c;全球跨境支付市场预计将达到35.9万亿美元&#xff0c;较20…

rfid资产管理系统解决方案 rfid固定资产管理系统建设方案

在现代化的仓库储备中&#xff0c;仅仅完成对货物进出的简单批次处理已经不再足够&#xff0c;对库内货品的种类、数量、生产属性、垛位等信息的清晰记录变得至关重要。然而&#xff0c;传统的资产管理方式如条形码在长期使用中逐渐暴露出不耐脏、数据存储量小、读取间隔短、不…

优质可视化大屏模板+动态图表+科技感原件等

优质可视化大屏模板动态图表科技感原件等 软件版本&#xff1a;Axure RP 9 作品类型&#xff1a;高保真 作品内容&#xff1a; 1、大屏可视化模版&#xff08;100套&#xff09;&#xff1a;包含智慧城市、智慧社区、智慧园区、智慧农业、智慧水务、智慧警务、城市交通、电…

新加坡工作和生活指北:教育篇

文章首发于公众号&#xff1a;Keegan小钢 新加坡的基础教育在东南亚处于领先地位&#xff0c;这点基本是人尽皆知&#xff0c;但很多人对其教育体系只是一知半解&#xff0c;今日我们就来深入了解一下。 新加坡的学校主要分为三大类&#xff1a;政府学校、国际学校、私立学校。…

Python 中将字典内容保存到 Excel 文件使用详解

概要 在数据处理和分析的过程中,经常需要将字典等数据结构保存到Excel文件中,以便于数据的存储、共享和进一步分析。Python提供了丰富的库来实现这一功能,其中最常用的是pandas和openpyxl。本文将详细介绍如何使用这些库将字典内容保存到Excel文件中,并包含具体的示例代码…

Xterminal工具的安装与使用体验

Xterminal工具的安装与使用体验 一、Xterminal简介二、Xterminal核心特性三、Xterminal使用场景四、Xterminal下载地址五、Xterminal的基本使用5.1 设置仓库密码5.2 SSH连接5.3 Windows远程桌面5.4 笔记功能5.5 AI工具 六、总结 一、Xterminal简介 Xterminal是一款专为开发者设…

【Linux进阶】vim的用法

1.什么是vi/vim? 简单来说&#xff0c;vi是老式的文本编辑器&#xff0c;不过功能已经很齐全了&#xff0c;但是还是有可以进步的地方。vim则可以说是程序开发者的一项很好用的工具&#xff0c;就连 vim的官方网站&#xff08; http://www.vim.org&#xff09;自己也说vim是一…

独享代理VS共享代理,新手选择攻略

随着互联网的广泛普及和应用&#xff0c;涉及网络隐私、数据安全和网络访问控制的问题变得越来越重要。代理服务器作为一种常见的网络工具&#xff0c;可以在跨境电商、海外社媒、SEO投放、网页抓取等领域发挥作用&#xff0c;实现匿名访问并加强网络安全。在代理服务器类别中&…

Nginx在线安装与启动

Nginx在线安装与启动 系统环境&#xff1a;中科方德桌面操作系统 3.1 内核&#xff1a; SMP CDOS 4.9.25-11cdos44 (2019-12-20) x86_64 GNU/Linux 使用连接工具&#xff1a;FinalShell3.9.5.7 1、下载nginx sudo apt-get update2、安装命令 sudo apt-get install nginx安装…

occ geo

随笔 - 12 文章 - 18 评论 - 117 阅读 - 13万 opencascade造型引擎功能介绍 现今的CAD 系统大多通常都基于CAD 系统提供的二次开发包&#xff0c;用户根据要求定制符合自己要求的功能。AutoCAD就提供了AutoLISP、ADS 等都是比较通用的开发工具包。UG 也提供了多种二次开发…

【力扣: 15题: 三数之和】

15题: 三数之和 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意: 答案中不可以包含重复的三元组。 …

小米摄像头黄灯常亮,小米摄像头不好用了刷机

我是MJSXJ05CM型号 一不小心更新了系统结果就不好用了&#xff0c;这种东西真是要小心&#xff0c;一不小心更新不成就成砖头了。 我按下面方法试了不好用&#xff0c;但是下载链接很多收藏一下!某种程度上说如果服务端故意发布一个错误镜像会导致很多摄像头变成砖头&#xff0…