100 個のデータ値を含む 2 つの列ベクトル A、B があります。次のコードを使用して MSE (平均二乗誤差) をプロットするつもりですが、取得できるのは線プロットではなく単一のドットだけです。それについて行く方法を助けてください。
A=x(:,1);
B=y(:,1);
er=(double(A)-double(B)).^2;
row_er=mean(er,2); % variable changed
plot(row_er);
100 個のデータ値を含む 2 つの列ベクトル A、B があります。次のコードを使用して MSE (平均二乗誤差) をプロットするつもりですが、取得できるのは線プロットではなく単一のドットだけです。それについて行く方法を助けてください。
A=x(:,1);
B=y(:,1);
er=(double(A)-double(B)).^2;
row_er=mean(er,2); % variable changed
plot(row_er);
コマンド mean は、ベクトル (単純な値の 1 つ) の平均を返すことに注意してください。二乗誤差をプロットしたい場合は、単に plot((AB).^2) します。
しかし...たとえば、10サンプルの平均で平均二乗誤差をプロットすることに関心がある場合は、10ポイントのみのプロットになります(10データポイントごとに平均して1ポイントを与えるため、100 / 10)。
コマンドは次のようになります
plot(blkproc((AB).^2,[10,1],'mean'))
それが役に立てば幸い。
このスクリプトは正常に動作します。
A = randn(10, 1);
B = randn(10, 1);
er=(double(A)-double(B)).^2;
row_e=mean(er,2);
plot(row_e)
おそらくタイプミスです( row_er
)
row_e=mean(er,2);
plot(row_er);