필터 지우기
필터 지우기

trying to create a new vector from 2 vectors.

조회 수: 14 (최근 30일)
John
John 2012년 3월 23일
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)];

채택된 답변

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

추가 답변 (2개)

Jonathan Sullivan
Jonathan Sullivan 2012년 3월 23일
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 2012년 3월 23일
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.

카테고리

Help CenterFile Exchange에서 Matrices and Arrays에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by