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

Графики функций в компоненте TChart

06.04.2018, 17:54. Показов 1450. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, как правильно отобразить в TChart'e графики функций tg(x), корень N-ной степени и x^n? Суть проги: из combobox выбирается функция, в textbox'ы заносятся и считываются значения (х начала и конца, шаг, переменные, степень и т.д.), исходя из этого на диаграмме строится соответствующий график. Уже который час ломаю голову. В чем проблемы?
отображает график в одну линию:
C#
1
2
3
4
case 2:// неправильный график   функция тангенс
                            for (double i = min; i < max; i += step)
                                chart1.Series["График"].Points.AddXY(i, Math.Tan(i));
                            break;
здесь крашится при определенных значениях:
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
case 6://степень x^n , не работает при шаге = 0.1 и n = -3
                            if (textBoxPow.Text != "")//проверка не пусто ли
                            {
                                double n = Convert.ToDouble(textBoxPow.Text);
                                if (n % 1 == 0) {//проверка натурального числа
                                    if (n < 0)//при отрицательной n должна быть гипербола
                                    {
                                        for (double i = min; i < 0; i += step)
                                        {
                                            chart1.Series["График"].Points.AddXY(i, Math.Pow(i, n));
                                        }
                                        for (double i = 0.1; i < max; i += step)
                                            chart1.Series["График2"].Points.AddXY(i, Math.Pow(i, n));
                                    }
                                    else
                                    {
                                        for (double i = min; i < max; i += step)
                                            chart1.Series["График"].Points.AddXY(i, Math.Pow(i, n));
                                    }
                                }
                                else { MessageBox.Show("'Степень' должна быть натуральным числом"); }
                            }
                            else { MessageBox.Show("Заполните поле 'Степень'"); }
                            break;
здесь не показывает график полностью, а только верхнюю половину:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
case 8://не показывает отрицательный Y, //корень степени pow
                            if (textBoxPow.Text != "")//проверка не пусто ли
                            {
                                double s = Convert.ToDouble(textBoxPow.Text);
                                if (s % 1 == 0 ) {//s должно быть натуральным
                                    if (s > 1)
                                    {
                                        double pow = 1 / s; //аналог корня N-ной степени
                                            for (double i = min; i < max; i += step)
                                                chart1.Series["График"].Points.AddXY(i, Math.Pow(i, pow));
                                    }
                                    else
                                    {
                                        MessageBox.Show("Поле 'Корень из N-ной степени' должно быть больше 1");
                                    }
                                }
                                else { MessageBox.Show("'Корень N-ной степени' должно быть натуральным числом"); }
                            }
                            else { MessageBox.Show("Заполните поле 'Корень N-ной степени'"); }
           
                            break;
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.04.2018, 17:54
Ответы с готовыми решениями:

Ось Х в компоненте TChart
Добрый вечер, есть Stringgrid и в нем два столбца, один значения по оси Х, другой по У. Значения по оси Х большие (longint). Подскажите...

Цвет градиента в компоненте TChart
Tchart 8.06 Pro BDS 2006 Серия типа Bar Стиль: Rect.Gradient Задача - дать пользователям возможность изменять оба цвета...

Ось времени в компоненте TChart
Доброго времени суток, подскажите пожалуйста как можно настроить ось Х в формат времени (hh:mm:ss)?

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

Ось времени в компоненте TChart
Всем здравствуйте. В компоненте TChart выводится плоский график изменения параметра во времени. По оси Y -значение параметра, по оси X...

Построение графика функции в компоненте TChart
Здраствуйте. Мне нужна помощь в построении графика y=sin(x), а точнее сама функция для TChart

Подпись оси абсцисс OX в компоненте TChart
Уважаемые форумчане, 2 дня бьюсь уже над вроде бы тривиальной задачей, но никак не могу найти её решение. В приложение приходят данные...

Форматированный вывод по Осям X, Y в компоненте TChart
Уже парюсь который день не могу понять как мне сделать нормальный вывод по Осям X,Y в компоненте Tchart Form1-&gt;Series2-&gt;Add(r,h); ...

Отображение одиночных точек в компоненте TChart
На форме размещен компонент TChart. Координатные оси и нулевой отсчет координат сделаны по середине. Координатная сетка фиксированная и...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru