怎么调用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:手动生成功能

由于您已经编写了一组符号方程式,因此您可以简单地将部分代码剪切并粘贴到函数中.以下是您的上述示例:

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');