MATLAB Machine Learning Recipes

MATLAB 2018b 安装教程:https://blog.csdn.net/u012180635/article/details/84345957
MATLAB 入门教程:https://ww2.mathworks.cn/help/matlab/index.html

chapter 2

MATLAB基础知识

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室),MATLAB的基本数据单位是矩阵。

  1. 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;
  2. 具有完备的图形处理功能,实现计算结果和编程的可视化;
  3. 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;
  4. 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。

桌面基础知识

在这里插入图片描述
桌面包括以下面板:当前文件夹;命令行窗口;工作区

创建变量

>> a = 1

a =

     1

>> a = 1;
>> d = cos(a)

d =

    0.5403

>> cos(a)

ans =

    0.5403

数据类型

矩阵和数组
创建矩阵(要创建包含多行的矩阵,用分号分隔各行)
>> a = [1,2; 3,4]

a =

     1     2
     3     4

>> a  = [1 2; 3 4]

a =

     1     2
     3     4
     
>> % 数组索引
>> a(1,1)

ans =

     1

>> a(3)

ans =

     2
     
>> a(1:2,2)

ans =

     2
     4

使用ones、zeros或rand等函数创建矩阵
在这里插入图片描述

矩阵和数组运算
% a'为a的转置;c = a^2 等价于 c = a*a
>> b = a'*a

b =

    10    14
    14    20
    
>> c = a^2

c =

     7    10
    15    22
元胞数组

可以包含各种类型和大小的数据的数组
在这里插入图片描述
用cell函数创建元胞数组:

>> c = cell(3,1);
>> c{1} = 'string';
>> c{2} = false;
>> c{3} = [1 2; 3 4];
>> b = c(1:2);
>> celldisp(b)
 
b{1} =
 
string
 
 
b{2} =
 
   0

主要函数:
在这里插入图片描述

结构体

带有可以包含各种类型和大小的数据的命名字段的数组
在向其分配字段之前,不需要初始化数据结构,但最好这样做,尤其是在脚本中,以避免变量冲突。

>> d = struct;
>> d.fieldName = 0;

在这里插入图片描述在这里插入图片描述
用函数初始化结构体:

MyStruct.m:

function d = MyStruct
d = struct;
d.a = 1.0;
d.b = 'string';

test.m:

d = MyStruct;
d(2) = MyStruct;
d(3) = MyStruct;
field = 'a';
values = {d.(field)};

result:
values =

  1×3 cell 数组

    {[1]}    {[1]}    {[1]}
>> d = struct

d = 

  不包含字段的 struct>> isempty(d)

ans =

  logical

   0

主要函数:
在这里插入图片描述

数值类型

整数和浮点数据
在这里插入图片描述

图像

在 MATLAB 工作区中,大多数图像表示为二维数组(矩阵),其中矩阵的每个元素对应所显示图像的一个像素。例如,由 200 行和 300 列不同颜色的点组成的图像保存为一个 200×300 的矩阵。有些图像,如 RGB,需要三维数组,其中三个维度的第一个平面表示红色像素强度,第二个平面表示绿色像素强度,第三个平面表示蓝色像素强度。
读取、写入、显示和修改图像
在这里插入图片描述

显示图像:
在这里插入图片描述
读取、写入和修改图像:在这里插入图片描述
转换图像类型:
在这里插入图片描述

datastore

为大型数据集合创建数据存储
ds = datastore(location) 根据 location 指定的数据集合创建一个数据存储。数据存储是一个存储库,用于收集由于体积太大而无法载入内存的数据。创建 ds 后,您可以读取并处理数据。

>> location = pwd

location =

    'C:\Users\Ketone Olefine\AppData\Roaming\MathWorks\MATLAB Add-Ons\Toolboxes\MachineLearning\Cats'

>> ds = datastore(location)

ds = 

  ImageDatastore - 属性:

                       Files: {
                              ' ...\MathWorks\MATLAB Add-Ons\Toolboxes\MachineLearning\Cats\IMG_0191.png';
                              ' ...\MathWorks\MATLAB Add-Ons\Toolboxes\MachineLearning\Cats\IMG_1603.png';
                              ' ...\MathWorks\MATLAB Add-Ons\Toolboxes\MachineLearning\Cats\IMG_1625.png'
                               ... and 8 more
                              }
    AlternateFileSystemRoots: {}
                    ReadSize: 1
                      Labels: {}
                     ReadFcn: @readDatastoreImage

每种类型的数据存储都具有不同的属性。

  • DatabaseDatastore需要数据库工具箱,并允许您使用SQL查询。

  • MATLAB提供了MapReduce框架,用于处理数据存储区中的内存不足数据。

tall 数组

行数太多而无法载入内存的数组

tall 数组能够处理可包含数百万或数十亿行数据的数据存储中的数据。您可以创建 tall 数值数组、元胞数组、分类、字符串、日期时间、持续时间或日历持续时间,还可以在 tall 表或 tall 时间表中使用上述任一 tall 类型作为变量。许多运算和函数使用与处理可放入内存的 MATLAB® 数组相同的方式处理 tall 数组,但仅在您使用 gather 显式请求计算时才会真正计算大多数结果。

稀疏矩阵

稀疏矩阵能够有效地存储零元素百分比很高的 double 或 logical 数据。
满矩阵(或稠密矩阵)会将每个元素都存储在内存中(不管值如何),而稀疏矩阵仅存储非零元素及其行索引。因此,使用稀疏矩阵可极大地减少存储数据所需的内存量。

表格与分类数组

https://ww2.mathworks.cn/videos/tables-and-categorical-arrays-in-release-2013b-101607.html

MAT-Files
m = matfile(filename)

创建 MAT 文件对象 m,该对象连接到名为 filename 的 MAT 文件。该对象允许您直接访问和更改 MAT 文件中的变量,而不必将变量加载到内存中。

chapter 3

3.1 2D line Plots

  • 知识梳理:
    在这里插入图片描述

创建二维线图

example:
使用 linspace 函数将 x 定义为由 0 和 之间的 100 个线性间隔值组成的向量。

>> x = linspace(0,2*pi,100);
>> y = sin(x);
>> figure
>> plot(x,y);

在这里插入图片描述
使用 linspace 函数将 x 定义为由 0 和 之间的 5 个线性间隔值组成的向量。

>>  x = linspace(0,2*pi,5);
>>  y = sin(x);
>> figure
>> plot(x,y);

在这里插入图片描述
绘制多个线条:

x = linspace(0,2*pi,100);
y1 = sin(x);
y2 = sin(x-pi/4);
figure
plot(x,y1,x,y2)

在这里插入图片描述

向图形添加标题、坐标轴标签和图例

使用 title、xlabel、ylabel 和 legend 函数向图表添加标题、轴标签和图例。

title('string');
xlabel('string');
ylabel('string');
legend('y=cos(x)','y=sin(x)');

合并多个绘图

在同一坐标区中合并绘图

在这里插入图片描述

使用子图在图窗中创建多个坐标区

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

3.2 General 2D Graphics

MATLAB 绘图类型

https://ww2.mathworks.cn/help/matlab/creating_plots/types-of-matlab-plots.html

勘误

figure('Name','My figure name');
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当然,我可以为您介绍一下 MATLAB 机器学习教程。MATLAB 是一种强大的数值计算和数据分析工具,它提供了丰富的机器学习功能和工具箱,可以帮助您进行各种机器学习任务。 以下是一些常见的 MATLAB 机器学习教程和资源: 1. 官方文档和示例:MATLAB 官方网站提供了详细的文档和示例,涵盖了各种机器学习算法和工具的使用方法。您可以在官方网站上找到相关的教程和示例代码。 2. MATLAB 机器学习工具箱:MATLAB 提供了专门的机器学习工具箱,其中包含了各种常用的机器学习算法和函数。您可以通过使用这些工具箱来进行数据预处理、特征提取、模型训练和评估等任务。 3. 在线教程和课程:有许多在线教程和课程可以帮助您学习 MATLAB 机器学习。例如,Coursera 上有一门由 MATLAB 官方团队开设的《Practical Deep Learning for Coders》课程,该课程涵盖了深度学习的基础知识和实践技巧。 4. 社区支持:MATLAB 社区非常活跃,您可以在 MATLAB Answers 论坛上提问和寻求帮助。许多专家和用户会分享他们的经验和解决方案。 5. 书籍和参考资料:有很多优秀的书籍和参考资料可以帮助您深入学习 MATLAB 机器学习。例如,《MATLAB Machine Learning Recipes: A Problem-Solution Approach》和《Machine Learning with MATLAB: Supervised Learning and Classification》等。 希望以上资源能够帮助您开始学习 MATLAB 机器学习。如果您有更具体的问题或者需要进一步的帮助,请随时告诉我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值