Matlab学习日记之基础知识

基础知识

 注释

  在需要注释的内容开头使用%

   %%可以分区模块,但是%%所在行才注释

 变量命名规则

  • 变量名区分大小写
  • 变量名长度不超过63位
  • 变量名以字母开头,可以由字母、数字和下划线组成,但不能使用标点
  • 变量名应简明、通俗易懂

 数据类型

  数字

    加减乘除

  字符与字符串

    s='a'       定义字符或字符串使用''

    str='hello world!'

    abs(s)      求字符对应的ASCII码

    char(97)     通过ASCII码转成对应的字符

    num2str(65)    将数字转成字符    

    length(str)    求字符的长度

  矩阵

    A = [1 2 3;4 5 6;7 8 9]    定义矩阵空格分割表示下一列,分号分割表示下一行

    B = A'             A'表示A的转置

    C = A(:)            A(:)表示将矩阵A变成一列,按列分

    D = inv(A)           inv(A)表示求A的逆矩阵

    A * D             矩阵A乘矩阵D

    E = zeros(10,5,3)       zeros(i,j,k) 生成具有k个维度的i行j列的0矩阵

    E(:,:,1) = rand(10,5)     E(:,:,i) 表示E的第i个维度

                   rand(m,n) 生成m行n列的均匀分布的伪随机整数

    E(:,:,2) = randi(5,10,5)   randi(iMax) 在闭区间(0,iax)生成均匀分布的伪随机整数

                   randi(iMax,m,n) 在区间(0,iax)生成m x n型的随机矩阵

                   randi([iMin,iMax],m,n) 在区间(iMin,iMax)生成m x n型的随机矩阵

    E(:,:,3) = randn(10,5)    randn 生成标准正态分布的伪随机数(均值为0,方差为1)

  元胞数组

    cell(1,6)    定义一个1行6列的元胞数组(类似于二维数组)

    eye(3)      定义一个3阶的单位矩阵

    magic(5)     定义一个5阶幻方矩阵,幻方矩阵:该矩阵任意一行或列或对角线相加起来的值相同

  结构体

    books = struct('name',{{'java','python'}},'price',[1,2])    

             定义一个结构体。类似哈希表,有key为'name'对应的value为1×2 cell 数组{'java'} {'python'}

             books.name(1)返回name中的第一个值 {'java'}  类型为cell数组

             books.name{1}返回name中的第一个值 'java'  类型为字符串

 矩阵操作

   矩阵的定义与构造

    A = [1,2,3;4,5,6]    定义矩阵

    B = 1:2:9        生成从1到9步长为2

    C = repmat(B,3,1)    以3行1列的形式重复B

    D = ones(2,4)      生成2行4列全是1的矩阵

   矩阵的四则运算

    加减乘除 G=A/B  ->  G * B = A  ->  G * B * inv(B) = A * inv(B)  ->  G = A * inv(B)  

    F = A .* B       矩阵A与矩阵B对应项相乘

    H = A ./ B       矩阵A与矩阵B对应项相除

   矩阵的下标

    A = magic(5)

    B = A(2,3)       取A矩阵对应索引的值

    C = A(:,3)       取A矩阵的第三列所有元素

    [n,m] =find(A>20)    查找A矩阵中值大于20的索引值分别赋给n,m 

原文地址:https://www.cnblogs.com/bird7/p/14584080.html