停止matlabFunction运营商element-wise转换操作符

2视图(30天)
我如何停止matlabFunction转换运营商element-wise运营商形成一个函数处理从一个象征性的表达?例如mtimes和时间,或mpower和权力。
信谊x y;
跳频= matlabFunction (mpower (x, y))
跳频=function_handle与价值:
@ (x, y) x, y ^
尤其讨厌当想要使用这个函数处理类定义的算子,但不是element-wise操作符。例如,一个传递函数:
%这工作
特遣部队(“年代”)^ 3
ans = s ^ 3连续时间传递函数。
%,这并不
跳频(特遣部队(“年代”),3)
运营商”。^不支持操作数的类型万博1manbetx的特遣部队”。

错误在symengine > @ (x, y) x, y ^
这也成为一个问题使用“realp”和“genmat”类。我必须在类中定义element-wise运营商自己,但这肯定不能最优解决方案。

答案(1)

马特·J
马特·J 2021年10月5日
也许如下?
信谊x y;
str = func2str (matlabFunction (mpower (x, y)));
str (str = =“。”)=;
跳频= str2func (str)
跳频=function_handle与价值:
@ x ^ y (x, y)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!