Problem Expanding a Matrix
Afficher commentaires plus anciens
Hi all,
How can I do the following:
Say that I start with a vector with the elements [5 3 4 9 10] - think of these numbers like daily stock prices. I want to transform this vector into (an approx.) of intraday stock prices - 1/10 of day.
Therefore my vector should look like [ 5 4.8 4.6 4.4 .4.2 4 3.8 3.6 3.4 3.2 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9 10]
THank you!!
Réponse acceptée
Plus de réponses (3)
Walter Roberson
le 31 Mai 2012
NewV = interp1(1:length(V), V, V(1):.1:V(end));
1 commentaire
Charles Martineau
le 31 Mai 2012
Ryan
le 31 Mai 2012
clear i j
elements = [5 3 4]; % Currently what you have
% Matrix containing intraday prices where each row corresponds to the intraday prices for each of the members of elements
intraday = [1 2 3 4 5 6 7 8;1 2 3 4 5 6 7 8;1 2 3 4 5 6 7 8];
j = length(elements);
for i = 1:j
newelements(i,:) = [elements(i),intraday(i,:)];
end
3 commentaires
Charles Martineau
le 31 Mai 2012
Ryan
le 31 Mai 2012
clear i j
elements = [5 3 4]; % Currently what you have
% Matrix containing intraday prices where each row corresponds to the intraday prices for each of the members of elements
intraday = [1 2 3 4 5 6 7 8;1 2 3 4 5 6 7 8;1 2 3 4 5 6 7 8];
j = length(elements);
for i = 1:j
newelements(i) = [elements(i),intraday(i,:)];
end
[r,c] = size(newelements);
newestelements = reshape(newelements,1,r*c);
I understand that you answered your own question, but I believe that should work. More round about than your approach though!
Charles Martineau
le 31 Mai 2012
Ryan
le 1 Juin 2012
0 votes
that should read newelements(i,:) = [elements(i),intraday(i,:)];
it is the same as before, it just reshapes it at the end.
Catégories
En savoir plus sur Operating on Diagonal Matrices dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!