matlab涉及基础知识

来源:互联网 发布:js invoke 方法 编辑:程序博客网 时间:2024/05/28 23:09

1.Matlab中的log函数在默认情况下是以e为底,即loge,如果需要计算以10为底的对数,那么需要用log10()函数。同理计算以2为底的对数需要用log2()

 >>log2(4)

 ans = 2

 >>log10(10)

 ans = 1

 >>log(10)

 ans = 2.3026

2.ones(size(x,1),1)表示生成一个行数与x一致,列数等于1且所有元素都是1的矩阵。

  • size(x,1)    获取矩阵x沿着第一个维度的长度,也就是获取x的行数

  • ones(m,n)    生成一个m行n列且所有元素都是1的矩阵

3.x=round(100-rand*(100-1))

rand:生成0-1之间的一个随机数; rand*(100-1):将这个随机数扩大99倍;

100-rand*(100-1):用100减去这个扩大99倍的随机数;

round(100-rand*(100-1)):对减后的结果四舍五入。

  其中涉及两个函数:  rand:生成随机数函数;  round:四舍五入函数。
  rand(a,b) :生成a行b列的0-1均匀分布的随机数矩阵
4.A(:,1) 是求矩阵的第一列       A(1,:)是求矩阵的第一行 
   sum(A,1) 对矩阵A按列求和   sum(A,2) 对矩阵A按行求和   sum(A(:)) 对整个矩阵求和
5.a = [6;6]  //生成列向量        a = [6,6]  //生成行向量
6.>> A = [1 3 2 5 4]
>> [B,p] = sort(A,'descend')     %则p中的元素即为B中对应元素在原序列中的位置
输出:
B =     5     4     3     2     1p =     4     5     2     3     1
7.cvx:
(1)expression 和variable的区别?
  当进入cvx_begin后,所有的expression和variable都为cvx类型,一个variable控制一个优化变量,不可以被赋值,重写。但expression是可以接受matlab的一般变量或者variable的赋值,甚至可以用来被放入minimize或者maximize。
(2)semidefinite 半正定 nonnegative 非负 scalar 标量
(3)
8./表示的是两个矩阵相除,也就是右乘分母矩阵的逆;
./表示的是两个矩阵对应元素相除;

比如a=[1,2,3],b=[4,5,6],则a/b=0.41,而a./b=[1/4,2/5,3/6];a/b表示的是a*b^-1,也就相当于是矩阵的除法,而a./b是对应元素相除。
9.power(2,3) //2的3次方
10.
原创粉丝点击