MATLAB--基本操作与矩阵输入

目录

一、简单的数学运算

1、变量名不应当覆盖内置函数名

 2、计算数学表达式

二、向量和数组的运算

1、向量的输入和运算

2、调取矩阵中的值(indexing)

3、使用冒号运算符创建向量

4、矩阵的元素替换、删除合并

5、矩阵的运算(矩阵与矩阵、矩阵与元素)

6、定义特殊矩阵

7、操作矩阵的函数

一、简单的数学运算

1、变量名不应当覆盖内置函数名

在MATLAB中,变量的调用优先级(calling priority)高于函数,因此变量名不应该覆盖内置函数.

MATLAB的调用优先级

 2、计算数学表达式

\cos (\sqrt{\frac{(1+2+3+4)^3}{5}})

cos(((1+2+3+4)^3/5)^0.5)
cos(sqrt((1+2+3+4)^3/5))
ans =

   -0.0050
((1+2+3+4)^3/5)^0.5

ans =

   14.1421

>> cos(ans)

ans =

   -0.0050   //比较复杂的话用这种方式比较好

\sin(\sqrt{(\pi) }+\ln (\tan (1))

sin(sqrt(pi))+log(tan(1))
ans =

    1.4228

2^{3.5*1.7}

2^(3.5*1.7)
ans =

   61.8199

e^{\sin (10)}

exp(sin(10))
ans =

    0.5804

\frac{3}{13}+\frac{4}{14}+\frac{5}{15}

format long       
>> 3/13+4/14+5/15

ans =

   0.849816849816850

>> format rat      //计算结果为有理数
>> 3/13+4/14+5/15

ans =

     232/273   

二、向量和数组的运算

1、向量的输入和运算

A=[1 2 3 4 ]        //row vector
A =
     1     2     3     4
>> B=[1;2;3;4]      //Column vector
B =
     1
     2
     3
     4
>> A*B
ans =
    30
>> B*A
ans =
     1     2     3     4
     2     4     6     8
     3     6     9    12
     4     8    12    16

2、调取矩阵中的值(indexing)

>> A=[1 21 6;5 17 9;31 2 7]
A =
     1    21     6
     5    17     9
    31     2     7
>> A(8)         //按照顺序entry
ans =
     9
>> A(1,2)    //A=(row,column)
ans =
    21

3、使用冒号运算符创建向量

>> B=1:5       //从一到五的row vector
B =
     1     2     3     4     5
>> A=1:2:5        //从一到五间隔为2的row vector
A =
     1     3     5
>> C=[1:5;2:3:15;-2:0.5:0]  
C =
    1.0000    2.0000    3.0000    4.0000    5.0000
    2.0000    5.0000    8.0000   11.0000   14.0000
   -2.0000   -1.5000   -1.0000   -0.5000         0
>> str='a':2:'z'    
str =
    'acegikmoqsuwy'

4、矩阵的元素替换、删除合并

>> A=[1 21 6;5 17 9;31 2 7]    //创建矩阵
A =
     1    21     6
     5    17     9
    31     2     7
>> A(3,:)         //显示第三行row vector
ans =
    31     2     7
>> A(3,:)=[]      //删除第三行row vector
A =
     1    21     6
     5    17     9
>> A(1,2)=77      //替换坐标为(1,2)的元素
A =
     1    77     6
     5    17     9
>> A=[1 2;3 4];   //矩阵的合并
>> B=[9 9;9 9];
>> F=[A B]        //水平方向
F =
     1     2     9     9
     3     4     9     9
>> clear F    
>> F=[A;B]        //垂直方向
F =
     1     2
     3     4
     9     9
     9     9

5、矩阵的运算(矩阵与矩阵、矩阵与元素)

>> A=[1 2 3;4 5 4;9 8 7];
>> B=[3 3 3;2 4 9;1 3 1];
>> Y1=A+B           //矩阵加法运算
Y1 =
     4     5     6
     6     9    13
    10    11     8
>> Y2=A*B           //矩阵乘法运算
Y2 =
    10    20    24
    26    44    61
    50    80   106
>> Y3=A.*B          //矩阵中的元素相乘
Y3 =
     3     6     9
     8    20    36
     9    24     7
>> a=2
a =
     2
>> X1=A+a              //每个元素+a
X1 =
     3     4     5
     6     7     6
    11    10     9
>> X2=A/a              //每个元素/a
X2 =
    0.5000    1.0000    1.5000
    2.0000    2.5000    2.0000
    4.5000    4.0000    3.5000
>> X3=A./a             //每个元素/a
X3 =
    0.5000    1.0000    1.5000
    2.0000    2.5000    2.0000
    4.5000    4.0000    3.5000
>> C=A'                //A的逆矩阵
C =
     1     4     9
     2     5     8
     3     4     7

6、定义特殊矩阵

>> eye(5)            //得到一个n × n的单位矩阵
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
>> zeros(1,2)     //得到一个n1*n2的全0矩阵
ans =
     0     0
>> ones(2,2)      //得到一个n1*n2的全1矩阵
ans =
     1     1
     1     1
>> diag([1 2 3 4])     //得到一个以向量vector中内容为对角线的对角矩阵
ans = 
     1     0     0     0
     0     2     0     0
     0     0     3     0
     0     0     0     4

7、操作矩阵的函数

>> A=[1 2 3;0 5 6;7 0 9]
A =
     1     2     3
     0     5     6
     7     0     9
>> max(A)                  //每一个column中的最大值
ans =
     7     5     9
>> max(max(A))            //对于一维数组来说 max函数是求整个数组的最大值
ans =
     9
>> sum(A)                 //每一列column的和
ans =
     8     7    18
>> mean(A)                //每一列column的平均
ans =
    2.6667    2.3333    6.0000
>> sort(A)                   //列向量column中从小到大排序
ans =
     0     0     3
     1     2     6
     7     5     9
>> sortrows(A)               //根据列向量的首位元素进行行row的排序 
ans =
     0     5     6
     1     2     3
     7     0     9
>> size(A)        //矩阵的尺寸n1*n2
ans =
     3     3
>> length(A)     //矩阵最大行数(dimension)
ans =
     3
>> find(A)      //整个矩阵的元素
ans =
     1
     3
     4
     5
     7
     8
     9
>> find(A==6)     //元素值为6的矩阵位置
ans =
     8

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值