机器学习必备的计算机编程技巧(matlab、python)和总结——第二弹!!!

时间:2022-01-11 16:07:49

1、点击查看协方差矩阵是什么鬼! 还不懂? 看的解释更牛逼!

2、matlab 命令 

     axis(limits), set axis limits and appearance

            就是设置轴的,看个例子

            axis([0 2*pi -1.5 1.5])

            就是把x、y轴分别限定到0~2pi, -1.5~1.5

     mean 平均值命令

           mean(A) = 每列的平均值   if A 是一个矩阵或者数组

           mean(A, 2) = 每行的平均值   就是第二维度

     bsxfun       将函数作用于两个值(点我看bsxfun的作用)

     std function   计算标准差的

            std(X) = (xi - mean(X))^2/n   n是x的个数

     svd~命令   

            改变这个默认的设置,
            比如用[u,d,v]=svds(A,10)将得到最大的10个特征值及其对应的最大特征行向量和特征列向量,
            [u,d,v]=svds(A,10,0)将得到最小的10个特征值及其对应的特征行向量和特征列向量,
            [u,d,v]=svds(A,10,2)将得到与2最接近的10个特征值及其对应的特征行向量和特征列向量。
            总之,相比svd,svds的可定制性更强。

            还不懂?点我查看详细内容!


Matlab取整函数有: fix, floor, ceil, round.具体应用方法如下:
    fix朝零方向取整,如fix(-1.3)=-1; fix(1.3)=1;
    floor,顾名思义,就是地板,所以是取比它小的整数,即朝负无穷方向取整,如floor(-1.3)=-2; floor(1.3)=1;floor(-1.8)=-2,floor(1.8)=1
    ceil,与floor相反,它的意思是天花板,也就是取比它大的最小整数,即朝正无穷方向取整,如ceil(-1.3)=-1; ceil(1.3)=2;ceil(-1.8)=-1,ceil(1.8)=2
    round四舍五入到最近的整数,如round(-1.3)=-1;round(-1.52)=-2;round(1.3)=1;round(1.52)=2。

var 函数,var(X)返回X中的每一列,就是每一个特征的方差。

det(A)  求矩阵对应的行列式
rref(A) 将A化成阶梯状, 显然在A的特征值为0的情况下,阶梯状的最后一行全部为0

diag

       直接上例子

h>> D = diag(v)

D =

     2     0     0     0     0
     0     1     0     0     0
     0     0    -1     0     0
     0     0     0    -2     0
     0     0     0     0    -5

>> D1 = diag(v,1)

D1 =

     0     2     0     0     0     0
     0     0     1     0     0     0
     0     0     0    -1     0     0
     0     0     0     0    -2     0
     0     0     0     0     0    -5
     0     0     0     0     0     0

>> D1 = diag(v,2)

D1 =

     0     0     2     0     0     0     0
     0     0     0     1     0     0     0
     0     0     0     0    -1     0     0
     0     0     0     0     0    -2     0
     0     0     0     0     0     0    -5
     0     0     0     0     0     0     0
     0     0     0     0     0     0     0

isinf  array elements that are infinite


matlab图像处理之image和imagesc函数

        找了好久,就是这个介绍了

matlab 如何查看某段程序运行的时间

1、在待检测的程序块前面加上tic,结束处加上toc即可得到对应的运行时间;
2、开始时记录cputime为t1,运行结束后记录cputime为t2,那么对应的运行时间为t2-t1;

更详细的程序运行时间显示

norm 命令

n = norm(X, p)   %求p-范数,即 ,所以norm(X,2) = norm(X)。

命令 矩阵的范数

函数 norm

格式 n = norm(A)    %A为矩阵,求欧几里德范数 ,等于A的最大奇异值。

n = norm(A,1) %求A的列范数 ,等于A的列向量的1-范数的最大值。

n = norm(A,2) %求A的欧几里德范数 ,和norm(A)相同。机器学习必备的计算机编程技巧(matlab、python)和总结——第二弹!!!

n = norm(A,inf) %求行范数 ,等于A的行向量的1-范数的最大值

即:max(sum(abs(A')))。

n = norm(A, 'fro' ) %求矩阵A的Frobenius范数 ,
矩阵元p阶范数估计需要自己编程求,计算公式如下
举个例子吧
a=magic(3)
sum(sum(abs(a)^4))^(1/4)

a =

     8     1     6
     3     5     7
     4     9     2

ans =

   19.7411

fmincon function这里