c#中不能使用带有非数字的优化函数
本文关键字:数字 优化 函数 不能 | 更新日期: 2023-09-27 18:09:28
如果我是对的,在ilnumerics中有一个优化工具箱。在我成功地在我的项目中安装了ilnumerics之后,我试着从http://ilnumerics.net/media/ILNumericsOptimizationToolboxDocumentation.pdf中编写一些例子。然而,任何时候我使用* =优化。*有一个错误,像"优化"是一个未定义的变量。"当前上下文中不存在"
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;
using ILNumerics;
namespace WindowsFormsApplication4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}
class Program : ILMath
{
public static ILRetArray<double> MeyerFunc(ILInArray<double> x, ILInArray<double> t)
{
using (ILScope.Enter(x, t))
{
return x[0] * exp(x[1] / (t + x[2]));
}
}
//The computation of the minimum is done as follows:
// Minimum computation:
ILArray<double> t = linspace<double>(0, 15, 16).T;
ILArray<double> ydata = array<double>(34780.0, 28610.0, 23650.0, 19630.0, 16370.0,
13720.0, 11540.0, 9744.0, 8261.0, 7030.0,
6005.0, 5147.0, 4427.0, 3820.0, 3307.0, 2872.0);
ILArray<double> x0 = array<double>(1.0, 200.0, 100.0);
Func<ILInArray<double>, ILRetArray<double>> meyerfunction = x =>
{
using (ILScope.Enter(x))
{
return MeyerFunc(x, t);
}
};
ILArray<double> xm = Optimization.optimpdl(meyerfunction, x0, ydata);
}
}
ILArray<double> xopt = Optimization.optimpdl(objfunc, zeros<double>(2, 1));
应该在main函数内部,而不是在main函数之后或之外。