【入门学习】matlab-1

1,% 注释,快捷键ctrl+r ctrl+t

2,ctrl+enter 运行某个代码段

3,ctrl+alt+enter 插入分节符

4,特殊变量

5,format 格式

可以用命令行临时设置,也可以用预设永久设置

6,clc和clear的作用

clc % 清空命令行窗口

clear % 清空工作区

7,一些计算结果并不需要在命令行显示,那么我们可以在代码行的最后加上;

8,最基础的 MATLAB 数值

9,MATLAB 的乘号不能省略。

例如计算 sin(2π)时,我们要在 MATLAB 中输入 sin(2*pi),中间的乘号不能省略。

10,在对变量命名时,我们不要将变量命名为函数的名称,否则会导致调用函数时出错。

11,向量的创建方法

1,直接法

若元素之间用空格(可以有多个空格)、逗号分隔,则创建的是行向量;

若用分号、回车键分隔,则创建的是列向量。

a = [1 3 5]

a = [1,3,5]

b = [1;3;5]

2,冒号法(中间间隔是冒号,step表示步长)

A:step:B 来创建一个行向量。

若 step 等于 1,则可以直接简写成 A:B

1:0:2 空的 1×0 double 行向量 % 若 step = 0,则返回空的向量。

3,函数法

linspace 等差

linspace(a,b): a,第一个元素,b最后一个元素,总数100

linspace(a,b,n):a,第一个元素,b最后一个元素,n个元素

与冒号法相比,这里的b一定是最后一个元素。

冒号法的step 是一样的,b不一定是最后一个数

不指n默认是100

logspace 等比

logspace (a,b)创建一个行向量,其第一个元素为10^a,最后一个元素为10^b,形成总数为 50 个元素的等比数列向量。

logspace(a,b,n): 创建一个行向量,其第一个元素为10^a,最后一个元素为10^b,形成总数为 n 个元素的等比数列向量。

12,在 MATLAB 中,可以使用 length 函数或

numel 函数来计算向量中包含的元素个数。

在 MATLAB 中,向量的索引是从 1 开始的。

  1. 单个元素引用a(1)数组索引必须为正整数或逻辑值
  2. 多个元素引用a(ind)ind放置向量,向量写法可以直接法/冒号法/函数法

a(ind)写成 a(1:2:9) 直接将 a(ind)写成 a(1:2:9)

ind = [1 2 2 3 3 3],那么 a(ind)得到的结果应该是[2 4 4 8 8 8],以后熟悉的话可以直接写成 a([1 2 2 3 3 3])。

技巧:使用 end 索引 end 可以用来替代向量的最后一个索引

end不能作为公式赋值给变量,只能用在括号中的索引。

错误:ind = 2:end

正确:a(2:end)

end 运算符必须用在数组索引表达式中。

13,向量元素的修改和删除

a(1) = 4 % 第一个元素改成 4

a([1,3]) = [50 60] % 第 1 个位置元素改成 50;第 3

个位置元素改成 60

a(1:3) = [5 6] % 赋值时,左右两侧的元素个数要相

同,左边引用了 3 个位置,右侧的向量长度为 2

MATLAB 报错:无法执行赋值,因为左侧和右侧的

a(2:4) = 100 % 如果右边为常数,则将指定位置的

元素全部变成这个常数。[50 100 100 100 32 64 128 256 512 1024]

a(13) = 88 % 把索引为 13 的元素赋值为 88,如果

超过了最大索引,则会自动拓展向量的大小

% 索引 11 和 12 的位置会自动用 0 进行赋值

a(1) = [ ] % 删除 a 的第一个元素

14,矩阵的创建方法

1,直接法

a = [1 2 3; 4 5 6];

2,函数法

(1)zeros(n)可以创建一个 n 行 n 列全为 0 的矩阵;

(2)zeros(m,n)可以创建一个 m 行 n 列全为 0 的矩阵。

(1)ones(n)可以创建一个 n 行 n 列全为 0 的矩阵;

(2)ones(m,n)可以创建一个 m 行 n 列全为 0 的矩阵。

(1)eye(n)可以创建一个 n 行 n 列全为 0 的矩阵;

(2)eye(m,n)可以创建一个 m 行 n 列全为 0 的矩阵。

(1)rand(n)可以创建一个 n 行 n 列的随机数矩阵;

(2)rand(m,n)可以创建一个 m 行 n 列的随机数矩阵。

randi 函数用来创建均匀分布的随机整数,其最一般的用法为:randi([imin,imax],m,n),

该命令可创建一个 m 行 n 列的随机数矩阵,随机数矩阵中的每个元素都是从区间[imin,imax]

内随机抽取的整数。

  1. 如果imin等于1,那么可以简写为randi(imax,m,n);
  2. 如果m=n,可以写成randi([imin,imax],n) %随机数在imin~imax之间的n型方阵

randn 函数用来创建标准正态分布的随机数,其使用方法和 rand 函数类似:(1)randn(n)

可以创建一个 n 行 n 列的随机数矩阵;(2)randn(m,n)可以创建一个 m 行 n 列的随机数矩阵。

由 randn 函数创建的随机数矩阵的每个元素都随机取样自标准正态分布。

diag 函数可用来创建对角矩阵或者获取矩阵的对角元素

diag(v, k)

diag([1,2,3])

diag([1,2,3])

diag([1,2,3])

获取矩阵的对角元素

diag(A)

diag(A, -1)

blkdiag 函数可用来创建分块对角矩阵。

15,矩阵的引用

1)size(A)返回向量[3 4];如果让[r,c] = size(A),那么 r = 3,c = 4。

  1. size(A,dim) dim =1,表示返回的行的数量。dim=2,表示返回的列的数量
  2. length(A) 返回行列中的最大值,numel (A)返回元素的总个数
  3. :表示所有行或者所有列,看写在,前面还是后面

A(:, n) 表示矩阵 A 的第 n 列的所有元素。

A(m, :) 表示矩阵 A 的第 m 行的所有元素

,逗号用于划分行/列
:等同1:end 

  1. 可以用索引表示矩阵中的某个具体位置的索引号,具体是第一列开始往下算,到第二列。。。

sub2ind 将矩阵的下标转换为线性索引;

ind2sub 将线性索引转换为下标。

16,矩阵元素的修改和删除

  1. 使用直接赋值a(2,3)=10
  2. 第三行的每个元素全部变成100,a(3,:)=100
  3. 改变行类位置的值 a([],[])=[8,88;888,8888]

4)删除只能整行或者整列 a(1,:)=[] 删除第一行的所有元素

17,行拼接,列拼接

行拼接[a,b] [a b] horzcat(a,b) cat(2,a,b)

列拼接[a;b]

[a

b] vertzcat(a,b) cat(1,a,b)

堆叠

repmat(A,m,n) 对矩阵堆叠

repelemt(v,n)对向量v中的元素重复n次

repelemt(v,m,n)对向量v中的元素,行方向重复m,列方向重复n

18,矩阵的重构和重新排序

reshape 更改形状

rashape(A,m,n)或者rashape(A,[m,n]) 总数=m*n不能变,m或n有一个可以用[]代替

sort 重新排序

sort(v) 升序

[sort_v,ind] = sort(v) sort_v 重新排序后的向量,ind 对应重新排序后的向量的元素索引

sort(v,'descent')向量降序

sort(A,dim),向量排序,dim = 1,行方向升排序,2:列方向升排序

sortrows 基于列排序,其他列的数据会根据这一列跟过去,类似excel中的按某一列排序

sort_score2 = sortrows(score,1),1:第一列

sort_score2 = sortrows(score,[1,3]),1:第一列升序排序,如果第一列一样时,按第三列排序

如果需要降序,在最后加‘descent'

sort_score2 = sortrows(score,[1,3],‘descent')

flip/fliplr/flipud 翻转

flip(a) fliplr 翻转向量

flip(A,1) flipud(A)对矩阵上下翻转

flip(A,2)fliplr(A)对矩阵左右翻转

rot90 对矩阵旋转

rot90(A,n) 对矩阵A逆时针旋转n*90度

19,【思维导图,总结】

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值