matlab初学习记录

news/2024/10/8 12:23:15/

文章目录

    • 内置函数与变量
    • matlab 编辑器
    • 数组
    • 等间距向量
    • 数组函数
    • 数组索引
      • 提取多个元素
    • 对向量执行数组计算
    • 查看文档
  • 画图
    • 添加注释
  • 实践
  • 导入数据
  • 关系运算符
  • 分支
  • 恒星运动

matlab 学习看入门之旅

先计算等号右边再计算等号左边。

工作区记录等号右边的变量。

; 表示的是抑制输出。不输出结果,但是工作区还是会记录的。

上下箭头能够返回之前的命令。

Snipaste_2024-07-26_15-06-10.png

Snipaste_2024-07-26_15-07-43.png

并没有重新计算。

Snipaste_2024-07-26_15-08-16.png

matlab 区分大小写,数字不能开头当变量。

save + 文件名字,可以将工作区的变量保存到 mat 文件中

如:save datafile 就是将工作区里的变量保存到 datafile.mat 文件中

clear 将工作区清空

load + 文件名字,能将文件中的变量加载到工作区中

输入变量名称能在控制台输出变量里面的内容。

clc 清空命令行窗口

Snipaste_2024-07-26_15-15-04.png

也能够保存或加载部分变量。

内置函数与变量

matlab 里面有些内置的量。

如 pi,sin,abs,eig,等等

matlab 中有虚数。

使用 format 函数控制显示精度。

Snipaste_2024-07-26_15-19-04.png

matlab__50">matlab 编辑器

.mlx

仅运行节,就只有节内的值会改变。

运行就是全部了。

数组

matlab 中的变量均为数组。

空格也行,也能区分。不一定非要用逗号隔开。

分号区分一行。

数组内部也可以使用函数进行计算。

等间距向量

使用冒号运算符

1:4 就是 1,2,3,4,

x=1:0.5:5 就是从 1 开始到 5 结束,每个数间隔 0.5,这个是用于知道向量的间隔时使用的。

知道元素数目是使用 linspace(_first_,_last_,_number_of_elements_) 该函数。

x = x' 能让变量转置。

可以通过创建行向量再进行转置来建立列向量。使用圆括号来指定运算的顺序。

请注意,如果您使用 linspace: 创建向量,则不需要使用方括号 ([])。

数组函数

x = rand(2)
x =
0.8147 0.1270
0.9058 0.9134

请注意,rand(2) 命令中的 2 指定输出将为一个 2×2 的随机数矩阵。数的取值是 0 到 1

rand (x, y) 生成 x 行,y 列的数组。

zeros (x, y) 生成 x 行,y 列全零矩阵。

size (x) 能够得到 x 变量代表的矩阵的大小。

数组索引

变量名(x, y)就是从该变量代表的数组中取第 x 行第 y 列的值。注意从 1 开始索引。

: 冒号表示整个,如 A(x,:)表示第 x 行的全部值。

end 表示最后,可以放到 x 表示最后一行,也可以放到 y 表示最后一列。也可以用来计算,例如 end-1 表示倒数第二行。

可以使用变量来作为索引。

提取多个元素

冒号前面的数得小于后面的数

对于行向量或者是列向量可以给一个值,就相当于数组取数,不过索引还是从 1 开始的。

Snipaste_2024-07-26_16-07-51.png

Snipaste_2024-07-26_16-10-52.png

Snipaste_2024-07-26_16-10-57.png

对向量执行数组计算

r = v 1 + 1 就是对 v 1 中的每个元素都加了个 1

* 乘法,这是矩阵乘法,

.* 元素乘法, 对应行,对应列的元素相乘。只有一列的话就是列乘列的。

\ 除法

max()函数能确定向量的最大值。

函数是可以对整个数组中的所有值都生效的。

size() 有两个输出,x, y。

例如 [dr,dc] = size(data)

使用 max 也是一样的,只不过返回的是最大值的索引。

[vMax,ivMax] = max(v2)

波浪号字符 (~) 忽略特定输出。

查看文档

Documentation - MATLAB & Simulink - MathWorks 中国

doc 函数可以直接打开文档。

Snipaste_2024-07-26_16-36-36.png

画图

使用 plot 函数画图

plot(x,y,“r–o”)

以上命令将会绘制一条红色 (r) 虚线 (--),并使用圆圈 (o) 作为标记。您可以在线条设定的文档中了解有关可用符号的详细信息。

请注意,每个绘图命令都创建了一个单独的绘图。要在一张图上先后绘制两条线,请使用 hold on 命令保留之前的绘图,然后添加另一条线。

启用保留状态时,将继续在同一坐标区上绘图。要恢复默认绘图行为,即其中每个绘图都有自己的坐标区,请输入 hold off

当您单独绘制一个向量时,MATLAB 会使用向量值作为 y 轴数据,并将 x 轴数据的范围设置为从 1n(向量中的元素数目)。

plot 函数接受可选的附加输入,这些输入由一个属性名称和一个关联的值组成。

plot(y,“LineWidth”,5) 后面的数字是线的宽度。

以上命令将绘制一条粗线。您可以在线条属性文档中了解更多可用属性的详细信息。

MATLAB Plot Gallery - MATLAB & Simulink (mathworks.cn)

添加注释

title(“Plot Title”) 添加标题。

ylabel(“Mass (g)”) 坐标轴的说明。

legend(“Exp A”,“Exp B”) 就是左上角的东西

Snipaste_2024-07-26_17-15-42.png

Snipaste_2024-07-26_17-15-45.png

可以拼接字符串。

Snipaste_2024-07-26_17-17-23.png

Snipaste_2024-07-26_17-17-27.png

实践

usage 有什么用?

size 返回的是两个值。

Snipaste_2024-07-26_19-15-14.png

我这里只用一个值去接 size 返回的值,爆出来上面的错误。

可以使用 fft 函数来计算向量的离散傅里叶变换。

fft(y)

f 将包含从 0fs 的频率。主频位于 f 的开头位置。您可以使用 xlim 函数放大所关注的区域。

xlim () 里面放个数组,(min,max)当然数组使用方括号包裹的。

这个限制的是 x 轴的范围。

Snipaste_2024-07-26_19-24-57.png

Snipaste_2024-07-26_19-24-59.png

将鼠标移到图上是有工具显示的。

Snipaste_2024-07-26_19-28-28.png

Snipaste_2024-07-26_19-29-09.png

可以点击更新代码。

Snipaste_2024-07-26_19-29-14.png

导入数据

一个表有列有行,列有列名,我们可以通过表名. 列名获得一列的数据。

我们也可以点一个不存在的列命,这就是创建了一列。

关系运算符

相等或不相等比较的结果为 1 (true) 或 0 (false)。返回的是数值。

可以使用关系运算符将某个向量或矩阵与单个标量值进行比较。结果是与原始数组相同大小的逻辑数组。

可以使用逻辑数组作为数组索引,在这种情况下,MATLAB 会提取索引为 true 的数组元素。

创建一个名为 `v` 的变量,其中包含 `v1` 中所有小于 4 的元素。
v = v1(v1 < 4)

还有别的符号

Snipaste_2024-07-26_19-42-33.png

matlab">sampleres = sample(sample < 20 & sample > 10)

Snipaste_2024-07-26_19-44-21.png

分支

跟 python 一样。

不过 if 后面要匹配个 end

for 循环跟 foreach 一样。

最后也是要匹配个 end

如果您要对未知长度的向量执行循环,可以改用 length 函数。

恒星运动

min 函数可以带有两个输出,其中第二个输出为最小值的索引。

控件里面可以添加一些小工具。

loglog 跟 plot 差不多

https://lcms-files.mathworks.com/content/file/58a713b5-fa72-4ba7-8cba-7eb17bb7a331/addcontrol.gif?versionId=KtQYyLWOVTryBMRgPTDltGyd4z7daawj

legend(starnames)

legend 可以写一个数组的。

Snipaste_2024-07-26_20-30-31.png


http://www.ppmy.cn/news/1536113.html

相关文章

Python与MongoDB交互

一、基本概念 MongoDB: 一个面向文档的数据库系统&#xff0c;使用BSON&#xff08;Binary JSON&#xff09;作为存储格式。集合&#xff08;Collection&#xff09;: 类似于关系型数据库中的表&#xff0c;是文档的集合。文档&#xff08;Document&#xff09;: MongoDB中的基…

【EXCEL数据处理】000013 案例 EXCEL筛选与高级筛选。

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 【EXCEL数据处理】000013 案例 EXCEL筛选与高级筛选。使用的软件&#…

Nginx06-静态资源部署

零、文章目录 Nginx06-静态资源部署 1、静态资源概述 静态资源&#xff1a;是在Web开发中不经常改变的文件&#xff0c;比如图片、CSS样式表、JavaScript脚本文件等。这些资源通常是预先编译好的&#xff0c;不需要服务器端的动态处理。动态资源&#xff1a;是在Web开发中需…

C++ 游戏编程:最新引擎使用指南

C 是游戏开发中广泛使用的编程语言&#xff0c;尤其是在高性能和高可控性要求的游戏引擎中。它为开发者提供了强大的工具来创建复杂的游戏逻辑、图形渲染、物理引擎等模块化内容。现代游戏引擎&#xff0c;如 Unreal Engine、CryEngine、Godot 和 Unity&#xff0c;都支持并广泛…

机器人动力学与振动抑制

振动的来源&#xff1a; 在实际的机器人&#xff0c;进行搭建的设备并非纯刚性的&#xff0c;都是有一定柔性的&#xff0c;有一定的变性。主要有2个地方进行变形。1是连杆处&#xff0c;两连杆动力学&#xff0c;2是关节的柔性&#xff0c;关节处都有一些传递结构&#xff0c…

Linux高级编程_28_进程

文章目录 进程并行与并发单道与多道程序进程控制块(PCB)了解PCB存储位置进程号&#xff1a;进程号&#xff1a;&#xff08;PID&#xff09;进程组号&#xff1a;&#xff08;PGID&#xff09;父进程号&#xff1a;&#xff08;PPID&#xff09; fork函数 多进程创建进程状态进…

反激与正激(一)

反激相当于加了变压器的boost电路&#xff0c;反激没有电感元件&#xff1b;正激相当于加了变压器的buck&#xff0c;输出部分有电感元件&#xff1a; 反激拓扑应用很广泛&#xff0c;基本上AC--DC电路中220V转5V这种100W以内用的都是反激拓扑结构&#xff1a; 频率越高意味着可…

SSH -L 代理与反向代理转发详解

简介&#xff1a;SSH -L 选项用于设置本地端口转发&#xff0c;而反向代理转发则允许远程主机访问本地服务。本文将介绍如何使用 SSH -L 实现本地端口转发和反向代理转发&#xff0c;并提供示例以帮助您理解和应用这些技术。 历史攻略&#xff1a; Centos&#xff1a;设置代理…