Problem Expanding a Matrix

2 次查看(过去 30 天)
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!!

采纳的回答

Charles Martineau
Charles Martineau 2012-5-31
I figured out some other way
x = 0:4; y = [5 3 4 9 10]; >> xnew = 0:.1:4; ynew = interp1(x,y,xnew,'linear');

更多回答(3 个)

Walter Roberson
Walter Roberson 2012-5-31
NewV = interp1(1:length(V), V, V(1):.1:V(end));
  1 个评论
Charles Martineau
Charles Martineau 2012-5-31
Hi Walter,
Thanks for the help but why I am generating a vector of NaN NaN NaN NaN NaN....
I simply created a vector V (3X1) and I get this strange result.
Thanks!

请先登录,再进行评论。


Ryan
Ryan 2012-5-31
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 个评论
Ryan
Ryan 2012-5-31
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
Charles Martineau 2012-5-31
Hi Ryan,
THanks for help! I'll keep your answer in mind. The answer that I got came from StackOverflow

请先登录,再进行评论。


Ryan
Ryan 2012-6-1
that should read newelements(i,:) = [elements(i),intraday(i,:)];
it is the same as before, it just reshapes it at the end.

类别

Help CenterFile Exchange 中查找有关 Startup and Shutdown 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by