Is there any other way than manually updating the noise parameter such that the algorithm re runs for every parameter and then plots the graph ?
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
kitty varghese
am 30 Nov. 2017
Kommentiert: Stephen23
am 12 Dez. 2017
I have the following code where the noise parameter changes in an interval of 0.01.I want to plot the graph without manually re-entering all the data.x axis will be 0.01-0.10 and y axis will be RMSE
V_test=imnoise(V_test,'gaussian', *0.01*);%changing 0.01 till 0.10
V_test = V_test - mean(V_test(:));
V_test = V_test / sqrt(mean(V_test(:).^2));
V_test = V_test + 0.25;
V_test = V_test * 0.25;
V_test = min(V_test,1);
V_test = max(V_test,0);
H_test=abs(randn(49,472)); %multiplicative step H_test = H_test.*(W_test'*V_test)./(W_test'*W_test*H_test + 1e-9); error=sum((V_test- W_test*H_test).^2)/(sum(V_test).^2); % Errors RMSE = sqrt(error);%store this value
2 Kommentare
Akzeptierte Antwort
Stephen23
am 30 Nov. 2017
Bearbeitet: Stephen23
am 12 Dez. 2017
Use a loop:
vec = 0.01:0.01:0.10; % or whatever step size you need.
out = nan(size(vec));
for k = 1:numel(vec)
V_test = imnoise(V_test,'gaussian', vec(k));
... the rest of your code
out(k) = sqrt(...);
end
2 Kommentare
Stephen23
am 12 Dez. 2017
@kitty Varghese: Why do you think that my answer needs : ? On each iteration you need to provide one value from vec, as my answer shows.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Graphics Performance finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!