我有6个不同的传感器数据集,我想找出均方根误差,但限制信号的限制意味着sig_diff_lim的RMSE。有关在MATLAB中找到均方根误差的循环问题
我试图申请循环,但它不工作可以有人告诉我,我在哪里有错。
感谢您的期待。
clc
drv(1)=load('a.mat');
drv(2)=load('b.mat');
drv(3)=load('c.mat');
drv(4)=load('d.mat');
drv(5)=load('e.mat');
drv(6)=load('h.mat');
for i= 1:numel(drv)
t=drv(i).T;
ref=drv(i).P;
lws=drv(i).SWA;
sig_diff(i,:) =lws(i)-ref(i);
swvel_thres=10;
vehvel=30;
SAmax=90;
sig_diff_lim(i,:)=sig_diff((lws(i)<SAmax)&(lws(i)>-SAmax)&(swav(i)<swvel_thres)&(vel(i)>vehvel));
square_error(i,:) = (sig_diff_lim(i)).^2;
mse(i,:)= mean(square_error(i));
rmse(i,:) = sqrt(mse(i));
end
rmse
mse
究竟是什么错误? 'square_error'应为多大?它是6 * n矩阵还是6 * 1?什么输出是意外的? – Ash
非常感谢您的回复。请看上面的附图,实际上是我面对的维度问题,所以我很困惑我是否正确应用了矩阵维度的循环内的命令。 – Peter
并且Square错误应该是6 * 1,以便它为数据集1,2,3,4,5,6的每个数据集均值找到平方误差,然后在命令窗口中单独显示它们。 – Peter