MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply TodayTo resolve issues starting MATLAB on Mac OS X 10.10 (Yosemite) visit: http://www.mathworks.com/matlabcentral/answers/159016

Asked by Sivakumaran Chandrasekaran on 25 Mar 2013

how to resize a given signal? My input signals are y2=[ 1 9385];yh=[1 37508]; I need to find y2+y5.

Answer by Image Analyst on 27 Mar 2013

Edited by Image Analyst on 27 Mar 2013

You'll probably want to use either interp1() or imresize(). Both are illustrated in the demo below:

clc; clearvars; y2 = rand(1, 9385); y5 = rand(1, 37508);

% The easiest method, using imresize(). % Make y2 the same size as y5 y2Larger = imresize(y2, size(y5)); % Now sum them output = y2Larger + y5;

% Alternative method using interp1 x = linspace(1, length(y5), length(y2)); xi = 1:length(y5); y2Larger = interp1(x, y2, xi) % Now sum them output = y2Larger + y5;

Answer by Ahmed A. Selman on 27 Mar 2013

Use reshape

Y=function(X,m,n)

It works for any input matrix (X) with number of elements (m x n). The output is Y with m-rows by n-columns. The size of X and Y must be the same.

## 2 Comments

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/68500#comment_138672

What is y5?

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/68500#comment_138747

Do the signals occupy

exactlythe same time duration ?