Matlab(科伊恩)学习1——基本操作与矩阵输入

本文详细介绍MATLAB的基本操作,包括变量管理、矩阵输入、运算及特殊矩阵的创建等关键概念。同时,介绍了MATLAB中矩阵运算的多种方式,如点运算、矩阵乘法以及一些常用的矩阵函数,如求和、求平均、查找最大值等。

一、基本操作与矩阵输入

#matlab指导网站:https://ww2.mathworks.cn/help/

  1. 变量

    1.1变量不可以使用关键字,使用 iskeyword 可以查看matlab关键字

    >> iskeyword
    ans = 20×1 cell 数组
        {'break'     } {'case'      } {'catch'     } {'classdef'  } {'continue'  }
        {'else'      } {'elseif'    } {'end'       } {'for'       } {'function'  }
        {'global'    } {'if'        } {'otherwise' } {'parfor'    } {'persistent'}
        {'return'    } {'spmd'      } {'switch'    } {'try'       } {'while'     }
    

    1.2 matlab可对运算进行重定义,与原先的function会冲突,使用 clear function 可消除变量

    >> cos='this is string' #将cos定义成了一个字符串
    cos = 'this is string'
    
    >> cos(1)  #此时cos(1)表示的是字符串第一个字符
    ans = 't'
    
    >> clear cos  #该指令可以清除变量cos,从而正常使用
    >> cos(1)
    ans =  0.5403
    

    1.3 使用 who/whos 可查看当前变量

     >> who  #查看变量名
    您的变量为:
       a  b  
       
    >> whos  #展示变量的详细信息
         Name      Size            Bytes  Class     Attributes
         a         1x1                 8  double              
         b         1x1                 8  double  
    

    1.4 使用❗ clear ❗可清除所有指令,一定要小心使用!

    clc 清空指令窗口,但不会清空指令

    1.5 双击“工作区”内部变量,可调出变量所有数据

    1.6 特殊变量:

    含义变量名
    ans结果
    i,j复数
    Inf无穷
    eps表示小数点位数
    NaN不存在,not a number
    piΠ,圆周率

    1.7 变量类型:

    StyleResultExample
    short短整型3.1416
    long长整型3.141592653589793
    shortE短整型科学计数3.1416e+00
    longE长整型科学计数3.141592653589793e+00
    bank保留两位数3.14
    hex转换为16进制400921fb54442d13
    rat转换为有理数355/113

    使用格式

    >> pi
    ans =  3.1416
       
    >> format long
    >> pi
    ans =  3.141592653589793
       
    >> 355/113
    ans =  3.141592920353983
       
    >> format rat
    >> 355/113
    ans =  355/113   
    

    1.8 分号的作用:不显示运算结果

    >> a=10
    a =  10       
       
    >> a=10;
    

    1.9 ↑ 可以调出之前的指令

  2. 矩阵

    2.1行矩阵与列矩阵

     >> a=[1 2 3 4]  #空格分开,为行矩阵
    a =    1   2   3   4       
    
    >> b=[1;2;3;4]  #分号分开,为列矩阵
    b =    1       
           2       
           3       
           4       
    
    >> a*b  #行x列=数
    ans =  30       
    
    >> b*a  #列x行=矩阵
    ans =  1              2              3              4       
           2              4              6              8       
           3              6              9             12       
           4              8             12             16      
    >> A=[1 2 3;4 5 6;7 8 9]
    A =    1              2              3       
           4              5              6       
           7              8              9       
    

    2.2矩阵元素的调用

    ​ 法1:A[行,列]

    ​ 法2:A(n) n为以列为顺序开始计算

    ​ 通过调用可以对该元素进行重新赋值

    >> A=[1 21 6;5 17 9;31 2 7]
    A =    1             21              6       
           5             17              9       
          31              2              7       
    
    >> A(8)
    ans = 9       
    
    >> A([1 3 5])
    ans = 1             31             17       
    
    >> A([1 3;1 3])
    ans =  1             31       
           1             31       
    
    >> A(3,2)
    ans = 2       
    
    >> A([1 3],[1 3])
    ans =  1              6       
          31              7    
    

    2.3创建一个有规律的向量 (切片)

    >> A=[1:5]
    A = 1              2              3              4              5      
    
    >> A=[1:2:10]
    A = 1              3              5              7              9    
    
    #A=[j:i:k] j为起始值,k为终止值,i为步长,不指明时默认为1
    
    >> A=[1:5; 2:3:15; -2:0.5:0]  #拓展为一个矩阵
    A =    1              2              3              4              5       
           2              5              8             11             14       
          -2             -3/2           -1             -1/2            0    
          
    >> str='a':2:'g' #对字符串同样又该切片法
    str =  'aceg' 
    

    2.4矩阵运算

    合并

    >> A=[1 2;3 4];
    >> B=[9 9;9 9];
    >> F=[A B]  
    F =    1              2              9              9       
           3              4              9              9   
    

    常规计算:+ - * / ^(次方) . (点运算,同位置元素直接进行计算) ‘ (转置)

    A.*B=对应元素直接相乘

    A^n=AxAx……xA(n个)

    A.^n=A中每个元素进行n次方

    >> A=[1 2;3 4];
    >> B=[1 1;1 1];
    >> F=A.*B  #矩阵的点乘计算
    F =    1              2       
           3              4   
    

    2.5特殊矩阵

    NameResults
    linspace(x1,x2,N)x1起始值,x2终止值,N元素个数。
    缺省N时默认个数为100
    eye(n)n阶单位矩阵
    zeros(n1,n2)n1xn2零矩阵
    ones(n1,n2)n1xn2全1矩阵
    diag对角阵
    rand(n1,n2)生成n1xn2矩阵,且每个元素都在(0,1)
    只输入一个参数时,生成一个n阶矩阵
    rand(1,4)
    ans =  0.8147    0.9058    0.1270    0.9134
    
    rand(3)
    ans =  0.6324    0.5469    0.1576
         0.0975    0.9575    0.9706
         0.2785    0.9649    
         0.9572
    
    >> X=linspace(5,100,20)
         X = 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
    

    2.6一些矩阵的function

    NameFunctionNameFunction
    max(A)找出每列的最大值sort(A)每列从小到大排序
    max(max(A))找出最大值sortrows(A)根据首列元素从小到大进行排序
    min(A)找出每列最小值size(A,n)n省略时返回矩阵的 行 + 列
    n=1,返回A的行数,n=2,返回列数
    sum(A)每列元素的和length(A)返回一列中的元素个数
    mean(A)每列元素的平均数find(A)找出矩阵中某一个元素并返回位置
       >> A=[1 2 3;0 5 6;7 0 9]
       A =    1              2              3       
              0              5              6       
              7              0              9   
                 
       >> sort(A)
       ans =  0              0              3       
              1              2              6       
              7              5              9    
                 
       >> sortrows(A)
       ans =  0              5              6       
              1              2              3       
              7              0              9
                
       >> find(A==7)
       ans =  3  
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值