Matlab 基本应用


本篇文章记录了笔者模式识别的第一次实验——熟悉Matlab的基本应用。

1. help 用法

help 方法名即可查看该方法的具体用法。

help size
在这里插入图片描述

2. 小练习

(1) 创建一个2*3矩阵a,其第一列元素为1, 2,第二列为3, 4,第三列为5, 6
在这里插入图片描述

(2)将矩阵 a 与 a 的转置矩阵相乘,得到的结果赋值给 b
在这里插入图片描述

(3)计算矩阵 b 的特征值和特征向量,将特征向量构成的矩阵表示为 v
在这里插入图片描述

(4)计算矩阵 b与矩阵 v的对应位置的元素之间的除法。
在这里插入图片描述

(5)创建一个 2*3的分块矩阵 d,每一个块的内容均为矩阵 b。
在这里插入图片描述

(6)求矩阵 d的维度,包括行数和列数。
在这里插入图片描述

(7)将矩阵 a的第二列替换为矩阵 b的第一列。
在这里插入图片描述

(8)计算矩阵 a 每一行的元素的均值
在这里插入图片描述

3. 练习

对一个矩阵实现 zscore 标准化,即是将矩阵中的每一列元素的值变换为呈标准正太分布
的值。假设在标准化前一个元素的值为 x,则经过 zscore 标准化后,该元素的值为 x − μ σ \frac{x - \mu}{\sigma} σxμ ,其中μ为元素所在列的均值, σ \sigma σ 是元素所在列的标准差。编写一个脚本文件,实现对下述矩阵 A的 zscore 标准化,其中
A = randn(20, 20) * 2 +1。

(1)要求:使用 for 循环,依次对矩阵每列的元素进行处理
代码:

A = randn(20, 20) * 2 + 1;
A_z = zeros(size(A));

mu = mean(A);
sigma = std(A);
for j = 1:size(A,2)
    A_z(:,j) = (A(:,j) - mu(j)) ./ sigma(j);
end
disp(A_z);

(2)要求:只用一个表达式来实现上述功能 (提示需要用 repmat 函数和矩阵的”./”运算)

A_z2 = (A - repmat(mu, size(A, 1), 1)) ./ repmat(sigma, size(A, 1), 1); 
disp(A_z2); 

4. 练习

  1. 编写一个函数文件,命名为 myfunc.m,输入为任意矩阵,输出为经过 zscore 标准化后的矩阵。在命令行窗口中调用该函数,其中输入设置为 A = randn(20, 20) * 2 +2。
myfunc.m
function A_z3 = myfunc(A)
    if ~ismatrix(A)
        error("输入不是矩阵")
    end
    mu = mean(A);
    sigma = std(A);
    mu_mat = repmat(mu, size(A, 1), 1);  
    sigma_mat = repmat(sigma, size(A, 1), 1); 
    A_z3 = (A - mu_mat) ./ sigma_mat;
end

% 主函数
A = randn(20,20) * 2 + 2;
A_z3 = myfunc(A);
disp(A_z3);

以上便是本篇文章所有内容,当若大佬发现问题请直接评论区斧正,感谢🌞

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-04 03:12:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-04 03:12:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-04 03:12:02       87 阅读
  4. Python语言-面向对象

    2024-04-04 03:12:02       96 阅读

热门阅读

  1. llama-factory简介

    2024-04-04 03:12:02       34 阅读
  2. Docker安装Kafka

    2024-04-04 03:12:02       34 阅读
  3. 给计算机入坑的寄语吧

    2024-04-04 03:12:02       38 阅读
  4. 图像分类模型AlexNet原理与实现

    2024-04-04 03:12:02       34 阅读
  5. 面试算法-127-优势洗牌

    2024-04-04 03:12:02       30 阅读
  6. AudioLDM2全文翻译

    2024-04-04 03:12:02       32 阅读
  7. python常用库(一)

    2024-04-04 03:12:02       43 阅读
  8. MySQL中使用 普通索引 or 唯一索引?

    2024-04-04 03:12:02       37 阅读
  9. vue实例与数据绑定

    2024-04-04 03:12:02       41 阅读
  10. UE5实现WidgetComponent点击事件-Screen与World兼容

    2024-04-04 03:12:02       29 阅读
  11. ubuntu 16.04 安装 新版npm

    2024-04-04 03:12:02       39 阅读
  12. 每日OJ题_回文串dp⑤_力扣516. 最长回文子序列

    2024-04-04 03:12:02       39 阅读
  13. 【GIt】报错:would clobber existing tag

    2024-04-04 03:12:02       33 阅读