matlab学习-台大郭彦甫-class1

矩阵和数组

1 rand( x,y):

产生 x行y列的 0-1的随机数 , 矩阵

2 转置矩阵:

请使用单引号 (’): a’

3 元素级乘法(非矩阵乘法) .*

两矩阵对应位置元素相乘

4 标准矩阵乘法 *

5矩阵串联 Array concatenation

串联是连接数组以便形成更大数组的过程。实际上,第一个数组是通过将其各个元素串联起来而构成的。成对的方括号 [] 即为串联运算符。

A = [1 2 3;4 5 6;7 8 10]
A = [a,a]  或者A = [a a]

A = 3×6

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

使用逗号将彼此相邻的数组串联起来称为水平串联。每个数组必须具有相同的行数。同样,如果各数组具有相同的列数,则可以使用分号垂直串联。

A = [a; a]
A = 6×3

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

6 复数

复数包含实部和虚部,虚数单位是 -1 的平方根。

sqrt(-1)

ans = 0.0000 + 1.0000i
要表示复数的虚部,请使用 i 或 j。

c = [3+4i, 4+3j; -i, 10j]

c = 2×2 complex

3.0000 + 4.0000i 4.0000 + 3.0000i
0.0000 - 1.0000i 0.0000 +10.0000i

7 数组索引

要访问数组的选定元素,请使用索引。
A = 4×4

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

引用数组中的特定元素有两种方法。最常见的方法是指定行和列下标,例如

A(4,2)

ans = 14
另一种方法不太常用,但有时非常有用,即使用单一下标按顺序向下遍历每一列:

A(8)

ans = 14
使用单一下标引用数组中特定元素的方法称为线性索引。

如果尝试在赋值语句右侧引用数组外部元素,MATLAB 会引发错误。

test = A(4,5)
Index exceeds matrix dimensions.

不过,您可以在赋值语句左侧指定当前维外部的元素。数组大小会增大以便容纳新元素。

A(4,5) = 17
A = 4×5

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

总体分为两个大方法

method1.2   A( [1 3 5] )    
[1 31 17]
method1.3   A( [1 3 ;1 3] )    
A=2×2
	1     31
	1     31
method2.2   A( [1 3 ,1 3] )    
A=2×2
	1       6
	31     7

8 冒号运算符 Colon Operator

使用 冒号 来指定一个 start:end的范围
1、A(1:2, 2:3) 表示矩阵A的1到2行,2到3列的元素
单独的冒号无 start值与end值 则指定为 该维度的所有元素

2、A(1:2, :) 表示1到2行的所有列
例如 delete row or columns of array

删除矩阵A1的 12行的所有列
A(1:2, :) = [] 

3、 冒号运算符还允许使用格式
start:step:end 创建等距向量值 (step 步长),如果省略中间的步骤(如 start:end 中),MATLAB 会使用默认步长值 1。
B = 0:10:100

B = 1×11

     0    10    20    30    40    50    60    70    80    90   100

多种用法:如下图在这里插入图片描述

7 matlab 变量区分大小写

8 who和whos 指令

who 显示变量
whos 显示所有变量 以及他们的大小、类型等

9 注意不要使用keyword

不会报错, 会让程序混乱
例如

 cos = 'this string';
 cos(3)
结果:
ans = s

如果用了 记得用clear 去清除, 单独clear 是将工作区内所有变量清除

clear cos

10 format

设置命令行窗口输出显示格式
有很多形式
例如 format rat 结果表达为分式

>> 5/3

ans =

1.6667
>> format rat
>> 5/3

ans =

   5/3     

11 矩阵运算 Array Manipulation

+
-
*
/   A/B ≈ A/inv(B)
^
.*  点乘   ./ 点除   .^ 每个元素取次方
'  转置

12 Some Special Matrix

在这里插入图片描述

13 Some Matrix related function

在这里插入图片描述
sort(A) :对每一个Column按照从大到小排序
sortrows(A) : 对第一个column排序且捆绑row
sortrows(A, 2) : 对第2个column排序且捆绑row
size(A) : 每个dimension是多少
length(A) : Vector(向量只有一个维度)的长度
find(A==6) : 返回矩阵中元素值为5 的位置 此处位置为 8

A =

     1     2     3
     0     5     6
     7     0     9

>> sort(A)

ans =

     0     0     3
     1     2     6
     7     5     9

>> sortrows(A)

ans =

     0     5     6
     1     2     3
     7     0     9
     
>> sortrows(A,2)

ans =

     7     0     9
     1     2     3
     0     5     6

>> size(A)

ans =

     3     3

>> length(A)

ans =

     3
>> A(1,:)=[]

A =

     0     5     6
     7     0     9

>> size(A)

ans =

     2     3

>> length(A)

ans =

     3

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值