On Sun, Jun 12, 2016 at 10:25 PM, Doug Stewart <address@hidden
<mailto:address@hidden>> wrote:
On Sun, Jun 12, 2016 at 10:03 PM, Thomas D. Dean
<address@hidden <mailto:address@hidden>> wrote:
I want to vectorize this:
p1 = [1,2,3;4,5,6;7,8,9];
for idx=1:3
polyval(p1(idx,:),0)
endfor
cellfun("polyval",{p1},{[0;0;0]}); ## fails
arrayfun("polyval",p1,0 "UniformOutput",false)); ## wrong
arrayfun("polyval",p1,zeros(3,3), "UniformOutput",false); ## wrong
Tom Dean
_______________________________________________
Help-octave mailing list
address@hidden <mailto:address@hidden>
https://lists.gnu.org/mailman/listinfo/help-octave
does this help
p1 = [1,2,3;4,5,6;7,8,9];
t=[1 2 3]
f=@(t) polyval(p1(t,:),0)
arrayfun(f,t)
it works, but hardly faster than the loop on my computer.
>> p1=rand(1000);
>> tic; for idx=1:1000; polyval(p1(idx,:),0) ; endfor; toc
Elapsed time is 4.96287 seconds.
>> t=1:1000;
>> f=@(t) polyval(p1(t,:),0)
f =
@(t) polyval (p1 (t, :), 0)
>> tic; arrayfun(f,t); toc
Elapsed time is 4.82834 seconds.
Dmitri.
--