trying to create a new vector from 2 vectors.

9 vues (au cours des 30 derniers jours)
John
John le 23 Mar 2012
Hello,
I have a routine below that reads in an excel file. The vector y is created. It then computes r from a function and from that y1 is computed.
I then want to create a new vector y2. This vector will contain the first 3 elements of vector y and the last 3 elements of vector y. The elements in between will come from y1.
I am getting an error
??? Error using ==> horzcat
CAT arguments dimensions are not consistent..
but the vectors y and y1 are the same size and direction.
When I type y(1:3), y1(4:end-3), y(end-2:end) separately into the command line I get the elements that I am expecting and when you sum their lengths together it equals the length of y and y1.
Would anybody know what is going wrong?
Thank you
sch_cycle=xlsread('C:\Autonomie practice\RW.xls','Input_data');
nrows = size(sch_cycle,1)-1;
x = sch_cycle(:,1);
y = sch_cycle(:,2);
h=3;
N= size(sch_cycle,1);
r=ksr(x,y,h,N)
y1=r.f';
y2 = [y(1:3) y1(4:end-3) y(end-2:end)];

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 23 Mar 2012
y = y(:);
y1 = y1(:);
y2 = [y(1:3); y1(4:end-3); y(end-2:end)];

Plus de réponses (2)

Jonathan Sullivan
Jonathan Sullivan le 23 Mar 2012
You'll want to check the size of them. Sounds like one or more of your vectors are column vectors [Nx1]. You want to make sure they are all row vectors {1xN] if you are going to concatenate them horizontally. Either that, or use the vertical concatenation syntax as follows.
[a; b; c]

Wayne King
Wayne King le 23 Mar 2012
y is definitely a column vector, is y1 a row vector?
iscolumn(y)
isrow(y1)
If you do
y = y';
That should fix the problem.

Catégories

En savoir plus sur Use COM Objects in MATLAB dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by