matlab平均绝对误差代码
时间: 2023-10-26 17:08:47 浏览: 143
计算matlab平均绝对误差的代码如下:
function mae = calculate_mae(I,J)
%如果是I灰度图像只有二维,如果I是彩色图像将会有三维
dim = length(size(I));%保存的是I的维度
M = size(I,1);
N = size(I,2);
dif = abs(I - J);
if dim == 2
val = sum(sum(dif));
else
val = sum(sum(sum(dif)));
end
mae = val / (M*N);
end
其中,I表示原始图像,J表示恢复后的图像。函数首先判断I的维度,然后计算绝对误差的总和,最后除以像素点数得到平均绝对误差MAE。
相关问题
平均绝对误差matlab
平均绝对误差(MAE)是一种常用的误差指标,用于衡量预测值与真实值之间的平均差异程度。在MATLAB中,可以使用以下代码计算平均绝对误差:
```matlab
x = [真实值]; % 真实值向量
y = [预测值]; % 预测值向量
mae = mean(abs(y - x)); % 计算平均绝对误差
```
请注意,上述代码中的"真实值"和"预测值"分别替换为实际的真实值向量和预测值向量。计算结果将保存在变量"mae"中。
平均相对误差matlab代码
平均相对误差(Mean Absolute Error, MAE)的 MATLAB 代码如下:
```matlab
function mae = mean_absolute_error(actual, predicted)
% 计算平均相对误差(Mean Absolute Error, MAE)
% 确保输入的向量长度相同
assert(length(actual) == length(predicted), '输入向量长度不一致');
% 计算每个观测值的绝对误差
abs_error = abs(actual - predicted);
% 计算平均相对误差
mae = mean(abs_error ./ actual);
end
```
使用方法:
- `actual`:实际值向量
- `predicted`:预测值向量
例如:
```matlab
actual = [1.2, 2.4, 3.6, 4.8, 6.0];
predicted = [1.0, 2.0, 3.0, 4.0, 5.0];
mae = mean_absolute_error(actual, predicted);
disp(mae);
```
输出结果为:
```
0.1667
```
即平均相对误差为 16.67%。