VGRID: utility to help vectorize code
[siz,V,M,X1,X2,X3,...] = VGRID(v,x1,x2,x3,...) expands the inputs x1,x2,x3,... using meshgrid such that e.g. reshape(trapz(V,Xi),siz) is the same size as xi if xi is N-D. Use vgrid to help make your code more vectorized.
Input v is a vector. For each non-scalar xi, vgrid returns [Xi, M] = meshgrid(xi, v). Xi = xi for scalar xi.
Example: Numerically integrate the position of an object with various acceleration and starting velocity (without for loops).
time = 0:.1:3; % Seconds.
[v0,acceleration] = meshgrid(0:4,4:2:16); % Units: m/s and m/s^2.
[siz,timeVector,TimeGrid,V0,Acceleration] = VGRID(time,v0,acceleration);
velocity = V0 + Acceleration.*TimeGrid;
distance = trapz(timeVector,velocity);
distance = reshape(distance,siz);
surf(v0,acceleration,distance);
Cite As
Sky Sartorius (2024). VGRID: utility to help vectorize code (https://www.mathworks.com/matlabcentral/fileexchange/56529-vgrid-utility-to-help-vectorize-code), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxTags
Acknowledgements
Inspired by: Simpson's rule for numerical integration
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 |