我有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