Huge Execution Time Discrepancy with line() Command
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
The following code takes no more than 4 seconds to execute:
figure(statfig);
set(gcf,'Position',get(0,'ScreenSize').*[1 1 0.5 1]);
titlestr = [test ' - Statistics - ' num2str(rpmval) 'RPM - ' samplestr ' - ' upper(sensor)];
subplot(size(detdata,2),1,var);
plot(detdata(:,var)');
hold on;
% line([1:length(detdata)],avg_env_sample(var),'Color','r');
% line([1:length(detdata)],avg_env(var),'Color','g');
hold off;
% legend('Detrended Data','Envelope','Envelope Mean');
title([titlestr ' - ' varname]);
xlabel('Sample [n]');
ylabel([varname ' [g]']);
set(gcf,'Name',titlestr);
With the commented code uncommented, execution time goes up to two minutes. Similar code is executed 3 other times (without the line commands) without a problem.
Any suggestions?
3 Commenti
Risposta accettata
Rob Graessle
il 14 Gen 2012
Are you expecting each call to 'line' to draw 15999 lines or just one line? If it is the latter, try this instead:
line([1 length(detdata)],avg_env_sample(var),'Color','r');
line([1 length(detdata)],avg_env(var),'Color','g');
2 Commenti
Walter Roberson
il 14 Gen 2012
It appears to me that var is a scalar, as otherwise the subplot() would not work. Then in order to draw a horizontal line, the y coordinate would need to be duplicated:
line([1 length(detdata)],avg_env_sample([var var]),'Color','r');
line([1 length(detdata)],avg_env([var var]),'Color','g');
Più risposte (0)
Vedere anche
Categorie
Scopri di più su NaNs in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!