资源简介
c#写的三种寻找最优解的算法;分别是格点法,单峰区间进退法,和黄金分割法,适合初学者学习使用
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 格点法
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
double f1(double x)
{
double f;
f = x * x - 6 * x + 2;
return f;
}
private void button1_Click(object sender EventArgs e)
{
int n = 4;
double E = 0.001;
double[] x = new double[5];
x[0] = 0.0;
x[4] = 10.0;
do
{
for (n = 0; n <= 4; n++)
{
x[n] = x[0] + n * ((x[4] - x[0]) / 4.0);
}
double min = f1(x[0]);
for (n = 1; n + 1 <= 4; n++)
{
if (f1(x[n]) < min)
{
min = f1(x[n]);
x[0] = x[n - 1];
x[1] = x[n];
x[4] = x[n + 1];
}
}
} while (x[4] - x[0] > E);
label1.Text = x[1].ToString();
}
private void button2_Click(object sender EventArgs e)
{
double a1 a2 a3 h h0 y1 y2 y3;
a1 = 5;
h0 = 1;
h = h0;
a2 = h;
y1 = f1(a1);
y2 = f1(a2);
if (y2 >= y1)
{
h = -h;
a3 = a1;
y3 = y1;
do
{
a1 = a2; a2 = a3;//变换前进方向,交换参数位置
y1 = y2; y2 = y3;
a3 = a2 + h;
y3 = f1(a3);
h = 2 * h;
} while (y3 < y2);
label2.Text=“[“+a3.ToString()+““+a1.ToString()+“]“;
}
else
{
a3 = a2 + h;
y3 = f1(a3);
if (y3 < y2)
{
while (y3 < y2)
{
h=2*h;
a1 = a2; a2 = a3;
y1 = y2; y2 = y3;
a3 = a2 + h;
y3 = f1(a3);
}
label2.Text = “[“ + a1.ToString() + ““ + a3.ToString() + “]“;
}
}
}
private void button3_Click(object sender EventArgs e)
{
double a b E y1 y2 a1 a2 min;
a = 0;
b = 10;
E= 0.001;
a1 = b - 0.618 * (b - a);
a2 = a + 0.618 * (b - a);
y1 = f1(a1);
y2 = f1(a2);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 993 2016-10-18 13:59 格点法+单峰区间进退法+黄金分割法c#版本\三种方法.sln
..A..H. 18432 2016-10-18 14:47 格点法+单峰区间进退法+黄金分割法c#版本\三种方法.v11.suo
文件 187 2016-10-18 11:21 格点法+单峰区间进退法+黄金分割法c#版本\格点法\App.config
文件 187 2016-10-18 11:21 格点法+单峰区间进退法+黄金分割法c#版本\格点法\bin\Debug\格点法+.exe.config
文件 187 2016-10-18 11:21 格点法+单峰区间进退法+黄金分割法c#版本\格点法\bin\Debug\格点法+.vshost.exe.config
文件 10240 2016-10-18 14:40 格点法+单峰区间进退法+黄金分割法c#版本\格点法\bin\Debug\格点法+单峰区间法+黄金分割法.exe
文件 187 2016-10-18 11:21 格点法+单峰区间进退法+黄金分割法c#版本\格点法\bin\Debug\格点法+单峰区间法+黄金分割法.exe.config
文件 26112 2016-10-18 14:40 格点法+单峰区间进退法+黄金分割法c#版本\格点法\bin\Debug\格点法+单峰区间法+黄金分割法.pdb
文件 22984 2016-10-18 14:47 格点法+单峰区间进退法+黄金分割法c#版本\格点法\bin\Debug\格点法+单峰区间法+黄金分割法.vshost.exe
文件 187 2016-10-18 11:21 格点法+单峰区间进退法+黄金分割法c#版本\格点法\bin\Debug\格点法+单峰区间法+黄金分割法.vshost.exe.config
文件 490 2015-10-30 13:45 格点法+单峰区间进退法+黄金分割法c#版本\格点法\bin\Debug\格点法+单峰区间法+黄金分割法.vshost.exe.manifest
文件 10240 2016-10-18 13:54 格点法+单峰区间进退法+黄金分割法c#版本\格点法\bin\Debug\格点法.exe
文件 187 2016-10-18 11:21 格点法+单峰区间进退法+黄金分割法c#版本\格点法\bin\Debug\格点法.exe.config
文件 26112 2016-10-18 13:54 格点法+单峰区间进退法+黄金分割法c#版本\格点法\bin\Debug\格点法.pdb
文件 187 2016-10-18 11:21 格点法+单峰区间进退法+黄金分割法c#版本\格点法\bin\Debug\格点法.vshost.exe.config
文件 490 2015-10-30 13:45 格点法+单峰区间进退法+黄金分割法c#版本\格点法\bin\Debug\格点法.vshost.exe.manifest
文件 3570 2016-10-18 14:40 格点法+单峰区间进退法+黄金分割法c#版本\格点法\Form1.cs
文件 4875 2016-10-18 13:59 格点法+单峰区间进退法+黄金分割法c#版本\格点法\Form1.Designer.cs
文件 5817 2016-10-18 13:59 格点法+单峰区间进退法+黄金分割法c#版本\格点法\Form1.resx
文件 1278 2016-10-18 12:47 格点法+单峰区间进退法+黄金分割法c#版本\格点法\obj\Debug\DesignTimeResolveAssemblyReferences.cache
文件 7060 2016-10-18 14:46 格点法+单峰区间进退法+黄金分割法c#版本\格点法\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 0 2016-10-18 11:21 格点法+单峰区间进退法+黄金分割法c#版本\格点法\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
文件 0 2016-10-18 11:21 格点法+单峰区间进退法+黄金分割法c#版本\格点法\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
文件 0 2016-10-18 11:21 格点法+单峰区间进退法+黄金分割法c#版本\格点法\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
文件 4608 2016-10-18 13:57 格点法+单峰区间进退法+黄金分割法c#版本\格点法\obj\Debug\TempPE\Properties.Resources.Designer.cs.dll
文件 180 2016-10-18 13:59 格点法+单峰区间进退法+黄金分割法c#版本\格点法\obj\Debug\作业.Properties.Resources.resources
文件 10240 2016-10-18 14:40 格点法+单峰区间进退法+黄金分割法c#版本\格点法\obj\Debug\格点法+单峰区间法+黄金分割法.exe
文件 26112 2016-10-18 14:40 格点法+单峰区间进退法+黄金分割法c#版本\格点法\obj\Debug\格点法+单峰区间法+黄金分割法.pdb
文件 1347 2016-10-18 14:47 格点法+单峰区间进退法+黄金分割法c#版本\格点法\obj\Debug\格点法+单峰区间进退法法+黄金分割.csproj.FileListAbsolute.txt
文件 975 2016-10-18 13:59 格点法+单峰区间进退法+黄金分割法c#版本\格点法\obj\Debug\格点法+单峰区间进退法法+黄金分割.csproj.GenerateResource.Cache
............此处省略29个文件信息
相关资源
- 用c#vs2005写的仿汽车仪表做的一个仪表
- C# arcengine 图层操作
- c#编写的计算器
- 计算机网络课程设计-TCP聊天系统课程
- 随机姓名生成器 按性别 C# 源代码和执
- asp.net简易新闻发布系统
- C#+access做的简单的用户资料管理系统
- winform打印窗体源代码
- c#做的飞鸽传输,能发送表情
- C#完整精美时间计时和倒计时软件(带
- C# kafka demo
- 字形轮廓提取显示C#源码(0515).rar
- C#邮件接收案例源码.rar
- C# winfrom 自动登录网页 提取网页内容
- C# 创建数据库、数据表
- C#高质量仿腾讯截图程序(改_1)
- 校园导游系统 C#源代码图的应用
- c# winform写的一个颜色拾取工具(原创
- c# 生成二维码214759
- 鼠标画框矩形裁剪图片工具含源码及
- C#进化计算:遗传算法源代码
- C#车牌识别
- c# socket(udp/tcp) demo
- c# http接口设计及调用demo
- C#网络五子棋server&client
- C#版本可停靠工具栏实现代码
- c#简易 数字键盘/手机键盘button控件与
- C#截屏插件 DLL
- Windows任务管理器
- C#从相机获取图像
评论
共有 条评论