晚上刚上完课,朋友就发来消息询问,如何用MATLAB求取不同情况下的最小值


可以看出 EM 是一个由k 和p共同决定的二元函数,它是一个数学期望(这里省略了原题干,有兴趣的读者可在文章的末尾留言)
说实话,笔者并不熟悉 MATLAB 的相关操作,MATLAB 是一个商用的数学建模分析仿真软件,同时也是一门编程语言。但是求解这个最优化问题,我们完全可以用到我们在课堂上学到的 Python 知识.
程序在 Anaconda带的 dupyter notebook 中运行
def optimize(min_k,p):
EM_list = []
k_list = []
for k in range(min_k,min_k**2,1):
EM = 1 - k*(1-p)**k + k
EM_list.append(EM)
k_list.append(k)
min_value = min(EM_list)
index = EM_list.index(min_value)
best_k = k_list[index]
answer = [min_value, best_k]
return answer
optimize(10,0.0001)
运行的结果还

本文讲述了如何使用Python代替MATLAB解决一个涉及数学期望的最优化问题。通过代码展示了当单个事件概率变化时,所需检测次数的变化规律。
最低0.47元/天 解锁文章
643

被折叠的 条评论
为什么被折叠?



