这段代码中如何生成两种算法的Rmse和MAE对比图 error1=mean(E1,2); error2=mean(E2,2); RMSE1=mean(rmse1); RMSE2=mean(rmse2); tab=[RMSE1;RMSE2]; Rmse=tab mae1=(sum(abs(error1),1))/L; mae2=(sum(abs(error2),1))/L; taba=[mae1,mae2]'; MAE=taba MSE=Rmse.^2
时间: 2023-12-09 20:04:29 浏览: 30
要生成两种算法的Rmse和MAE对比图,可以使用matlab中的bar函数和subplot函数。具体步骤如下:
1. 计算Rmse和MAE,然后将其存储到两个向量或矩阵中,分别代表两种算法。
```matlab
error1=mean(E1,2);
error2=mean(E2,2);
RMSE1=mean(rmse1);
RMSE2=mean(rmse2);
tab=[RMSE1;RMSE2];
Rmse=tab;
mae1=(sum(abs(error1),1))/L;
mae2=(sum(abs(error2),1))/L;
taba=[mae1,mae2]';
MAE=taba;
```
其中,E1和E2是两种算法的预测误差矩阵,rmse1和rmse2是两种算法的RMSE值,L是样本数量。
2. 使用subplot函数:在matlab命令窗口中输入以下代码,即可创建一个2行1列的子图。
```matlab
subplot(2,1,1)
```
3. 使用bar函数:在第一个子图中使用bar函数绘制第一种算法的Rmse和MAE对比图。
```matlab
bar(Rmse)
hold on
bar(MAE)
```
其中,Rmse和MAE是存储Rmse和MAE数据的向量或矩阵。
4. 添加标签:通过设置x轴和y轴标签,让第一个子图更加清晰易懂。
```matlab
xlabel('算法')
ylabel('数值')
```
5. 添加标题:通过设置第一个子图标题,让读者更快地了解第一个子图内容。
```matlab
title('第一种算法Rmse和MAE对比图')
```
6. 使用subplot函数:在第二个子图中使用bar函数绘制第二种算法的Rmse和MAE对比图。
```matlab
subplot(2,1,2)
bar(Rmse')
hold on
bar(MAE')
```
其中,Rmse'和MAE'是存储Rmse和MAE数据的向量或矩阵的转置,用于将算法名称显示在x轴上。
7. 添加标签:通过设置x轴和y轴标签,让第二个子图更加清晰易懂。
```matlab
xlabel('算法')
ylabel('数值')
```
8. 添加标题:通过设置第二个子图标题,让读者更快地了解第二个子图内容。
```matlab
title('第二种算法Rmse和MAE对比图')
```
这样,就可以生成两种算法的Rmse和MAE对比图了。