Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 03.01.2017
Сообщений: 1

Нахождение локального минимума функции методом Фибоначчи

03.01.2017, 19:37. Показов 3227. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Принцип действия:
Дана квадратная функция, начало и конец отрезка, на котором ищется минимум, а также количество итераций.
далее находятся точки х1 и х2 и после значение функции в них. И так до тех пор, пока количество итераций не будет равно 1.
последовательность Фибоначчи задана массивом.
Все значения в программе проставлены верно.
Помогите разобраться, с чем могут быть проблемы.

Вот программа:

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
76
77
78
79
80
81
82
83
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;
 
namespace Локальный_минимум_Фибоначчи
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            int[] F = { 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610 };
            int Ax, Bx, C;
            double x, y;
            double[] a = new double[20];/////начало отрезка
            double[] b = new double[20];/////конец отрезка
            double[] x1 = new double[20];/////точка х1
            double[] x2 = new double[20];/////точка х2
            double[] y1 = new double[20];
            double[] y2 = new double[20];
            uint i, k, n;
            string ax = textBox1.Text;
            string bx = textBox2.Text;
            string c = textBox3.Text;
            Ax = Convert.ToInt32(ax);
            Bx = Convert.ToInt32(bx);
            C = Convert.ToInt32(c);
            string a0 = textBox4.Text;
            string b0 = textBox5.Text;
            a[0] = Convert.ToDouble(a0);
            b[0] = Convert.ToDouble(b0);
            string N = textBox6.Text;
            n = Convert.ToUInt32(N);
 
            for (i = n; i > 0; i--)
            {
                for (k = 0; k < 20; k++)
                {
                    x1[k] = a[k] + (b[k] - a[k]) * F[i - 2] / F[i];
                    x2[k] = a[k] + (b[k] - a[k]) * F[i - 1] / F[i];
                    y1[k] = Ax * Math.Pow(x1[k], 2) + Bx * x1[k] + C;
                    y2[k] = Ax * Math.Pow(x2[k], 2) + Bx * x2[k] + C;
 
                    if (i > 1)
                    {
                        if (y1[k] > y2[k])
                        {
                            a[k] = x1[k];
                            x1[k] = x2[k];
                            x2[k] = a[k] + (b[k] - x1[k]);
                            y1[k] = y2[k];
                            y2[k] = Ax * Math.Pow(x2[k], 2) + Bx * x2[k] + C;
                        }
                        else
                        {
                            b[k] = x2[k];
                            x2[k] = x1[k];
                            x1[k] = a[k] + (b[k] - x2[k]);
                            y2[k] = y1[k];
                            y1[k] = Ax * Math.Pow(x1[k], 2) + Bx * x1[k] + C;
                        }
                    }
                    else if (i == 1)
                    {
                        x = (x1[k] + x2[k] / 2);
                        y = Ax * Math.Pow(x, 2) + Bx * x + C;
                        textBox7.Text = Convert.ToString(y);
                    }
                }
            }
        } 
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.01.2017, 19:37
Ответы с готовыми решениями:

Найти приближенное значение минимума функции методом Фибоначчи
Помогите пожалуйста написать программу. Найти приближенное значение минимума заданной функции(значение функции вычислить в N=21 точках)...

Нахождение минимума функции методом градиента
Помогите переделать программу для нахождения минимума функции двух переменных методом градиента для работы с любой функцией. Текущий код: ...

Нахождение минимума функции методом половинного деления
Есть программа нахождения корня методом половинного деления. Как ее переделать, чтобы она находила минимум функции и выводила график не...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.01.2017, 19:37
Помогаю со студенческими работами здесь

Нахождение минимума функции методом золотого сечения
Необходимо реализовать на Scheme: Реализуйте поиск минимума функции одной переменной. Определите процедуру (golden f x0 x1 ε),...

Нахождение минимума и максимума функции методом перебора.
Доброе время суток. Появилась еще одна проблема, с которой сам не могу справиться. Проблемы начинаются в месте, обозначенном &quot;МЕТОД...

Нахождение локального минимума
Написать программу: дана последовательность вещественных чисел. Найти и вывести на экран все локалные минимумы – числа, меньшие предыдущего...

Нахождение локального минимума
Здравствуйте!!!! Напишите программу или алгоритм для нахождения локального минимума. Заранее спасибо Добавлено через 14 минут я...

Задача на нахождение локального минимума
Элемент матрицы называется локальным минимумом,если он строго меньше всех соседних элементов(слева,справа,сверху,снизу). Посчитать...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru