1.FMINUNC requires all values returned by functions to be of data type double。
问题描述:在使用[x,fval]=fminunc('dualGaussian',a0,opt);时报的错,我在dualGaussian函数中使用了积分,不可避免的用到字符声明syms x; 因此计算出的结果也是符号解!所以报错。
解决方法:(1)加上类型转换:double(int(y,x,l,u); (2)用eval计算数值结果:eval(int(y,x,l,u);
持续更新ing...
本文介绍在使用MATLAB的fminunc函数时遇到的一个常见错误:由于符号计算导致的数据类型不匹配问题。文中提供了两种解决方案:一是通过类型转换为double类型;二是使用eval函数计算数值结果。
1207





