VGRID: utility to help vectorize code

VGRID helps vectorize code to handle n-d variables as inputs for e.g. trapz.
202 Downloads
Updated 13 Apr 2016

View License

[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
Created with R2016a
Compatible with any release
Platform Compatibility
Windows macOS Linux
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!
Version Published Release Notes
1.0.0.0