필터 지우기
필터 지우기

Use of arrayfun but with passing a fixed variable to function handle?

조회 수: 2 (최근 30일)
Hi!
I hope someone can help me with this.
The first column of my matrix contains start indices and the second stop indices that should be used to read out a segment from another vector.
From that segment some calculations are done returning a scalar, that should be stored in a third column.
This code shows the idea. WIth spikeTimes is the external vector providing the segments.
For sure it's not working, since spikeTimes is a kind of fixed variable whith another size.
matrix(:,1) = start_temp;
matrix(:,2) = stop_temp;
f = @computeS;
matrix(:,3) = arrayfun(f,start_temp,stop_temp, spikeTimes);
function thresh = computeS(a,b,spikeTimes)
thresh = max(diff(spikeTimes(a:b)));
end
And it was just an idea,I'm happy about any thoughts about a proper solution. Maybe the best is simply running a loop?
Thank you in advance, I appreciate any hints!
Eva
  댓글 수: 1
Eva-Maria Weiss
Eva-Maria Weiss 2020년 5월 25일
Meanwhile I found something in the provided answers here using argument binding:
Thanks to Guillaume for that solution!!!!!
I'm still open for other ideas and thoughts!

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

채택된 답변

James Tursa
James Tursa 2020년 5월 25일
matrix(:,3) = arrayfun(@(a,b)max(diff(spikeTimes(a:b))),start_temp,stop_temp);

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Data Type Identification에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by