向量表示方法
行向量
向量运算
一:加法
二:标量乘法
三:零向量
四:转置
五:内积(点积)
六:外积(叉乘)
七:导数
矩阵运算
-加法
-标量乘法
-矩阵乘法
-向量-矩阵乘积
-导数
-积分
-零矩阵
-单位矩阵
-矩阵行列式
-矩阵的逆
-转置
-迹
-秩
-矩阵伪逆
方阵函数
向量-矩阵运算
二次型
定的形式
正定
半正定
负定
半负定
范数
梯度运算
标量函数对向量的一阶偏导数
内积对向量的梯度
标量对向量的二阶偏导数
向量对向量的梯度
标量对矩阵的梯度
clear all;
close all;
N = 100;
x = 50 * ones(N,1); %被估计对象
sigma1 = 0.1;
sigma2 = 0.2;
v1 = sigma1 * randn(N,1);
v2 = sigma2 * randn(N,1);
z1 = x + v1;
z2 = x + v2;
w1 = sigma1^2/(sigma1^2 + sigma2^2);
w2 = sigma2^2/(sigma1^2 + sigma2^2);
x_est = w1 * z2 + w2 * z1;
x_est_ls_1 = [];
x_est_ls_2 = [];
sum_1 = 0;
sum_2 = 0;
for i = 1:N
sum_1 = sum_1 + z1(i);
sum_2 = sum_2 + z2(i);
est_1 = sum_1/i;
est_2 = (sum_1 + sum_2)/(2*i);
x_est_ls_1 = [x_est_ls_1;est_1];
x_est_ls_2 = [x_est_ls_2;est_2];
end
x_est_err = x_est-x;
x_est_ls_1_err = x_est_ls_1 - x;
x_est_ls_2_err = x_est_ls_2 - x;
plot(1:N,x_est_err,'k',1:N,x_est_ls_1_err,'k*-',1:N,x_est_ls_2_err,'ko-')
legend('最小方差估计误差','最小二乘估计误差(单测量)','最小二乘估计误差(双测量)');
xlabel('时间(s)');ylabel('速度误差(m/s)')```
clear all;
close all;
N = 100;
x = 50 * ones(N,1); %被估计对象
sigma1 = 0.1;
sigma2 = 0.2;
v1 = sigma1 * randn(N,1);
v2 = sigma2 * randn(N,1);
z1 = x + v1;
z2 = x + v2;
w1 = sigma1^2/(sigma1^2 + sigma2^2);
w2 = sigma2^2/(sigma1^2 + sigma2^2);
x_est = w1 * z2 + w2 * z1;
x_est_ls_1 = [];
x_est_ls_2 = [];
sum_1 = 0;
sum_2 = 0;
for i = 1:N
sum_1 = sum_1 + z1(i);
sum_2 = sum_2 + z2(i);
est_1 = sum_1/i;
est_2 = (sum_1 + sum_2)/(2*i);
x_est_ls_1 = [x_est_ls_1;est_1];
x_est_ls_2 = [x_est_ls_2;est_2];
end
x_est_ls_1_err = x_est_ls_1 - x;
x_est_ls_2_err = x_est_ls_2 - x;
figure(1)
plot(1:N,x_est,'r',1:N,x,'b*-',1:N,z1,'k',1:N, z2,'bo-');
legend('估计值','真值','测量值1','测量值2');
xlabel('时间(s)');ylabel('速度(m/s)')
figure(2)
plot(1:N,x_est-x,'r',1:N,v1,'b*-',1:N,v2,'ko-');
legend('估计误差','误差1','误差2');
xlabel('时间(s)');ylabel('速度误差(m/s)')
figure(3)
plot(1:N,x_est-x,'r',1:N,x_est_ls_1_err,'k*-',1:N,x_est_ls_2_err,'bo-')
legend('最小方差估计误差','最小二乘估计误差(单测量)','最小二乘估计误差(双测量)');
xlabel('时间(s)');ylabel('速度误差(m/s)')