MATLAB-学习笔记-2

在校学习数学建模,整理的matlab相关笔记,按照学校授课时间顺序发布相关内容,做这个的初衷是为了方便自己学习,所以有些地方以教材为主,大家不要见怪。
希望能在这里分享学习的一些知识碎片,接触时间不长,如果文章有任何错误,欢迎大家指正。
如果喜欢我的文章还请大家不吝动手给我点赞收藏关注哦,留下你来过的足迹,让我眼熟你。

目录

数组与矩阵

2.1 数组

2.1.1 数组的建立(创建)

2.1.2 数组元素的访问(位置)

2.1.3 数组的方向

2.1.4 数组的运算

2.2 矩阵

2.2.1 矩阵的建立

2.2.2 矩阵中元素的操作

2.2.3 矩阵的运算

1.3 MATLAB程序设计

1.3.1 关系和逻辑运算

复习上节知识,例题:计算函数f(x)=e^{2x}+sin(3x)+5在x = 1上的值

function f=fun(x)
f = exp(2*x)+sin(3*x)+5
>>x = 1,fun(x)
>>fun(1)
% 两种都可以,未加;时会输出两个12.5302

数组与矩阵

2.1 数组

2.1.1 数组的建立(创建)

4种方式建立简单数组

>>x = [1 2 3 4 5 6 7 18]
x = 1 2 3 4 5 6 7 18
>>y = 1:7
y = 1 2 3 4 5 6 7
>>z = 3:2:9
z = 3 5 7 9
% 3到5且间隔为2
>>v = [y z]
v = 1 2 3 4 5 6 7 3 5 7 9
>>u = linspace(2,9,11)
% 2和9之间的11个元素

2.1.2 数组元素的访问(位置)

1)访问一个元素 x(i)

>>x = [3 5 7 9]
x = 3 5 7 9
>>x(3)
ans = 7

2)访问一块元素 x(a:b:c)

>>x = [1 3 5 7 9]
x = 1 3 5 7 9
>>y = x(2:2:4)
y = 3  7
>>z = x(5:-2:1)
z = 9 5 1

3)直接使用元素编址序号 x([a b c d])

>>x = [1 3 5 7 9]
x = 1 3 5 7 9
>>x([2 4])
ans = 3 7

2.1.3 数组的方向

产生列向量有两种方法:直接产生和转置产生

>>c = [1;2;3;4]
c=1
  2
  3
  4
>>b = c'
b = 1 2 3 4

2.1.4 数组的运算

1) 标量-数组运算

每个元素对该标量施加相应运算

>>a = [1 2 3 4]
a = 1 2 3 4
>>c = 2
c = 2
>>a1 = a + c
a1 = 3 4 5 6
>>a2 = a*c
a2 = 2 4 6 8
>>a3 = a./c
a3 = 0.5 1 1.5 2
% 上除下 输出未加小数位
>>a4 = a.\c
a4 = 2 1 0.06667 0.5
% 左除 后在上 同上
>>a5 = a.^c
a5 = 1 4 9 16
>>a6 = c.^a
a6 = 2 4 8 16
 

2) 数组-数组运算

两个数组有相同维数时,可按元素对元素方式进行运算,不同大小或维数的数组不能进行运算

可编写脚本M文件,运行命令,如下:

a = [2 2 2];
b = [3 3 3];
c1 = a+b
c2 = a.*b
c3 = a./b
c4 = a.\b
c5 = a.^b

运行结果如下:

c1 = 5 5 5
c2 = 6 6 6
c3 = 0.6667 0.6667 0.6667
c4 = 1.5000 1.5000 1.5000
c5 = 8 8 8

2.2 矩阵

2.2.1 矩阵的建立

逗号或空格用于区分不同的行,除了分号,按return或enter键也表示输入新行

输入矩阵时,严格要求所有行有相同的列

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

特殊矩阵

  • a=[ ]                                            空矩阵
  • b=zeros(m,n)                              零矩阵
  • c=ones(m,n)                               元素全为1的矩阵
  • d=eye(m,n)                                 单位矩阵(和高代中有区别)
>>eye(2,3)
ans = 1 0 0
      0 1 0

若在括号只输入一个数字,输出方阵

2.2.2 矩阵中元素的操作

  1. 矩阵a的第r行        a(r,:)
  2. 矩阵a的第r列        a(:,r)
  3. 依次提取每一列,将a拉伸为一个列向量                a(:)
  4. 取a的第i1~i2行,第j1~j2列,构成新矩阵             a(i1:i2,j1:j2)
  5. 以逆序提取矩阵a的第i1~i2行,构成新矩阵          a(i2:-1:i1,:)
  6. 以逆序提取矩阵a的第j1~j2列,构成新矩阵          a(:,j2:-1:j1)
  7. 删除a的第i1~i2行,构成新矩阵                            a(i1:i2,:) = [ ]
  8. 删除a的第j1~j2列,构成新矩阵                            a(:,j1:j2) = [ ]
  9. 将矩阵a和b拼接成新矩阵                                      [ a b ] 或 [ a ; b ]
>>a = [1 2;3 4]
a = 1 2
    3 4
>>a(:)
ans = 1
      2
      3
      4

2.2.3 矩阵的运算

1)标量-矩阵运算

2)矩阵-矩阵运算

线性代数中所定义矩阵运算命令如下

  • 矩阵加法                                      a+b
  • 矩阵乘法                                      a*b
  • 方阵的行列式                               det(a)
  • 方阵的逆                                      inv(a)
  • 方阵的特征值和特征向量             [v d] = eig(a)

1.3 MATLAB程序设计

非0数值为真,输出为1;零当作假,输出为0

1.3.1 关系和逻辑运算

1) 关系操作符

>>1<2
ans = 1
>>2<=3
ans = 1
>>2>3
ans = 0
>>4>=5
ans = 0
>>5 == 5
ans = 1
>>5~=5
ans = 0

 2) 逻辑操作符

>> 1&0
ans = 0
>> 1|0
ans = 1
>>~0
ans = 1
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qqgg77

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值