bsxarg
无许可证
bsxarg returns the singleton expanded arrays that are virtually used in bsxfun. bsxarg is limited to a maximum of 12 dimensions. The MATLAB intrinsic function bsxfun performs binary operations on input arrays, where singleton dimensions are virtually expanded to perform the operation. bsxarg will actually do the singleton expansion and return the physically expanded arrays.
Building (one-time only):
>> mex -setup
(then follow instructions to select a C / C++ compiler of your choice)
>> mex bsxarg.c
Syntax
[C D] = bsxarg(A,B)
Description
C = the expanded version of A.
D = the expanded version of B.
Each dimension of A and B must either be equal to each other, or equal to 1. Whenever a dimension of A or B is singleton (equal to 1), the array is virtually replicated along the dimension to match the other array. The array may be diminished if the corresponding dimension of the other array is 0.
The size of the output arrays C and D are equal to:
max(size(A),size(B)).*(size(A)>0 & size(B)>0).
User's with older versions of MATLAB that do not have the MATLAB intrinsic bsxfun available to them can use this simple m-file to get that capability:
function C = bsxfun(fun,A,B)
if( nargin ~= 3 )
error('Need 3 arguments for bsxfun')
end
[AX BX] = bsxarg(A,B);
if( ischar(fun) )
C = eval([fun '(AX,BX)']);
else
C = fun(AX,BX);
end
return
end
引用格式
James Tursa (2024). bsxarg (https://www.mathworks.com/matlabcentral/fileexchange/18686-bsxarg), MATLAB Central File Exchange. 检索来源 .
MATLAB 版本兼容性
平台兼容性
Windows macOS Linux类别
标签
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!版本 | 已发布 | 发行说明 | |
---|---|---|---|
1.0.0.0 |