Stop matlabFunction converting operators to element-wise operators
1 view (last 30 days)
Show older comments
How do I stop matlabFunction converting operators to element-wise operators when forming a function handle from a symbolic expression? For example with mtimes and times, or mpower and power.
syms x y;
fh = matlabFunction(mpower(x, y))
This is particularly annoying when wanting to use the function handle on classes which have the operator defined, but not the element-wise operator. For example, a transfer function:
% this works
tf('s')^3
% this does not
fh(tf('s'), 3)
This also has become a problem using the 'realp' and 'genmat' classes. I have had to define the element-wise operators in the classes myself, but surely this cannot be the optimal solution.
0 Comments
Answers (1)
Matt J
on 5 Oct 2021
Perhaps as follows?
syms x y;
str = func2str( matlabFunction(mpower(x, y)) );
str(str=='.')='';
fh=str2func(str)
0 Comments
See Also
Categories
Find more on Number Theory in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!