20200714 | Matlab中向量的交集、并集、差集等集合运算 |
//Oct 25, 2018/
1)
格式化输出例如sprintf fprintf num2str中,
表示浮点数的输出
%f显示小数形式
%e显示科学计数法形式
%g是两者的综合,会根据数据选择适当的显示方式
2)
判断一个矩阵是否病态?
直接用:
cond(A),其返回值就是A 矩阵 的条件数,当条件数大于10^3时,则认为该方程是病态的。
3)
函数feof(fid) 用法:文件指针 fid 到达文件末尾时返回“真”值;否则返回“假”;
~feof 是在 feof 前加了“非”,是逻辑表达式:文件指针到达文件末尾时 该表达式值为“假”;否则为“真”;
while ~feof 表示 若 未读到文件末尾 则 继续 循环
while feof 表示 若 未读到文件末尾 则 终止 循环,所以只循环一次就终止
4)
matlab中reshape函数的用法
1.就是变换成特定维数的矩阵
2.是按照列的顺序进行转换的,也就是第一列读完,读第二列,下面请看具体例子:
A =
1 4 7 10
2 5 8 11
3 6 9 12
B = reshape(A,2,6)
B =
1 3 5 7 9 11
2 4 6 8 10 12
B = reshape(A,2,[])
B =
1 3 5 7 9 11
2 4 6 8 10 12
5)
“fread”以二进制形式,从文件读出数据。
语法1:[a,count]=fread(fid,size,precision)
语法2:[a,count]=fread(fid,size,precision,skip)
A:返回文件的读取结果
Count:所有读取成功的数据的个数
size: 不指定 :到尾返回读。
N : 读出N个数据,构成列向量。
inf : 读出fid指向的打开的文件的全部数据。
[M,N] : 读出N个数据,构成列向量,填入M*N矩阵
precision(精度)
6)
要重新读取文件的第一行,请使用 frewind 函数重置位置指针,然后执行读取操作
7)
isempty(msg) 判断msg是否为空,如果为空,结果为1,否则为0.
~isempty(msg) 表示将 isempty(msg) 的结果取反,也就是说如果msg为空,结果为0,否则为1.
8)
findstr(S1,S2):寻找是否有S1和S2之间的匹配,真返回1,假返回0
//Oct 28, 2018/
1)求矩阵的特征值和特征向量——eig函数
2)
//Oct 30, 2018/
1)inv()和pinv()
对于方阵A,如果为非奇异方阵,则存在逆矩阵inv(A)
对于奇异矩阵或者非方阵,并不存在逆矩阵,但可以使用pinv(A)求其伪逆;
对于非奇异且不接近奇异的方阵两个命令输出结果相同,但是对于接近奇异的矩阵使用两个命令结果则不同。
//Nov 05, 2018/
(1)Matlab 归一化函数premnmx:
函数目的是把数据处理成[-1,1]之间
标准函数: [pn,minp,maxp,tn,mint,maxt] = premnmx(p,t)是对P和T分别按照行进行归一化处理。
其中:pn:p的归一化结果,minp: p的每行的最小值,maxp: p的每行的最大值
tn: t矩阵的归一化结果,mint: t矩阵的最小值,maxt: t矩阵的最大值
举例分析:[pn,minp,maxp,tn,mint,maxt]=premnmx([2,4,3,5;4,2,1,6],[5,2,3,8])
P为2行4列数据,对每行分别进行归一化,pn结果是:
pn =
-1.0000 0.3333 -0.3333 1.0000
0.2000 -0.6000 -1.0000 1.0000
minp =
2
1
maxp =
5
6
t为1行4列的数据,对其归一化结果为 tn:
tn =0 -1.0000 -0.6667 1.0000
mint =2
maxt=8
---------------------
原文:https://blog.csdn.net/liyanzhong/article/details/53610176
(2)
%让每次生成的随机数都一样(比如为了调试或对比),需要用 rng 控制。否则一般用不上 rng 这个函数
rng('default');