怎么调⽤matlab的函数表达式,如何从MATLAB中的符号表达
式创建函数?
你有⼏个选择……
选项#1:⾃动⽣成⼀个功能
>> syms x y
>> r = sqrt(x^2 + y^2);
>> ht = matlabFunction(sin(r)/r)
ht =
@(x,y)sin(sqrt(x.^2+y.^2)).*1./sqrt(x.^2+y.^2)
选项#2:⼿动⽣成功能matlab定义函数表达式
由于您已经编写了⼀组符号⽅程式,因此您可以简单地将部分代码剪切并粘贴到函数中.以下是您的上述⽰例:
function output = f(beta,n1,n2,m,aa)
u = sqrt(n2-beta.^2);
w = sqrt(beta.^2-n1);
a = tan(u)./w+tanh(w)./u;
b = tanh(u)./w;
output = (a+b).*cos(aa.*u+m.*pi)+(a-b).*sin(aa.*u+m.*pi);
end
调⽤此函数时,您必须输⼊beta和4常量的值,它将返回评估主表达式的结果.
注意:由于您还提到要查f的零,您可以尝试在符号⽅程中使⽤SOLVE函数:
zeroValues = solve(f,'beta');
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论