I can not return real values
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi I have the result of recursive function is saved in txt file , Below are the results of calling recursive fun. that each call divide the vector into two vectors. the problem is when the function divide the vector , give the new vectors the indices of values in original vectors not the same values.So, I lose the real numbers
for ex. this txtfile
*3 4 5 8 9 10
1 2 3
4 5 6
3
1 2
1 2
3 *
I want code by which can return these vectors
*cluster(1)=[3 4 5 8 9 10]
cluster(2)=[3 4 5]
cluster(3)=[8 9 10]
cluster(4)=[5]
cluster(5)=[3 4]
cluster(6)=[8 9]
cluster(7)=[10]*
thanks in advance
2 Kommentare
Image Analyst
am 14 Sep. 2012
Which one of the sets of values are "the results of calling recursive fun"??? All I see are the input, and the desired output, not the results of your recursive function.
Antworten (2)
Jürgen
am 14 Sep. 2012
I am not sure if I get it , is not so clearly explained but I would work with the length of the OriginalVector of size(OriginalVector,2) and divide it by two ( you will need to use ceil or fix if you have an odd length of course
so in pseudo code
Length= length(V)
HalfLenght=ceil(Length/2)
V1=V(1:HalfLength) V1=V(HalfLength+1:Length)
repeat this until length result is one
or am I mistaken ?
5 Kommentare
Jürgen
am 15 Sep. 2012
Maybe it is because it is the weekend that I am slow but to be sure I'll try to check if I understand it: in your txt file you have a list of numbers that you read into matlab en put in a vector:x=[3 4 5 8 9 10]; then you divide the vector in parts being: [3 4 5] & [8 9 10]&[5]&[3 4]&[8 9]&10
what do you want to do next? write to the txt?
Jürgen
am 15 Sep. 2012
Bearbeitet: Jürgen
am 15 Sep. 2012
I think this code does what you want or no what I think that you want :-) Of course much nicer if you make a function of it X=[3 4 5 8 9 10];
L=length(X);
NewL=ceil(L/2);
Xnew1=X(1:NewL);
Xnew2=X(NewL+1:L);
X=Xnew1;
L=length(X);
NewL=ceil(L/2);
Xnew1=X(1:NewL);
Xnew1=X(NewL+1:L);
X=Xnew2;
L=length(X);
NewL=ceil(L/2);
Xnew1=X(1:NewL);
Xnew1=X(NewL+1:L);
7 Kommentare
Siehe auch
Kategorien
Mehr zu Shifting and Sorting Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!