Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Найти минимальное значение интерполяционного многочлена P(x) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибки LNK2001 и С2664 в Visual Studio 2008 http://www.cyberforum.ru/cpp-beginners/thread1600073.html
Здравствуйте! При написании простой программы запуска Блокнота у меня возникла проблема с Кодировкой. При включенном параметре "Использовать Юникод" выдается ошибка: Main.cpp(24) : error C2664:...
C++ калькулятор Здравствуйте!! У меня возникла проблема. Мне нужно ввести выражение и занести его в массив. Символов не ограничено. Заранее спасибо. Добавлено через 33 секунды вот нынешний код: #include... http://www.cyberforum.ru/cpp-beginners/thread1600060.html
Получится ли вернуть адрес на первый элемент массива вместе с размером? C++
Из Main() вызывается функция, которая формирует массив и возвращает объект класса String в виде: <адрес на первый элемент массива> + <разделитель> + <количество элементов массива>. Думал написать...
C++ Заполнить и отсортировать массив
Заполнить массив из 10 элементов случайными числами в интервале и отсортировать его по последней цифре.
C++ Удалить фрагмент текста http://www.cyberforum.ru/cpp-beginners/thread1600041.html
читается предложение и два числа (два номера символом в этом предложении). удалить буквы расположенные между этими номерами (включая их) вывести результат на кр. попроще плиз
C++ Перевод программы с C# Здравствуйте, можете помочь с переводом программы из шарпа в c++? using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; ... подробнее

Показать сообщение отдельно
score9
0 / 0 / 0
Регистрация: 02.12.2015
Сообщений: 1

Найти минимальное значение интерполяционного многочлена P(x) - C++

02.12.2015, 20:52. Просмотров 183. Ответов 0
Метки (Все метки)

Помогите исправить ошибки в коде
double fMin = my_lagrange(Start);- ошибка в этой строке. Когда ввожу доп. аргументы компилятор пишет что переменные не определены

Вот мое задание:

Задача:
На отрезке [0;2] найти корень уравнения exp(x)-cos(x)=k, где k-минимальное значение интерполяционного многочлена p(x), построенного по следующим данным.
Таблица
x 0 0.6 1.2 1.8 2.4 3
p 4.05 3.18 3.11 3.65 4.86 6.92

Вот мой код

Добавлено через 2 минуты
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
// курсач итог.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <algorithm>
#include <cmath>
using namespace std;
 
double my_lagrange(double x, int n, double x_arr[], double y_arr[])
{
 
    double Px = 0.0;
    for (int i = 0; i < n; ++i) {
 
        double lagr = 1.0;
        for (int j = 0; j < n; ++j)
            if (j != i)
                lagr *= (x - x_arr[j]) / (x_arr[i] - x_arr[j]);
        Px += y_arr[i] * lagr;
    }
 
    return Px;
 
}
 
double Solve(double Start, double End, double Step = 0.6)
{
    double xMin = Start;
    double fMin = my_lagrange(Start);
    while (Start < End)
    {
        if (my_lagrange(Start) < fMin)
        {
            xMin = Start;
            fMin = my_lagrange(Start);
        }
        Start += Step;
    }
    return xMin;
}
 
 
int main(int argc, char* argv[])
{
    int n = 6;
 
    double x_arr[6] = { 0.0, 0.6, 1.2, 1.8, 2.4, 3.0 };
    double y_arr[6] = { 4.05,3.18,3.11,3.65,4.86,6.92 };
 
    double Start = 0, End = 3;
    double x = 0;
    x = Solve(Start, End);
    cout << "k = " << x << endl;
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru