MATLAB常用命令、函数与运算

MATLAB常用命令、函数与运算(自学笔记1)

笔者正在学习matlab的m函数,本文为学习笔记的其中之一。
本文主要介绍MATLAB中常用的命令、函数和运算。



命令

clear

clear函数用于清除base空间中的变量。

close

关闭窗口

close all    %删除所有句柄没有被隐藏的绘图窗口

clc

清除命令窗口中的数据,当命令窗口输入该函数后,窗口会清空。

pause

程序暂停指令,其用法如下

>> pause(0.3)    %程序暂停运行0.3>> pause    %程序暂停,点击任意按键继续

变量

变量可以是数组或矩阵。(单独的一个数字是一个1*1的矩阵)。
变量的声明和赋值比较简单,如下所示

>> a = 1    %声明
a =
   1
>> b = 2
b =
   2
>> b = a    %赋值
b =
   2
>> c = [1, 2, 3]    %1*3的矩阵
c =
   1    2    3
>> c1 = [1 2 3]    %1*3的矩阵
c1 =
    1    2    3
>> d = [1; 2; 3]    %3*1的矩阵
d =
   1
   2
   3
>> e = [1 2 3; 4 5 6; 7 8 9]    %3*3的矩阵
e =
   1    2    3
   4    5    6
   7    8    9

函数

floor

用于取小于该变量的最小整数。

>> a = 1.2
>> b = 1.9
>> floor(a)
ans =
     1
>> floor(b)
ans =
     1

round

四舍五入取整。

>> a=3.2456
a =
   3.2456
>> round(a)    %取整
ans =
     3
>> round(a,1)    %取整,保留小数点后1位
ans =
     3.2000
>> round(a,2)    %取整,保留小数点后2位
ans =
     3.2500

mean

求平均值函数,其使用方法如下

>> A = [1 2 3]    %1*3矩阵
A =
   1    2    3
>> mean(A)    %求平均值
ans =
     2

>> A = [1 2 3; 4 5 6]    %2*3矩阵
A =
   1    2    3
   4    5    6
>> mean(A)    %求平均值
ans =
     2.5000    3.5000    4.5000
>> mean(A,1)    %求列平均值
ans =
     2.5000    3.5000    4.5000
>> mean(A,2)    %求行平均值
ans =
     2
     5

find

查找元素的位置,使用示例如下

>> A = [0 1 2 3 4 3]    %1*4矩阵
A =
   0    1    2    3    4    3
>> find(A)    %查找1*4矩阵中非零元素的位置
ans =
     2    3    4    5    6
>> find(A>2)    %查找1*4矩阵中大于2的元素的位置
ans =
     4    5    6
>> find(A,2)    %查找1*4矩阵中非零元素的位置,并返回前2个的位置
ans =
     2    3
>> find(A,1,'first')    %查找1*4矩阵中非零元素的位置,并返回第1个的位置
ans =
     2
>> find(A>2,1,'last')    %查找1*4矩阵中大于2的元素的位置,并返回最后1个的位置
ans =
     6

>> A = [1 3 4 6 0; 0 2 0 3 4; 3 1 6 0 2]    %3*5矩阵
A =
     1     3     4     6     0
     0     2     0     3     4
     3     1     6     0     2
>> find(A)    %查找3*5矩阵中非零元素的位置
ans =
     1
     3
     4
     5
     6
     7
     9
    10
    11
    14
    15
>> [a1,a2] = find(A)    %返回非零元素所在的行和列
a1 =
     1
     3
     1
     2
     3
     1
     3
     1
     2
     2
     3
a2 =
     1
     1
     2
     2
     2
     3
     3
     4
     4
     5
     5
>> [a1,a2,v] = find(A)    %返回非零元素所在的行和列,并将元素保存到V中
                          %若括号中为判断语句(A>2),则将判断结果保存到V中
a1 =
     1
     3
     1
     2
     3
     1
     3
     1
     2
     2
     3
a2 =
     1
     1
     2
     2
     2
     3
     3
     4
     4
     5
     5
v =
     1
     3
     3
     2
     1
     4
     6
     6
     3
     4
     2

single()

该函数用于将矩阵转换为single类型。
double数据类型占8个字节,single类型占4个字节。使用single类型的矩阵运算时间是double类型的一半。

ones()

创建全部为 1 的数组。

语法

X = ones
X = ones(n)
X = ones(sz1,...,szN)
X = ones(sz)
X = ones(___,typename)
X = ones(___,'like',p)

说明

  • X = ones 返回标量 1。

  • X = ones(n) 返回一个 n×n 的全 1 矩阵。

  • X = ones(sz1,…,szN) 返回由 1 组成的 sz1×…×szN 数组,其中 sz1,…,szN 指示每个维度的大小。例如,ones(2,3) 返回由 1 组成的 2×3 数组。

  • X = ones(sz) 返回一个由 1 组成的数组,其中大小向量 sz 定义 size(X)。例如,ones([2,3]) 返回由 1 组成的 2×3 数组。

  • X = ones(___,typename) 在上述语法的基础上进一步指定 X 的数据类型(类)。例如,ones(5,‘int8’) 返回 8 位整数组成的 5×5 矩阵。

  • X = ones(___,‘like’,p) 指定 X 具有与数值变量 p 相同的数据类型、稀疏性和复/实性(实数或复数)。


算术运算

数组乘法 .*

示例:

>> a=1,b=2
a =
    1
b =
    2
>> a.*b
ans =
     2
>> a=[1 2 3],b=[2 3 4]
a =
    1  2  3
b =
    2  3  4
>> a.*b
ans =
     2  6  12

说明:数组乘法是两个矩阵中相同位置的元素相乘后,存放到结果相应的位置。

矩阵乘法 *

示例:

>> a=1,b=2
a =
    1
b =
    2
>> a*b
ans =
     2

>> a=[1;2;3];b=[1,3,5];
>> a*b
ans =
     1     3     5
     2     6    10
     3     9    15

>> a=[1 2 3; 2 3 4; 3 4 5]; b = [2 4 6; 3 4 5; 6 7 8];
>> a*b
ans =
    26    33    40
    37    48    59
    48    63    78

说明:A*B,要求A的列数等于B的行数。

‘(共轭转置)和.’(数组转置)

A’是复数矩阵A的线性代数转置,是复共轭转置。

>> A = [1 2 3; 4 5 6]    %2*3矩阵
A =
   1    2    3
   4    5    6
>> A'    %共轭转置
ans =
     1    4
     2    5
     3    6
>> A.'    %数组转置
ans =
     1    4
     2    5
     3    6
>> B = [1+i 2+2i 3+3i; 4+4i 5+5i 6+6i]    %2*3复数矩阵
B =
   1.0000 + 1.0000i    2.0000 + 2.0000i    3.0000 + 3.0000i
   4.0000 + 4.0000i    5.0000 + 5.0000i    6.0000 + 6.0000i
>> B'    %共轭转置
ans =
     1.0000 - 1.0000i    4.0000 - 4.0000i
     2.0000 - 2.0000i    5.0000 - 5.0000i
     3.0000 - 3.0000i    6.0000 - 6.0000i
>> B.'    %数组转置
ans =
     1.0000 + 1.0000i    4.0000 + 4.0000i
     2.0000 + 2.0000i    5.0000 + 5.0000i
     3.0000 + 3.0000i    6.0000 + 6.0000i

( : )

(:)是将矩阵转换为列向量(n1的矩阵)。
对于行向量(1
n的矩阵),相当于转置;
对于列向量,不会发生变化;

>> A = [1 2 3; 4 5 6]    %2*3矩阵
A =
   1    2    3
   4    5    6
>> A(:)    %转换
ans =
     1
     4
     2
     5
     3
     6

(m1:n1, m2:n2)

该运算符用于获取矩阵中m1到n1行、m2列到n2列的所有元素。

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

>> a(1:2,:)
ans =
     1     2     3
     4     5     6

>> a(:,2:3)
ans =
     2     3
     5     6
     8     9

>> a(1:2,2:3)
ans =
     2     3
     5     6
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值