由于经常使用MATLAB,在过程中会忘记一些使用方法,故用该篇博文记录下平常使用较少的函数,后续碰到不断更新。
**1.*碰到数据为‘[ ]’,使用isempty。
>> A=[];isempty(A)
ans =
logical
1
2.repmat。判断一个矩阵的某个元素与另一矩阵元素是否相等的利器,repmat是用来复制元素的。
A=[1 2];B=repmat(A,2,1)
B =
1 2
1 2
A为12,扩大21倍,最后的矩阵大小为(12)(21)=22。
3.eval。将字符变成命令。
比如你要载入一些数据,m1.mat,m2.mat等等一直到m100.mat
普通青年可能会这样写程序
load m1.mat
load m2.mat
然后一直写100行,这显然太笨了!但普通的for语句又无法完成
于是eval函数结合for语句就体现出其价值了
for i=1:100
eval(['load ’ num2str(i) ‘.mat’])
end
4.ismember。判断是否存在该元素,可以按行也可以按列。
A=[1 2 3];B=3;[a b]=ismember(B,A)
a =
logical
1
b =
3
A=[1 2 3;2 2 3];B=[1 2 3];[a b]=ismember(B,A,'row')
a =
logical
1
b =
1
读取 csv文件。CSV文件是类似于excel的文件,但是读取方法却不同 。
>> data=csvread('C:\Users\Desktop\train.csv',1,2)
1代表开始的行,2代表的是开始的列。
spline 插值计算
linespace.用于产生x1,x2之间的N点行矢量,平均产生。
X=linspace(5,100,20)
X =
列 1 至 13
5 10 15 20 25 30 35 40 45 50 55 60 65
列 14 至 20
70 75 80 85 90 95 100
X=linspace(2,100,20)
X =
列 1 至 7
2.0000 7.1579 12.3158 17.4737 22.6316 27.7895 32.9474
列 8 至 14
38.1053 43.2632 48.4211 53.5789 58.7368 63.8947 69.0526
列 15 至 20
74.2105 79.3684 84.5263 89.6842 94.8421 100.0000