Using while loop to analyze cell array
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Let's say I have a cell array that is 1x10000. The variable name given to the dataset is data.
So i want to be able to use a cell in the array, the cell before, and the cell after the center cell. so something along these lines:
cell before = n-1
cell after = n+1
So in the while loop I want to do some thing like this:
while n < length(data)
n = data;
before = n-1;
after = n+1;
eq = (abs(n - ((before+after)/2))/((before+after)/2))*100;
end
I dont believe this is entirely correct, any input on what needs to be changed?
0 commentaires
Réponse acceptée
per isakson
le 7 Juil 2012
Modifié(e) : per isakson
le 11 Juil 2012
Why a cell array of numeric data rather than a numeric array? Many questions are about removing loops. Why a while-loop?
This is more like the Matlab way:
N = 1000;
data = rand( N, 1 );
tmp = (data(1:end-2)+data(3:end))/2;
out = 100*abs( data(2:end-1) - tmp )./ tmp;
plot( out )
.
--- Another example ---
N = 100;
n = transpose( (1:N) );
data = sin( 2*pi*n/N );
before = [ nan; data( 1 : end-1 ) ];
after = [ data( 2 : end ); nan ];
plot( n, [ before, data, after ], '.' )
tmp = ( before + after ) / 2;
out = 100*abs( data - tmp )./ tmp; % eq is the name of a function
plot( n, data-tmp, '.' )
plot( n, out, '.' )
.
See "Evaluate Subsections of Files Using Code Cells" in the documentation and evaluate the cells one at a time.
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Operators and Elementary Operations dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!