1)MATLAB中的取整问题
MATLAB中的小数取整有四个函数:
floor(), 取朝负无穷方向靠近的整数;
ceil(), 取朝正无穷方向靠近的整数;
round(), 取最近的整数(相当于四舍五入);
fix(), 取离0最近的整数。
Example:
A = [-2.0, -1.9, -1.55, -1.45, -1.1, 1.0, 1.1, 1.45, 1.55, 1.9, 2.0 ];
floor(A) = [-2, -2, -2, -2, -2, 1, 1, 1, 1, 1, 2];
ceil(A) = [-2, -1, -1, -1, -1, 1, 2, 2, 2, 2, 2];
round(A) = [-2, -2, -2, -1, -1, 1, 1, 1, 2, 2, 2];
fix(A) = [-2, -1, -1, -1, -1, 1, 1, 1, 1, 1, 2];
2)MATLAB中把一个变量保存成txt文件
dlmread(‘filename’); 读取文件名为filename的文件中的数据;
dlmwrite('filename', variablename, ' '); 就是将变量variable(一般为矩阵)写入文件名为filename的文件中,' '表示varibale中每行的元素之间用空格隔开,如果没有这个默认使
用','隔开。
3)MATLAB中删除矩阵的一行或者一列
a = eye(4);
a(4,:) = [];
4)MATLAB中产生均值和方差一定的随机数
mean = 0.6
var = 0.1
x = 0.6 + sqrt(0.1)*randn(2,3); 产生均值为mean,方差为0.1的随机数矩阵。
验证用mean2(x)求矩阵中所有元素的均值,std2(x)求矩阵中所有元素的标准差。
mu = [0.1 0.2];
sigma = [1 0; 0 1];
y = mvnrnd(mu,sigma,500); 从多变量正态分布中选取数据,产生500组均值为mu,协方差矩阵为sigma的随机数。