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);
    }
}

c#中不能使用带有非数字的优化函数

ILArray<double> xopt = Optimization.optimpdl(objfunc, zeros<double>(2, 1)); 

应该在main函数内部,而不是在main函数之后或之外。