首页 > 其他分享 >5.1

5.1

时间:2024-06-19 18:21:00浏览次数:14  
标签:5.1 0.618 golds tol goldenRatio xmin ymin

题目;

上机实验一:黄金分割法(0.618法)程序设计

 

 

1、基本要求

通过一维寻优黄金分割法的程序设计,培养学生计算机的应用能力,并为今后无约束优化方法的学习和编程,奠定基础;掌握缩小寻优区间的黄金分割法。

2、主要内容

(1)请用0.618法求解优化问题:

 

的极小点和极小值(进退法确定初始区间),精度为10-6

(2)根据0.618法算法步骤编写Matlab的程序实现0.618搜索法;

(3)要求输出内容包括:极小点、极小值、每次迭代的abalak的值;

(4)按照模板撰写实验报告,要求规范整洁。

3、操作要点

(1)学习MATLAB基础编程知识;

(2)认真学习0.618法算法步骤,编写MATLAB程序golds函数;

(3)调用golds函数,输入题目参数;

(4)撰写实验报告。

4、主要仪器设备

微机及Matlab软件。

 代码:

function [xmin, ymin] = golds(f, a, b, tol)

    goldenRatio = (sqrt(5) - 1) / 2;

    if f(a) > f(b) % È·±£a´¦º¯ÊýֵСÓÚb´¦£¬±ãÓÚºóÐøÅжÏ

        temp = a;

        a = b;

        b = temp;

    end

    c = b - goldenRatio * (b - a);

    d = a + goldenRatio * (b - a);

    while abs(b - a) > tol

        if f(c) < f(d)

            b = d;

            d = c;

            c = b - goldenRatio * (b - a);

        else

            a = c;

            c = d;

            d = a + goldenRatio * (b - a);

        end

    end

    xmin = (a + b) / 2;

    ymin = f(xmin);

end

 

3. 结果

>> f = @(x) x^2 - 4*x + 3; % 定义目标函数

a = -10; b = 10; % 初始搜索区间

tol = 1e-6; % 精度要求

[xmin, ymin] = golds(f, a, b, tol);

fprintf('极小点 = %f, 极小值 = %f\n', xmin, ymin);

极小点 = 2.000000, 极小值 = -1.000000

标签:5.1,0.618,golds,tol,goldenRatio,xmin,ymin
From: https://www.cnblogs.com/szm123/p/18256999

相关文章

  • DHorse v1.5.1 发布,基于 k8s 的发布平台
    版本说明新增特性支持k8s的v1.30.x版本;优化特性优化回滚功能;修复注册来源的回滚问题;新增和修改应用时校验应用名;升级kubernetes-client至v6.13.0;调整部署明细表头展示;升级指南升级指南DHorse介绍DHorse是一个轻量级、简单易用的云应用管理平台,具有多云和多环境管......
  • vm17Pro17.5.1安装操作系统
    vm17Pro17.5.1安装操作系统前言一、windows1.DVD安装1.1[操作系统下载]1.2操作系统版本1.3[windows虚拟机创建]1.4操作系统安装1.4.1虚拟机设置1.4.2客户机启动1.4.3安装设置1.4.4磁盘设置1.4.5区域设置1.4.6键盘布局1.4.7账户设置1.4.8历史及隐私设置1.4......
  • 2023年全球精氨酸市场规模为565.13百万美元
    研究对象:精氨酸行业精氨酸(Arginine),是氨基酸类化合物。在人体内参与鸟氨酸循环,促进尿素的形成,使人体内产生的氨经鸟氨酸循环转变成无毒的尿素,由尿液排出,从而降低血氨浓度。有较高浓度的氢离子,有助于纠正肝性脑病时的酸碱平衡。与组氨酸,赖氨酸共同为碱性氨基酸。精氨酸广泛应用......
  • 5.18博客
    上午数据库下午计网要是工程数学老师有数据库老师的松弛感就好了学习内容:安卓<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="match_parent"  android:layout_height="50dp"  android:background="#aaa......
  • 5.14博客
    学习内容:安卓<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"  xmlns:tools="http://schemas.android.com/tools"  android:layout_width="match_parent"  android:layout_height="wrap_content"......
  • 5.13博客
    看看日历又是周一,本来都起床了感觉尸体有点不舒服,再躺会吧学习内容:安卓<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:orientation="......
  • 5.17博客
    排球课比赛快完了,目前为止一场没输过,我感觉这跟我课脱不了关系学习内容:spring-boot注册条件安卓:<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"  xmlns:tools="http://schemas.android.com/tools"  android:id="@+id/ll_item"  an......
  • 5.15
    今日总结今天继续进行python实验,学习Python中的列表、元组、字典、集合、字符串等之间异同列表(List): 用途:存储有序、可变的数据集合。表示:方括号[]。例子:[1,2,3]。 元组(Tuple): 用途:存储有序、不可变的数据集合。表示:圆括号()。例子:(1,2,3)。 字典(Dictionary): 用途:存储键值......
  • 5.17
    今日总结今天上数据库原理,实验二是给出数据后对数据进行多方面的查询。4、在数据库test1中进行下列查询操作,将查询语句与结果写入实验报告。(1)查询所有供应商情况,先按城市升序排列,城市相同按供应商名称降序排列。select*fromsorderbycityasc,snamedesc;(2)查询所有零......
  • 5.11安卓开发日记32
    今天上数据库原理,实验二是给出数据后对数据进行多方面的查询。4、在数据库test1中进行下列查询操作,将查询语句与结果写入实验报告。(1)查询所有供应商情况,先按城市升序排列,城市相同按供应商名称降序排列。select*fromsorderbycityasc,snamedesc;(2)查询所有零件情况,先按......