I can not return real values
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Image Analyst
el 14 de Sept. de 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.
Respuestas (2)
Jürgen
el 14 de Sept. de 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 comentarios
Jürgen
el 15 de Sept. de 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
el 15 de Sept. de 2012
Editada: Jürgen
el 15 de Sept. de 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 comentarios
Ver también
Categorías
Más información sobre Shifting and Sorting Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!