Cycle of operations on vector sections

조회 수: 2(최근 30일)
Lev Mihailov
Lev Mihailov 2022년 4월 4일
댓글: Lev Mihailov 2022년 4월 4일
I'm trying to make a cycle that would process a section of the vector and return this section to me changed
x=rand(1,2302)
y=rand(1,2302)
step=100;
for i=1:size(x,2)
i1=y(i:i+step);
i2=x(i:i+step);
a(i)=myfun(i1,i2);
end
%% for example my function
function [m,s] = myfun(x,y)
n = length(x);
m = x-0.26;
s= y-0.77
end
thank you in advance
  댓글 수: 2
Lev Mihailov
Lev Mihailov 2022년 4월 4일
@Davide Masiello I added an example function

댓글을 달려면 로그인하십시오.

채택된 답변

Davide Masiello
Davide Masiello 2022년 4월 4일
The problem is myfun spits out two vectors of size 1 x step+1.
You could assign this vectors to the rows of a new matrix (see a and b in the example below) .
x = rand(1,2302);
y = rand(1,2302);
step = 100;
for i = 1:size(x,2)-step
i1 = y(i:i+step);
i2 = x(i:i+step);
[a(i,:),b(i,:)] = myfun(i1,i2);
end
function [m,s] = myfun(x,y)
n = length(x); % <--- not needed
m = x-0.26;
s= y-0.77;
end
  댓글 수: 3
Lev Mihailov
Lev Mihailov 2022년 4월 4일
@Davide Masiello just now I noticed this, and my function returns me the same vector (but changed), but why is it a matrix and not a vector?

댓글을 달려면 로그인하십시오.

추가 답변(0개)

태그

제품

Community Treasure Hunt

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

Start Hunting!

Translated by