How to create vector after import data from .xls using for loops?
5 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
First I using command xlsread to import some data from excel and got vector row (or column it's never mind), then I try to create new matrix using for loops and if command, but I have problem, because I don't know how to do that... :)
Example: I import this
x=[1 5 3 7 10 10 10 15 4 8 3 5 11 19 10 10 10]
I want to create something like this:
a=[1 5 3 7] and b=[15 4 8 3 5 11 19]
,and new x=[mean(a) mean(b)]
It's necessary to use loops because every excel file that I import have different number of cell, for example: data from new excel is
x1=[1 2 3 10 10 10 4 5 6 7 8 9 11 12 13 10 10 10]
That the reason why I need block of code. Number 10 that is repeated is area that separate group of number, and I wanna to use that condition to create new vectors.
Thanks for your help.
3 Commenti
Risposta accettata
Più risposte (1)
Image Analyst
il 19 Dic 2012
This is trivial if you have the Image Processing Toolbox - it's one line:
segments = regionprops(x1~=10, x1, 'PixelList', 'MeanIntensity'); % Get all your a's, b's, etc.
The above line will get you all the segments (all their values into individual arrays), and the mean values of all the arrays.
Question - is it always 10 that is the "dividing" zone between segments? Or is it any number that repeats?
4 Commenti
Image Analyst
il 21 Dic 2012
By all over the place I meant that the 10 or 100 or whatever can appear in stretches of any length in any position. It's not like you can just assume that each stretch of 100 occurs every 6th element throughout the array. If it did occur with such predictable periodicity you can just use normal, good old indexing to extract out the subarrays. However since your 100's occur at elements 6, 15, 27, etc. in random locations, that's what requires you to use regionprops which can handle that kind of data. The code is the same as I first gave you:
separationNumber = 100; % or 10 or whatever you want.
segments = regionprops(x1 ~= separationNumber , x1, 'PixelList', 'MeanIntensity');
Vedere anche
Categorie
Scopri di più su Loops and Conditional Statements 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!