Как передать функцию функции? Доступны ли в VB2010 функторы / функциональные объекты?

Я хочу создать метод численного интегрирования с дублями в аналитической функции и интегрировать его по определенному интервалу. Для процедуры численного интегрирования я хочу использовать некоторые процедуры из nr.com . Проблема в том, что они запрограммированы на C ++ и используют функторы для передачи функции методу интеграции. Как я могу сделать это в VB 2010?

Я хочу инициализировать функцию (т.е. установить a = 1, b = 0 для функции y (x) = a * x + b), а затем передать функцию в метод интегрирования . Затем, когда метод интеграции вызывает функцию, он вызывает функцию только с одним параметром (т.е. x, поскольку a, b уже установлены)

Как лучше всего сделать это в VB2010? Я хочу сделать общий метод интеграции, при котором я могу передать любую однозначную функцию и пределы интеграции.

Я только начал использовать VB, и, судя по тому, что я нашел до сих пор, похоже, что у вас есть инструменты - для нас делегат функции - использовать лямбда-выражение для функции - отправить указатель / adressOf - для создания класса / структуры функции и передать это функции

На данный момент я наиболее склонен создать класс функции. Но я не совсем понимаю, как это сделать. F.ex.Я делаю разные классы для каждой «уникальной функции», которую хочу интегрировать, но как я могу передать их функции интеграции, когда мне нужно указать тип аргумента в вызове-функции-интеграции?

Это похоже на базовую проблему который применяется ко многим математическим операциям, поэтому я думаю, что было бы очень полезно прояснить это.

8
задан LarsTech 2 December 2011 в 17:15
поделиться