目录
1.建立数组
1)建立向量 - 一维数组
2)建立矩阵 - 二维数组 行间用;分隔
矩阵运算 - (1)连接
2 table
1) table转数组date = datedate{:,:};
> tem2 = tem1{:,:};>> tem3 = table2array(tem1);
3 时间
4 Matlab 常用知识
matlab中波浪号~的作用和用法
5 函数列表
6.数学知识
7.Matlab 自定义类
matlab中的数组像java中的可变长数组(list等),可以不断的增加大小,减少大小
特别的数组 细胞数组cell array,每个cell中可以放任意类型的数据(矩阵,数组,字符,字符串)
1)可以不断的增加大小,减少大小
testerItem = zeros(4,6);
testerInfoSet = cell(1,106); 1*106 返回 106个 {0×0 double}
增加大小
testerInfoSet{1,107} = testerItem; 返回 106个 {0×0 double} 第107列为{4×6 double}
删除大小
testerInfoSet(107) = [] 删除1行107列的空间 返回 106个 {0×0 double}
testerInfoSet(:,106) = [] 删除106列
testerInfoSet(1,:) = [] 删除第1行
2)清空cell数组1行107列的内容
testerInfoSet{1,107} = [] 返回 106个 {0×0 double} 第107列为 {0×0 double}
3)cell数组的赋值与访问
testerInfoSet{1,107} = [1,2,3] 返回 106个 {0×0 double} 第107列为 {1×3 double}
testerInfoSet{1,107}
ans =
1 2 3
注意
通过小括号(),访问cell数组中的数据,返回的是对应的cell,返回格式是cell格式。
通过大括号{},访问cell数组中的数据,返回的是对应cell的内容,返回格式由内容本身决定,可以使数字或字符。
普通矩阵的删除
删除矩阵中的一行或一列
删除第四行
a( 4 , : ) = []
删除第5列
a(: , 5)=[]
a)列向量 用;分隔
c = [17; 28; 39; 60; 81]
c =
17
28
39
60
81
b)行向量 用,或者空格分隔
r = [1 18 19 21 41]
r =
1 18 19 21 41
c = [1:0.1:4] 初始化行向量
x = [1,2; 3,4;4,6 ]; <=> x = [1 2; 3 4;4 6 ];
x =
1 2
3 4
4 6
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]
引用数组中的一部分 (行,列) ,可以用a(:,[3,4])取值取得3,4列的数据
【,】单个删选
例子1:
a =
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
sa = a(2:3,2:4)
sa =
3 4 5
4 5 6
例子2:
v1 =a(:,3)
v1 =
3
4
5
6
zeros(5) 函数创建一个单位矩阵。
ones()函数创建一个所有元素为1的数组 -
eye()函数创建一个单位矩阵。
a = [1,2;2,3;5,6]
a =
1 2
2 3
5 6
b= ones(3,2)
b =
1 1
1 1
1 1
a)水平连接 用,
c =[a,b]
c =
1 2 1 1
2 3 1 1
5 6 1 1
垂直连接 用;
d = [a;b]
d =
1 2
2 3
5 6
1 1
1 1
1 1
(2)min和max
A =
1.7000 1.2000 1.5000
1.3000 1.6000 1.9900
1.7000 1.2000 1.5000
1.3000 1.6000 1.9900
M2 = max(A,[],2) 求每行最大值
M2 =
1.7000
1.9900
1.7000
1.9900
M = min(A,[],2) 求每行最小值
M =
1.2000
1.3000
1.2000
1.3000
矩阵转成行,列向量 https://blog.csdn.net/yushaopu/article/details/81138189
datedate table类型
两种方式等价
介绍在MATLAB中如何将表格转化为普通数组或者元胞数组
https://jingyan.baidu.com/article/6f2f55a172aefcb5b93e6cde.html
引用矩阵
[,]单个筛选 :,:全部选择
datedate{[1,3,50],[1,2]}
2018/10/18 2018/10/22
2018/8/23 2018/9/3
2016/4/8 2016/4/18
datetime时间的默认格式是 format long
'2014-05-26'表示为 26-May-2014
DateNumber
= datenum(t
) 将datetime转变为序列日期数
t到(January 0, 0000)的整天数和分数天数
format long
t = [datetime('now');datetime('tomorrow')]
t = 2x1 datetime array
24-Aug-2017 04:17:07
25-Aug-2017 00:00:00
DateNumber = datenum(t)
DateNumber =
1.0e+05 *
7.369311785639869
7.369320000000000
速度慢 ,将datetime转变为序列日期数DateNumber
= datenum(DateString
)
DateNumber
= datenum(DateString
,formatIn
) 速度快, 将datetime转变为序列日期数
DateString = {'09/16/2007';'05/14/1996';'11/29/2010'};
formatIn = 'mm/dd/yyyy';
datenum(DateString,formatIn)
ans =
733301
729159
734471
1.变量大小写敏感,与sql不同
2.global变量在多个 .m 文件中传递值
3.inf为无穷大量+∞,-inf为无穷小量-∞
MATLAB中,0为除数的运算,也不会终止程序的运行,而只给出一个“除0”警告,并将结果赋成inf,继续执行。
&与&&和||与|
A&B A|B
&,|既可以用于A与B是同类矩阵,也可以A与B都是标量;
&&,||只能用于A与B都是标量来运算,&&与||会短路
https://blog.csdn.net/jiejianmin2666/article/details/78148533
第一是非
第二是 获取返回值是,忽略部分输出参数
原文 https://blog.csdn.net/songyunli1111/article/details/78501250
matlab各种类型互相转换
https://blog.csdn.net/cckit/article/details/41500491
sum
S = sum(X) is the sum of the elements of the vector X. If X is a matrix,
S is a row vector with the sum over each column.
round
round(
将 X
)X
的每个元素四舍五入为最近的整数
Y = round(
四舍五入到 X
,N
)N
位数:
N > 0
:舍入到小数点右侧的第 N
位数。
N = 0
:四舍五入到最接近的整数。
N < 0
:舍入到小数点左侧的第 N
位数。
如Y = round(pi,6)代表保留pi的六位小数
find find(testtypeRows==j, 3,'first') 返回匹配到类型为j的前三个行index
find(testtypeRows==j, 1,'last') 返回匹配到类型为j的最后一个行index
R = unidrnd(N,m,n) 这里m和n分别指定生成的矩阵R的行数和列数。
R = unidrnd(N) 产生从1到N所指定的最大数数之间的离散均匀随机整数。这种调用方式将产生一个和N具有相同尺寸(行、列、维数)的矩阵R。
4.对数函数
1)自然数对数 log(x)
2)以2为底数的对数 log2(x)
3)以10为底数的对数 log10(x)
4)其他底数对数logM(N) 简单的中间变换,logM(N)=log(N)/log(M),用log10() 以及log2()都可以。
a4=log(64)/log(8) 回车,即以8为底64的对数为2。
https://zhidao.baidu.com/question/324932756.html
梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大。
梯度一词有时用于斜度。
斜度,也就是一个曲面沿着给定方向的倾斜程度。斜度 = 向量梯度和所研究的方向的点积 。
反函数y=f ^(-1)(x)的定义域、值域分别是函数y=f(x)的值域、定义域。最具有代表性的反函数就是对数函数与指数函数。
函数y=f(x)和反函数y=f ^(-1)(x)图像关于y=x对称;它们必须是单值函数
三角函数(sinx,cosx,tanx等)和反三角函数(arcsinx,arccosx,arctanx等)
双曲函数(双曲正弦函数sinh和双曲余弦函数cosh,双曲正切函数tanh等)与 反双曲函数(arsinh、arcosh、artanh等)
线性微分方程是指关于未知函数及其各阶导数都是一次方,否则称其为非线性微分方程
自然对数以常数e为底数的对数。
相似度,相关性,相关系数,介绍
https://blog.csdn.net/dzjun/article/details/78280621?utm_source=blogxgwz10
https://blog.csdn.net/lambsnow/article/details/79972145
https://blog.csdn.net/sinat_24143931/article/details/78798630
http://www.cnblogs.com/gentle-min-601/p/9785812.html 写的比较好
matlab 自定义类A的非静态方法可以放到@A文件夹中,然后可以组合到类A中;
静态方法放到@A中,调用A的静态方法不识别。