フィルターのクリア

Using while loop to analyze cell array

4 ビュー (過去 30 日間)
Benjamin
Benjamin 2012 年 7 月 6 日
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?

採用された回答

per isakson
per isakson 2012 年 7 月 7 日
編集済み: per isakson 2012 年 7 月 11 日
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 件)

カテゴリ

Help Center および File ExchangeMultidimensional Arrays についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by