我试图在MATLAB中计算第二类修改贝塞尔函数的对数,即类似的东西:
log(besselk(nu, Z))
Run Code Online (Sandbox Code Playgroud)
例如
nu = 750;
Z = 1;
Run Code Online (Sandbox Code Playgroud)
我有一个问题,因为价值log(besselk(nu, Z))变为无穷大,因为besselk(nu, Z)是无穷大.但是,log(besselk(nu, Z)) 确实应该很小.
我想写点像
f = double(sym('ln(besselk(double(nu), double(Z)))'));
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误:
在MuPAD命令中使用mupadmex时出错:DOUBLE无法将输入表达式转换为double数组.如果输入表达式包含符号变量,请改用VPA函数.
sym/double中的错误(第514行)Xstr = mupadmex('symobj :: double',Ss,0)`;
我怎样才能避免这个错误?