4 / 2 / 2
Регистрация: 01.12.2017
Сообщений: 11

Производная MathNet

09.10.2019, 18:25. Показов 3961. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Может кто подсказать с работой в библиотеке MathNet.Numerics
Нужно посчитать производную, только аналитически, а не значение в точке. Понимаю, что написать такое пока вряд ли могу, решил воспользоваться библиотекой. Но ничего не понял из их документации на сайте. Может, кто уже сталкивался с подобной задачей и может подсказать либо источник с понятным объяснением либо же каким методом можно воспользоваться .Заранее спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.10.2019, 18:25
Ответы с готовыми решениями:

Класс Matrix из библиотеки MathNet
Привет, дядьки и тетьки!)) У меня задание: вычислить разность двух матриц, вычести из матрицы число, проверока матриц на разность. Нашла в...

Библиотеки DotNetMatrix и MathNet.Numerics
мне нужно написать прожку, чтобы пользователь вбивал матрицу, а возвращать соответственно собственные вектора (правые и левые). Пытал...

Частная производная
Привет всем, уважаемые, кто поможет реализовать нахождение частной производной? Допустим есть функция f(x,y)=x^2-y^2+2xy+5 Нужно...

1
10 / 7 / 3
Регистрация: 25.02.2018
Сообщений: 86
10.10.2019, 01:58
я у них вообще дифференцирования не видел, но этот код должен работать:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Linq.Expressions;
 
 
namespace Reflection.Differentiation
{
    public class Algebra
    {
        public class ParamModifier : ExpressionVisitor
        {
            public ParameterExpression param;
            public ConstantExpression eps = Expression.Constant(1e-7);
            public Expression Modify(Expression expression, ParameterExpression param)
            {
                this.param = param;
                return Visit(expression);
            }
 
            protected override Expression VisitMethodCall(MethodCallExpression node)
            {
                bool change = false;
 
                foreach (var el in node.Arguments)
                    if (el.NodeType.Equals(ExpressionType.Parameter))
                     change = true; 
 
                if (change)
                    return Expression.Call(node.Method, Expression.Add(param, eps));
 
                return base.VisitMethodCall(node);
            }
 
            protected override Expression VisitBinary(BinaryExpression b)
            {
                bool change = false;
 
                Expression left = this.Visit(b.Left);
                Expression right = this.Visit(b.Right);
                if (left.NodeType == ExpressionType.Parameter)
                {
                    change = true;
                    left = Expression.Add(param, eps);
                }
                if (right.NodeType == ExpressionType.Parameter)
                {
                    change = true;
                    right = Expression.Add(param, eps);
                }
                if (change)
                    return Expression.MakeBinary(b.NodeType, left, right);
 
                return base.VisitBinary(b);
            }
        }
 
        public static Expression<Func<double, double>> Differentiate(Expression<Func<double, double>> function)
        {
            var eps = Expression.Constant(1e-7);
            var param = function.Parameters[0];
            var body = function.Body;
 
            ParamModifier treeModifier = new ParamModifier();
            var modifiedExpr = body.NodeType.Equals(ExpressionType.Parameter) ? Expression.Add(param, eps) : treeModifier.Modify(body, param);
 
            var expression = Expression.Lambda<Func<double, double>>(
            Expression.Divide( Expression.Subtract( modifiedExpr, body ), eps), param);
 
            return expression;
        }
    }
}
тут получишь функцию как символьное дифференцирование. Но вообще рекомендую для этого язык R использовать, там всё очень просто делается
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.10.2019, 01:58
Помогаю со студенческими работами здесь

Производная функции
Исходная функция представлена в виде строки вида: &quot;-6*x^3-x^2+3*x+2&quot; или &quot;sqrt(sin(2*x))&quot; ну или вообще любого вида, я преобразую её в...

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

Производная, код приближенного вычисления
Доброго времени суток. Столкнулся с проблемой поиска производной. Программа должна находить корень по методу хорд. Во время...

MathNet Fit.Polynomial Получаю абсурдные результаты
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using...

Производная и Math.Net
Нужно найти десятую производную от заданой функции или хотя бы от x^2-2-lnx. Нашел библиотеку Math.Net, кто-нибудь с ней работал? Что-то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru