Efficient operation on individual matrix rows
显示 更早的评论
Hello,
I'm searching for a way to apply the Jacobian function to each row of a matrix. Essentially I need to access each row of a matrix and apply a function. I could use a "for loop" which is quite slow:
for i=1:size(a,1)
tmp = jacobian(a(i,:),b);
result=cat(1,result,tmp);
end
I also found this solution:
function dNdv = matjacobian(N,v)
rz = arrayfun(@(ii)jacobian(N(ii,:),v),(1:numel(N(:,1))).','un',0);
dNdv = cat(1,rz{:});
end
The second solution is faster but I'm wondering if there is a more efficient way. Or even a way to apply the jacobian to a multi row matrix.
Thanks in advance,
Chris
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!