MATLAB笔记1

一、数据处理及其运算

1、矩阵的建立

1.直接建立矩阵

A=[1,2,3;4,5,6;7,8,9]

A =

     1     2     3
     4     5     6
     7     8     9

2.用已经建立好的矩阵建立更大的矩阵

>> A=[1,2,3;4,5,6;7,8,9]

A =

     1     2     3
     4     5     6
     7     8     9

>> B=[5,5,5;6,6,6;7,7,7]

B =

     5     5     5
     6     6     6
     7     7     7

>> C=[A,B;B,A]

C =

     1     2     3     5     5     5
     4     5     6     6     6     6
     7     8     9     7     7     7
     5     5     5     1     2     3
     6     6     6     4     5     6
     7     7     7     7     8     9

3.冒号表达式

e1:e2:e3  

e1为初始值,e2为步长,e3为终止值(e2不写则默认步长为1)
 

>> t=0:1:5

t =

     0     1     2     3     4     5

4.linspace(a,b,n)函数,产生行向量

a是第一个元素,b是最后一个元素,n是元素总数(n不写默认为100)
 

>> linspace(0,pi,5)

ans =

         0    0.7854    1.5708    2.3562    3.1416

这与a:(b-a)/(n-1):b等价

2、矩阵元素的引用

1.取出矩阵中某行某列的元素

A(3,2)=100                         %将A[3,2]赋值为100

2.取出矩阵中第几个元素

A(n)  %排序方式为按列排序,按列从上往下,从左往右


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

A =

     1     2     3
     4     5     6

>> A(5)

ans =3

>> A(4)

ans =5

3.矩阵中元素序号的计算

以m*n矩阵A为例:矩阵元素A(i,j)的序号为(j-1)*m+i

4.利用冒号表达式获得子矩阵

>> A=[1,2,3,4,5;6,7,8,9,10;11,12,13,14,15]

A =

     1     2     3     4     5
     6     7     8     9    10
    11    12    13    14    15

>> A(1,:)%取A的第一行

ans =

     1     2     3     4     5

>> A(:,2:4)%取A得2,3,4列

ans =

     2     3     4
     7     8     9
    12    13    14

>> A(2:3,4:5)%取A得2,3行和4,5列

ans =

     9    10
    14    15

>> A(2:3,1:2:5)%取A得2,3行和1,3,5列

ans =

     6     8    10
    11    13    15

此外,还可以用end来表示末尾元素下标

>> A=[1,2,3,4,5;6,7,8,9,10;11,12,13,14,15]

A =

     1     2     3     4     5
     6     7     8     9    10
    11    12    13    14    15

>> A(end,:)%取A最后一行

ans =

    11    12    13    14    15

>> A([1,3],2:end)%取出A中1,3行中第2列到最后一列的元素

ans =

     2     3     4     5
    12    13    14    15

4.利用空矩阵删除矩阵元素

空矩阵及没有任何元素的矩阵,中括号中为空,如X=[]

例:

>> A(:,[2,4])=[]%删除A的第2列和第4列

A =

     1     3     5
     6     8    10
    11    13    15

5.改变矩阵形状

reshape(A,m,n),将矩阵A重新排序为m*n的二维矩阵

>> x=[1,2,3,4,5,6,7,8,9,10,11,12]

x =

     1     2     3     4     5     6     7     8     9    10    11    12

>> y=reshape(x,3,4)%将x排序为3行4列

y =

     1     4     7    10
     2     5     8    11
     3     6     9    12

注意:reshape(A,m,n)只改变了矩阵的逻辑结构,但不改变原来矩阵中元素的顺序

A(:),将A的每一列元素堆叠起来,成为一个列向量,

>> A=[1,2,3;2,3,4]

A =

     1     2     3
     2     3     4

>> B=A(:)

B =

     1
     2
     2
     3
     3
     4

这里A(:)产生一个6*1的矩阵,等价于reshape(A,6,1)

3、变量及操作

1.变量与赋值语句

以字母开头,最长63个字符

matlab的标准函数名都用小写

2.常用的预定义变量

预定义变量                        含义

ans                                计算结果的默认赋值变量

eps                                机器的零预值

pi                                   圆周率π

i,j                                   虚数单位

inf,Inf                          无穷大,如1/0

NaN,nan                     非数,如0/0,inf/inf

3.获取以定义变量

看右边区域,或用who和whos

>> who

您的变量为:

A    B    C    ans  ri   t    x    y    

>> whos
  Name      Size             Bytes  Class     Attributes

  A         2x3                 48  double              
  B         6x1                 48  double              
  C         6x6                288  double              
  ans       6x1                 48  double              
  ri        3x3                144  double    complex   
  t         1x101              808  double              
  x         1x12                96  double              
  y         3x4                 96  double    

4.永久保存变量

save 文件名 [变量名表] [-append] [-ascii]

load 文件名 [变量名表] [ascii]

文件存储在.mat文件中

例:

>> save mydata x y%将变量x,y存储到mydata.mat中,但是在默认路径中
>> load mydata%载入mydata.mat中的变量

若不是默认路径

则:

>> save D:\666\mydata x y
>> load D:\666\mydata

4、MATLAB常用内部函数

函数名                        功能

sin/sind                   正弦函数,输入值为弧度/角度

cos/cosd                 余弦函数,输入值为弧度/角度

tan/tand                  正切函数,输入值为弧度/角度

asin、asind、acos、acosd、atan、atand反正切、反余弦、反正切

sqrt                         平方根函数(开根号)

log                          自然对数函数

log10                      常用对数函数

log2                        以2为底的对数函数

exp                         自然指数函数

pow2                      2的幂(2的多少次方)

>> x=10;
>> pow2(x)

ans =1024

abs                         绝对值函数(绝对值,复数的模,字符串的ASCII)

例:

>> abs(-4)          ans =4

>> abs(3+4i)      ans =5

>> abs('a')          ans =97

rem                         求余数rem(x,y)

mod                         求模mod(x,y)

fix                            向零方向取整

floor                         不大于自变量的最大整数

ceil                           不小于自变量的最小整数

round                       四舍五入到最邻近的整数

sign                          符号函数(返回-1,0,1)

gcd                           最大公约数

lcm                           最小公倍数

factorial                    阶乘

isprime                     判断是否为素数(返回1,0)

primes                      生成素数列表

perms                       生成所有排列

randperm                  生成任意排列

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值