Matlab基础

一.入门基础

1.基本知识
1.1 输入命令
以分号结尾不会打印变量的值

x = 1
y = x;

1.2 变量命名规则:以字母开头,并且仅包含字母、数字和下划线。

1.3 使用save命令将工作区中的变量保存到MAT文件的MATLAB特定格式文件中,文件名为datafile.mat。可以指定保存某个变量或者加载某个变量。

save datafile.mat
save data.mat x
load  data.mat x

1.4 清空工作区,使用clear。

1.5 使用load命令加载MAT文件中的变量。

load datafile.mat

1.6 clear 函数清理工作区。clc 命令清理命令行窗口。

1.7 MATLAB中的常量pi,使用format long可以在命令行窗口中显示高精度浮点数,可以使用format short切换为低精度显示(默认)。

1.8 实时脚本
可以实时运行某行语句,包括运行节,创建节,以及设置节的布局方式等。

2.数组
2.1 用空格(或逗号)分隔数值时,MATLAB 会将这些数值组合为一个行向量,行向量是一个包含一行多列的数组 (1×n)。用分号分隔数值时,MATLAB 会创建一个列向量 (n×1)。

x = [1,2,3]
x = [1 2 3]
x = [1;2;3]

2.2 创建等间距的长向量,可以使用冒号:运算符并仅指定起始值和最终值。默认间隔为1

x = [1:10]

2.3 创建指定间隔的长向量,可以使用冒号:运算符并仅指定起始值、间隔和最终值,起始值:间隔:最终值

x = [1:2:10]

2.4 知道元素的个数,起始位置和终止位置,创建等间距向量采用函数:
linspace(first,last,number_of_elements)。

linspace(1,10,20)

2.6 使用转置运算符(’)将行向量转换为列向量。创建行向量并将其全部转置来创建列向量。注意此处使用圆括号来指定运算的顺序

x = x'
x = (1:2:5)'

2.7 常用矩阵创建函数

% 创建 5X5的随机数矩阵(方阵)
x = rand(5) 
% 创建5 x 1的矩阵
x = rand(5 ,1)
% 创建6 x 3的全零矩阵
x = zeros(6,3)

2.8 使用size可以获取矩阵的大小,结合rand可以创建同大小的随机矩阵。

2.9 采用括号()来索引数组元素,下标从1开始,如x(index),x(row,col)

x(3)
x(2,4)
%范围某一范围内的数据,采用冒号(:)
x(2:4)
%范围第三行所有元素,冒号表示所有列
x(3,:)
%范围第4列所有元素,冒号表示所有行
x(:,4)

在这里插入图片描述
2.10 可以使用关键字end作为索引来访问数据。

x = data(end,3)
x = data(end - 1,5)

2.11 用作索引时,冒号运算符 : 可指代该维度中的所有元素。

x  = data(:,2)
%最后两列数据
x  = data(:,end - 1:end)

2.12 数组用[]表示,使用()来访问数组数据,需要注意()是不是用于改变运算顺序的,采用冒号(:)来指定数据的范围。

3.向量数组运算
3.1 向量可以执行四则运算,即对每个元素进行四则运算,相同大小的向量也可以进行加减。MATLAB函数可在单个命令中对整个向量或值数组执行数学运算。

s = sqrt(x)

3.2 可以使用max获取向量中的最大值。

xMa = max(x)

3.3 使用round对数据进行四舍五入。

3.4 采用点乘 运算符将两个大小相同的数据的对应元素相乘,采用*可以进行矩阵相乘。

%对应元素相乘
x = [1,2] .* [3,4]
%矩阵乘法
x = [1,2] * [1;2]
%对数组的每一行乘以不同的倍数
x = [1 2;3 4;5 6; 7 8] .* [1;2;3;4]

3.5 使用size获取矩阵的大小,使用max获取最大值及其索引,可以使用~忽略不需要的值

[row,col] = size(x)
[maxValue,index] = max(x)
[minValue,index] = min(x)
[~,index] = max(x)

3.6 可以使用doc查看某个函数的文档,或者通过帮助文档来查看。

doc randi

4.绘制数据图
4.1 采用plot(x,y) 绘制数据图,x和y为长度相同的向量

% 红色虚线,o标记数据点
plot(x,y,"r--o")
% 红色,*标记数据点,不使用线条
plot(sample,mass2,"r*")

4.2 每个绘图命令都会创建一个单独的绘图,要在同一张绘图上添加新绘图,需要使用hold on,要恢复默认绘图,使用hold off

hold on
%绘制黑色(k)方形(s)标记无线条的数据
plot(sample,mass1,"ks")
plot(sample,mass1)
hold off

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

plot(v1)

4.4 plot接受附加输入,由属性名称和一个关联的值组成,在绘图参数和线条设定符之后添加属性名称-属性值对组。。

plot(y,"LineWidth",5)
plot(x,y,"ro-","LineWidth",5)
plot(sample,v1,"ro","LineWidth",4)

4.5 histogram 函数创建一个 x的直方图。将 “FaceColor” 设置为黄色 (“y”)。

histogram(x,"FaceColor","y")

4.6 使用**title("")**添加标题,**ylabel("")、xlabel("")为坐标轴轴添加标签,legend("")添加图例,使用xlim([min max])、ylim([min max])**设置坐标轴范围。

title("Sample Mass")
ylabel("Mass (g)")
legend("Exp A","Exp B")
%在标题中添加值
bar(data(3,:))
title("Sample " + sample(3) + " Data")
xlim([1990.0 2015.0])
ylim([2.50 5.00])

4.7 加载完文件中的数据后,可以使用usage查看数据,usage
变量表示加载的数据,NaN(即“非数值”)用于表示缺失数据

%
res:蓝色 (b) 虚线 (--)
comm:黑色 (k) 点线 (:)
ind:洋红色 (m) 点划线 (-.)
%
hold on
plot(yrs,res,"b--")
plot(yrs,comm,"k:")
plot(yrs,ind,"m-.")

在这里插入图片描述
4.8 使用numel可以返回数组中元素数目,**fabs()**计算绝对值。

5.导入数据
5.1 以表的形式导入数据,采用**.**来访问每列的数据,可以将计算结果写入表格,可以对表格排序。表格的标题将自动识别为文件名。

5.2 导入.mat数据,包含的变量将自动创建。导入图像,图像将以像素数组的形式导入。通过导入工具可以按要求导入文本文件或电子表格数据,打开文件的预览,要导入的数据将以蓝色显示,缺失的数据将被NaN替代。

6.逻辑索引
6.1 使用关系运算符将某个向量或矩阵与单个标量值进行比较。结果是与原始数组相同大小的逻辑数组。关系运算符(大于 >、小于<、等于== 和不等于 ~=);

6.2 逻辑数组作为数组索引,MATLAB 会提取索引为 true 的数组元素。逻辑索引在数组中可以重新赋值。

v = v1(v1 < 4)
s = sample(v1 < 4)

6.3 逻辑运算符 and (&) 以及 or (|) 来组合逻辑比较。

x = sample(sample > 10 & sample < 20)
x = sample(sample < 10 | sample > 20)

7.编程
7.1 MATLAB适合处理数组数据,因此对于单一的计算,可以直接将数组作为计算变量,而对于复杂的计算需要采用循环来计算。

7.2 决策分支if

%if语句执行块,通过缩进来控制,end作为结束符,if 判断条件可以不需要括号,语句后面没有冒号。
if doPlot == 1  plot(density)title("Sample Densities")xticklabels(element)ylabel("Density (g/cm^3)")
elseif...
else...
end

7.3 for循环

for idx = 1:7hold onplot(idx,density(idx),'*')hold offpause(0.2)
end
%通过length可以获取未知变量的长度
for idx = 1:length(density)hold onplot(idx,density(idx),'*')hold off%暂停0.5秒,更新绘图,可以显示动态效果pause(0.5)
end

8.复习
81.使用 loglog 函数(用法同 plot 函数),在每个坐标轴上使用对数刻度绘制数据;

loglog(lambda,s,".-")
xlabel("Wavelength")
ylabel("Intensity")

8.2 在x、y 处的点绘制成一个标记大小 (“MarkerSize”) 为 8 的红色方框 (“rs”);

hold on
plot(lambdaHa,sHa,"rs","MarkerSize",8)
hold off

8.3 可以添加数值滑块控件,通过滑块输入数值。

9.总结
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
https://matlabacademy.mathworks.com/R2020b/cn/portal.html?course=gettingstarted&s_tid=mlac_gettingstarted_ban#chapter=15&lesson=1&section=1

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

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

相关文章

3年规模翻7倍统治 5G、IoT时代,化合物半导体材料深度报告

来源 华西证券编辑&#xff1a;智东西内参作者&#xff1a;吴吉森 等随着 5G、IoT 物联网时代的来临&#xff0c;以砷化镓&#xff08;GaAs&#xff09;、氮化镓&#xff08;GaN&#xff09;、碳化硅&#xff08;SiC&#xff09;为代表的化合物半导体市场有望快速崛起。其中&am…

SpringBoot笔记整理(二)

SpringBoot笔记整理&#xff08;一&#xff09; SpringBoot笔记整理&#xff08;二&#xff09; SpringBoot笔记整理&#xff08;三&#xff09; SpringBoot笔记整理&#xff08;四&#xff09; Spring Boot与日志&#xff08;日志框架、日志配置&#xff09; 1、市面上的日志…

MATLAB图像处理基础

1.导入数据 1.1 使用readtable("")导入数据&#xff0c;并存储在表格中&#xff0c;使用axis equal可以校正坐标轴纵横比。 letter readtable("M.txt"); plot(letter.X,letter.Y) axis equal1.2 range(x)函数返回x的值的范围&#xff0c;即max(x) - min(…

BBWebImage 设计思路

BBWebImage 设计思路 BBWebImage 是高性能 Swift 图片组件&#xff0c;用于图片下载、缓存、编解码、编辑与展示。 GitHub 地址&#xff1a; https://github.com/Silence-GitHub/BBWebImage 效果图 下载、展示并缓存原图 下载、渐进式解码、编辑图片&#xff0c;缓存编辑后的图…

清华本科、港科大准博士被指论文抄袭,网友:这是有技巧的“洗稿”

来源&#xff1a;整理自新智元、Reddit、知乎等不是吧&#xff1f;清华自动化本科&#xff0c;香港科技大学硕士生发表的顶会论文竟然是抄的&#xff1f;而且抄袭对象还是另一篇顶会论文&#xff1f;近日&#xff0c;眼尖的网友发现两篇分别发表在 ICML 2021 和 ICCV 2021 两大…

MATLAB深度学习入门

1. 加载图像 1.1 使用imread函数加载图像&#xff0c;可以加载GIF、JPEG、PNG等大多数标准文件格式图像。 Import an image img imread("file.jpg")1.2 采用**imshow()**来显示图像。 imshow(img)1.3 采用alexnet函数可以创建预定义的深度网络AlexNet的副本。 de…

SpringBoot笔记整理(三)

SpringBoot笔记整理&#xff08;一&#xff09; SpringBoot笔记整理&#xff08;二&#xff09; SpringBoot笔记整理&#xff08;三&#xff09; SpringBoot笔记整理&#xff08;四&#xff09; Web开发 1、使用SpringBoot&#xff1a; 1&#xff09;创建SpringBoot应用&…

图神经网络,如何变深?

来源&#xff1a;智源社区版式制作&#xff1a;Camel撰文&#xff1a;侯振宇编辑&#xff1a;贾 伟现实世界中很多很多任务可以描述为图(Graph)问题&#xff0c;比如社交网络&#xff0c;蛋白质结构&#xff0c;交通路网数据&#xff0c;图是一个很值得研究的领域。近年来&am…

机器学习分类与性能度量

机器学习分类与性能度量 数据集:训练集(Training Set)、验证集(Validation Set)和测试集(Test Set) 1、 当模型无需人为设定超参数&#xff0c;所用参数都通过学习得到&#xff0c;则不需要验证集。验证集适合多个不同超参数训练多个模型&#xff0c;通过验证集&#xff0c;…

中国人民大学孟小峰教授:“科学数据智能——人工智能在科学发现中的机遇与挑战”...

来源&#xff1a;国家自然科学基金委员会微信公号 孟小峰 博士&#xff0c;中国人民大学教授&#xff0c;博士生导师&#xff0c;CCF会士。主要研究方向为数据库理论与系统、大数据管理系统、大数据隐私保护、大数据融合与智能、大数据实时分析、社会计算等。摘 要随着全球各科…

Java 面向对象语言基础

面向过程 就是分析出解决问题所需要的步骤&#xff0c;然后用函数把这些步骤一步一步实现&#xff0c;使用的时候一个一个依次调用就可以了。 面向对象 是把构成问题事务分解成各个对象&#xff0c;建立对象的目的不是为了完成一个步骤&#xff0c;而是为了描叙某个事物在整个解…

全球首例!这台机器人发明了两项新技术,已获专利授权!

文章来源&#xff1a;EETOP几天前前人工智能系统专利申请权有最新发展。南非率先成为第一个授予人工智能专利权的国家&#xff0c;承认人工智能机器人DABUS为「发明者」&#xff0c;6日澳大利亚联邦法院也做出裁决&#xff1a;发明者可以是非人类。 这算是有历史里程碑意义的判…

成员变量、局部变量、实例变量、静态变量、类变量、常量

成员变量&#xff1a; 直接在类中声明的变量叫成员变量(又称全局变量) ▲ 初始化&#xff1a; 如果未对成员变量设置初始值&#xff0c;则系统会根据成员变量的类型自动分配初始值&#xff1a;int分配初始值0、boolean分配初始值false&#xff0c;而自定义类型则分配初始值null…

行业洞见 | 一文了解自动驾驶汽车

文章来源&#xff1a;ancholabs.medium.com文字翻译&#xff1a; 新能源情报局封面配图&#xff1a;原作者驾驶是人类日常从事的活动中最困难的之一。遵循交通规则&#xff0c;通过眼神与其他司机沟通交流、对天气状况做出反应是成为优秀司机的先决条件。在自动驾驶汽车中&…

MATLAB高光谱图像处理基础

介绍高光谱图像的基本知识&#xff0c;便通过MATLAB对高光谱图像进行基本的处理。 文章目录前言一、高光谱图像二、MATLAB高光谱图像处理1.加载.MAT文件数据2.图像的显示3.图像维度变换总结前言 高光谱图像是一个立方体结构&#xff0c;维度为M x N x B&#xff0c;M为水平方向…

中国千亿科技巨头,成功收购英国最大芯片制造商!

来源&#xff1a;世界先进制造技术论坛内容来源&#xff1a;每日经济新闻综合自每经App、界面新闻、财联社等本期编辑&#xff1a;小艾 在全球缺芯的背景下&#xff0c;8月15日&#xff0c;国产芯片巨头闻泰科技&#xff08;600745.SH&#xff09;披露&#xff0c;旗下全资子公…

MATLAB图自编码器

通过MATLAB来实现图自编码器&#xff0c;用于高光谱图像特征的提取。 文章目录前言一、MATLAB相关知识二、编写算法1.图自编码器搭建2.可视化相关参数总结前言 算法输入数据&#xff1a; 图节点属性矩阵&#xff1b;邻接矩阵&#xff1b;概率p&#xff1b; W为自编码器的隐藏…

考夫曼:破解大脑代码并创建真正的人工智能

来源&#xff1a;CSDN博主「CDA数据分析师」原文链接&#xff1a;https://blog.csdn.net/yoggieCDA/article/details/1045567421955年&#xff0c;计算机科学家约翰麦卡锡&#xff08;John McCarthy&#xff09;首次创造了“人工智能”一词。当时&#xff0c;人工智能是对可以表…

MATLAB高光谱图像构建KNN图

在高光谱图像的特征提取过程中&#xff0c;采用非线性降维的方式对高光谱图像降维的过程中&#xff0c;采用图自编码器来对数据进行降维&#xff0c;需要将利用高光谱图像的结构信息和内容信息&#xff0c;则需要将高光谱图像数据构造为一个图结构&#xff0c;图结构的构建需要…

类脑量子叠加脉冲神经网络:从量子大脑假说到更好的人工智能

来源&#xff1a;神经现实作者&#xff1a;曾毅研究团队 |封面&#xff1a;Mario De Meyer排版&#xff1a;光影以深度神经网络为代表的现代人工智能模型在识别图像、语音、文字等模式信息任务取得优异表现。然而&#xff0c;生物大脑具有处理复杂多变的环境信息的能力&#xf…