I want to plot RMSE from mat file but it gives error
2 次查看(过去 30 天)
显示 更早的评论
When I run the m file, it gives me he following error:
Operator '-' is not supported for operands of type 'cell'.
Error in RMSE_Plot (line 5)
MSE = mean((u-two).^2,2);
>>
0 个评论
采纳的回答
Star Strider
2024-7-13
One option is to use the cellfun function (keeping ‘two’ as a cell array). The other option is to use the cell2mat function to convert ‘two’ to a numeric array.
I use cellfun here —
clear;clc
LD = load('3sn_Varying.mat');
u = LD.u;
two = LD.two;
[m,n] = size(two);
MSE = cellfun(@(x)mean((u-x).^2,2), two);
RMSE = sqrt(MSE);
%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Arrange in descending order
%%%%%%%%%%%%%%%%%%%%%%%%%%%
MSE=sort(MSE,'descend');
RMSE=sort(RMSE,'descend');
bestRMSE=min(RMSE)
%%%%%%%%%%%%%%%%%%%%
% Plotting RMSE
%%%%%%%%%%%%%%%%%%%%
figure
x=1:m;
semilogy(x,RMSE,'linewidth',2);
xlabel('\bf Independent Runs')
ylabel('\bf RMSE')
title('\bf RMSE vs Runs');
.
2 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Spreadsheets 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!