学习笔记-Matlab基础学习

基础:数据类型

无穷:Inf或inf

圆周率:pi

字符串:name='jack'

字符串数组:char('jack','lucy')

>> a=char('lucy','tony')

a =

  2×4 char 数组

    'lucy'
    'tony'

整型:uint8、uint16、uint32、uint64、int8、int16、int32、int64

查看最值:intmin('int8')、intmax('int8')

>> intmin('int8')

ans =

  int8

   -128

浮点数:double(默认)、single

浮点精度(数的最小分辨率):eps('single')、eps('double')

浮点精度(数的最大最小值):realmax('single')、realmin('double')

>> eps('single')

ans =

  single

  1.1921e-07
 realmax('single')

ans =

  single

  3.4028e+38

基础:变量

运算符:+、-、*、/、\、^

变量赋值:x=15,x=3*x-12

变量运算:a=12,b=4,c=a+b-2/b

变量打印控制:用;控制

变量命名:字母开头,最长63个字符,可以包含数字字母下划线,大小写敏感,不能有括号空格,不能使用内置关键字(如:length、sum、end、pi、i、j(虚数)、eps、sin、cos、size等等)

查看内置的变量(关键字):iskeyword

查看工作区的变量:whos

基础:常用内置函数

开方:sqrt(x)

开n次方:nthroot(x,n)

指数:exp(x)

绝对值:abs(b)

对数:log(x),log10(x)(默认以e为底)

三角函数:sin(x),cos(x)...

近视函数:就近取整数,就是四舍五入round(x),向零取整fix(x),向上取整ceil(x),向下取整floor(x),取余rem(x)

清楚内存变量:clear x y z、clear all、clc(清除命令窗口)

查看内存变量:who、whos

向量基础

行向量:A=[1 2 3 4]或者A=[1,2,3,4]

列向量:A=[1;2;3;4]

行向量转列向量:B=A(:)或者B=A‘

查看大小:size(A),length(A)

>> A=[1 2;3 4;5 6]

A =

     1     2
     3     4
     5     6

>> size(A)

ans =

     3     2

>> length(A)

ans =

     3

size表示查看矩阵的大小:几行几列

length查看向量的大小:几行

切片方法:

从第二个元素开始,取到最后,按列的顺序编号,end也可以用-1代替,end-1表示到倒数第二个,end-2表示倒数第三个

>> A(2:end)

ans =

     3     5     2     4     6

从第二个元素开始,以1为步长,取到第4个元素

A(2:4)

ans =

     3     5     2

 从第二个元素开始,以2为步长,取到第5个元素

>> A(2:2:5)

ans =

     3     2

取离散的值:

>> A([1,3,4])

ans =

     1     5     2

创建线性分布的向量:

A=1:2:100,从1开始,每隔3隔数取一个数,取到100

A=linspace(1,100,99),在1到100间取99个数,也是一个等差数列

换行表达式:用...来表示

标量和向量运算:使用常规运算符就行

向量与向量运算:运算符前带一个点,比如.+、.*、./、.^表示一一对应运算,没有点,则按照矩阵运算规则运算

矩阵基础

矩阵定义:

A=[1,2;2,3]或者A=[1 2;2 3]

多重表达:A=[1:2:11;0:5:25;linspace(10,60,6);6 5 4 6 3 2]

>> A=[1:2:11;0:5:25;linspace(10,60,6);6 5 4 6 3 2]

A =

     1     3     5     7     9    11
     0     5    10    15    20    25
    10    20    30    40    50    60
     6     5     4     6     3     2

零矩阵:zeros(4,3) 四行三列

一矩阵:ones(4,3)

对角矩阵:eye(5)

>> eye(5)

ans =

     1     0     0     0     0
     0     1     0     0     0
     0     0     1     0     0
     0     0     0     1     0
     0     0     0     0     1

矩阵转置:A’

矩阵的分号表达:

>> A

A =

     1     3     5     7     9    11
     0     5    10    15    20    25
    10    20    30    40    50    60
     6     5     4     6     3     2

>> A(:,1:3),A(2:4,1:end),A(2:4,1:end-1)

ans =

     1     3     5
     0     5    10
    10    20    30
     6     5     4


ans =

     0     5    10    15    20    25
    10    20    30    40    50    60
     6     5     4     6     3     2


ans =

     0     5    10    15    20
    10    20    30    40    50
     6     5     4     6     3

离散取值:

A =

     1     3     5     7     9    11
     0     5    10    15    20    25
    10    20    30    40    50    60
     6     5     4     6     3     2

>> A(1:3,[1 3])

ans =

     1     5
     0    10
    10    30

条件取值:

>> A(A>10)

ans =

    20
    30
    15
    40
    20
    50
    11
    25
    60

矩阵元素的删除:A(:,2:4)=[]

矩阵的拼接:C=[A B]

常用矩阵内置函数

创建对角矩阵:

v=[2 4 7],v=diag(v)

v =

     2     4     7


v =

     2     0     0
     0     4     0
     0     0     7

反向获取对焦元素:


>> v=rand(10,5),v=diag(v)

v =

    0.2760    0.7513    0.8407    0.3517    0.0759
    0.6797    0.2551    0.2543    0.8308    0.0540
    0.6551    0.5060    0.8143    0.5853    0.5308
    0.1626    0.6991    0.2435    0.5497    0.7792
    0.1190    0.8909    0.9293    0.9172    0.9340
    0.4984    0.9593    0.3500    0.2858    0.1299
    0.9597    0.5472    0.1966    0.7572    0.5688
    0.3404    0.1386    0.2511    0.7537    0.4694
    0.5853    0.1493    0.6160    0.3804    0.0119
    0.2238    0.2575    0.4733    0.5678    0.3371


v =

    0.2760
    0.2551
    0.8143
    0.5497
    0.9340

改变矩阵形状:reshape(A)

A =

     1     3     5     7     9    11
     0     5    10    15    20    25
    10    20    30    40    50    60
     6     5     4     6     3     2

>> reshape(A,3,8)

ans =

     1     6    20    10     7     6    50    25
     0     3     5    30    15     9     3    60
    10     5     5     4    40    20    11     2

获取矩阵大小:size(A)

获取矩阵最值:

%%按列取最小值,n代表该最小值在该列中第几个元素
>> [d,n]=min(A)

d =

     0     3     4     6     3     2


n =

     2     1     4     4     4     4

>> A

A =

     1     3     5     7     9    11
     0     5    10    15    20    25
    10    20    30    40    50    60
     6     5     4     6     3     2

>> max(A)

ans =

    10    20    30    40    50    60

>> max(max(A))

ans =

    60

求和:sum(A)

排序:sort(A)

中值:medium(A)

平均值:mean(A)

标准差:std(A)

>> A

A =

     1     3     5     7     9    11
     0     5    10    15    20    25
    10    20    30    40    50    60
     6     5     4     6     3     2

>> sum(A)

ans =

    17    33    49    68    82    98

>> sort(A)

ans =

     0     3     4     6     3     2
     1     5     5     7     9    11
     6     5    10    15    20    25
    10    20    30    40    50    60

>> mean(A)

ans =

    4.2500    8.2500   12.2500   17.0000   20.5000   24.5000

>> std(A)

ans =

    4.6458    7.8899   12.1209   15.8535   20.8886   25.4886

>> median(A)

ans =

    3.5000    5.0000    7.5000   11.0000   14.5000   18.0000

点积:dot(A,B)

随机数:

rand产生一个0~1之间double类型的随机数

rand(1,5)产生一个任意元素在0~1之间的一行五列的矩阵

rand(10):产生10行10列矩阵

randperm(10),指定范围内的正整数

>> randperm(10)

ans =

     1     5     7     3     4     6     8     9    10     2

标准正态分布的随机数:randn(4,3)

特征值和特征向量:[v,d]=eig(A),A要是一个方阵

矩阵的运算

加减乘除:+、-、.*、./点乘           *、/叉乘

矩阵求逆:inv(A)

脚本编辑器

脚本定义:.m文件

脚本代码编写:%注释

脚本函数编写:function的使用

脚本函数运行:name

f为输出值,脚本名要和函数名一致

 匿名函数:

>> f2=@(x,y)2*x^2-4*x*y+y^2;
>> f2(2,3)

ans =

    -7

 

猜你喜欢

转载自blog.csdn.net/seek97/article/details/108280830
今日推荐