示例:查找矢量的局部最小值/最大值
1. 使用条件语句和循环的组合编写程序,以查找数据集局部最小值:
函数 locmin 对输入矢量 v 进行扫描,并将每个元素与相邻的两个元素进行比较。如果元素 k 小于前一个元素和后一个元素,则其为局部最小值,并将其值和索引添加至输出矢量 m。
2. 在以上程序的基础上编写第二个程序,来查找相同数据集的最大值:
函数 locmax 使用在以 -v 调用 locmin 时获得的结果。-v 的局部最小值是同一索引下局部最大值的镜像。因此,局部最小值中的每个值都乘以 -1。索引-值对作为单个元素保存在输出矢量 M 中。
3. 定义使用内置函数
dbinom 的函数
f,其返回值
k 的概率密度:
4. 绘制以上两个函数:
5. 将 g(k,n) 的元素保存到数组中,以便可将其传递到已定义的程序中:
6. 使用内建的长度函数查看程序找到多少个 locmin 和 locmax 点:
7. 使用程序针对函数找到三个局部最小值点:
8. 使用程序针对函数找到两个局部最大值点:
9. 绘制函数,并显示三个局部最小值点和两个局部最大值点:
b. 使用内置函数获取局部最小值点和最大值点:
结果一致。