matlab用fminbnd求最值的时,如何使得到的x为整数function f=fun(x)f=50*1.05.^x-50*exp(sqrt(x)/6);[x,fval]=fminbnd(@fun,1,15)如何使结果x为整数
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/30 02:13:57
![matlab用fminbnd求最值的时,如何使得到的x为整数function f=fun(x)f=50*1.05.^x-50*exp(sqrt(x)/6);[x,fval]=fminbnd(@fun,1,15)如何使结果x为整数](/uploads/image/z/3766562-26-2.jpg?t=matlab%E7%94%A8fminbnd%E6%B1%82%E6%9C%80%E5%80%BC%E7%9A%84%E6%97%B6%2C%E5%A6%82%E4%BD%95%E4%BD%BF%E5%BE%97%E5%88%B0%E7%9A%84x%E4%B8%BA%E6%95%B4%E6%95%B0function+f%3Dfun%28x%29f%3D50%2A1.05.%5Ex-50%2Aexp%28sqrt%28x%29%2F6%29%3B%5Bx%2Cfval%5D%3Dfminbnd%28%40fun%2C1%2C15%29%E5%A6%82%E4%BD%95%E4%BD%BF%E7%BB%93%E6%9E%9Cx%E4%B8%BA%E6%95%B4%E6%95%B0)
matlab用fminbnd求最值的时,如何使得到的x为整数function f=fun(x)f=50*1.05.^x-50*exp(sqrt(x)/6);[x,fval]=fminbnd(@fun,1,15)如何使结果x为整数
matlab用fminbnd求最值的时,如何使得到的x为整数
function f=fun(x)
f=50*1.05.^x-50*exp(sqrt(x)/6);
[x,fval]=fminbnd(@fun,1,15)
如何使结果x为整数
matlab用fminbnd求最值的时,如何使得到的x为整数function f=fun(x)f=50*1.05.^x-50*exp(sqrt(x)/6);[x,fval]=fminbnd(@fun,1,15)如何使结果x为整数
你是不是要在[1,15]上找f的最小值?如果要求x必须是整数的话建议直接穷举:
x = 1:15;
f=50*1.05.^x-50*exp(sqrt(x)/6);
[fmin,idx] = min(f);
xmin = x(idx);
则xmin是最小值点,fmin是最小值
是要找整数根么?
可以试试楼上建议的穷举法, 但这个函数明显没有整根啊
如果是要找最接近根的整数
fminbnd之后
x=round(x)