0 / 0 / 1
Регистрация: 21.02.2009
Сообщений: 20

Построение графика по функции

22.02.2009, 23:36. Показов 3017. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
привет всем, я опять со своей функцией возможно кто-нибудь сможет помочь, в лабе нужно использовать два метода координатами задавать график функции в ручную, и ввести функцию, функцию ввести по формуле, но она совершенно не отражает исходного результата, возможно на это как то влияет abs если кто знает помогите пожалуйста . исходник вот:

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
void CssDlg::OnPaint() 
{
    
    CPaintDC dc(this);
                        
    // device context for painting
 
    // TODO: Add your message handler code here
 
    CRect rect;
    
    GetClientRect( &rect );
 
    dc.SetViewportOrg( rect.Width()/2, rect.Height()/2 );   // сдвигаем сисиему координат в центр
                                
 
    dc.SetMapMode( MM_LOMETRIC );               // нормальная система координат
    
 
    CPen MyPen(R2_COPYPEN,1,RGB(0,0,255));      // настраиваем перо
 
    dc.SelectObject(MyPen);                     // выбираем перо
    
    dc.MoveTo(-250,-120);
 
    //for (int i=0;i<20;i=i+1)      
    
    //dc.LineTo ((-5+i*0.5)*100,((-5+i*0.5)*(-5+i*0.5)*(-5+i*0.5))*exp(-abs((-5+i*0.5)+1))*100); 
 
    dc.LineTo (-200 ,-170);
    dc.LineTo (-185 ,-175);
    dc.LineTo (-160 ,-188 );
    dc.LineTo (-125 ,-188 );
    dc.LineTo (-100 ,-175);
    dc.LineTo (-95 ,-170);
    dc.LineTo (-85 ,-160);
    dc.LineTo (-75 ,-150);
    dc.LineTo (-70 ,-140);
    dc.LineTo (-30 ,-3);
    dc.LineTo (-10 ,0);
    dc.LineTo (5,0);
    dc.LineTo (105 ,20);
    dc.LineTo (180,20);
    dc.LineTo (250,10);
 
 
    CPen MyPen1(R2_COPYPEN,1,RGB(0,0,0));       // настраиваем перо
 
    dc.SelectObject(MyPen1);                        // выбираем перо
 
    dc.MoveTo(0,0);
    dc.LineTo (300,0);
    dc.LineTo (-300,0);
 
    dc.MoveTo(0,0);
    dc.LineTo (0,650);
 
    dc.MoveTo(0,0);
    dc.LineTo (0,-200);
 
    dc.TextOut( -10, -10, "0" );
 
    dc.TextOut( -150, -350, "Плаксина О.В. ИСГ-105" );
 
    dc.TextOut( -150, -420, "y=(x^3 )*exp(-abs(x+1))" );
                
    
    // Do not call CDialog::OnPaint() for painting messages
}
пробовала другие функции с exp (другие варианты все работает) строит все правильно.... что делать?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.02.2009, 23:36
Ответы с готовыми решениями:

Построение графика функции
Построение графика функции. Помогите пожалуйста с лабораторной работой, на VC++ необходимо построить график : y=(x^3 )*exp(-abs(x+1)) ...

Построение графика функции
задание: Запрограммировать на VC++ вывод в центральную область формы графика функции на интервале (А- В) с шагом дискретизации h: y...

Построение графика функции по точкам
Visual C++. Имеется матрица координат точек (x,y). (Точек не менее 20и). По введенным юзером точкам нужно восстановить и построить график...

5
23 / 23 / 3
Регистрация: 20.02.2009
Сообщений: 59
23.02.2009, 00:35
Какая функция для построения графика? Лучше в математическом виде, может у Вас ошибка в вычисляющем выражении
0
0 / 0 / 1
Регистрация: 21.02.2009
Сообщений: 20
23.02.2009, 00:41  [ТС]
y=(x^3 )*exp(-abs(x+1))

prostaja problem ne doljno bit'
0
23 / 23 / 3
Регистрация: 20.02.2009
Сообщений: 59
23.02.2009, 00:51
Всё правильно. Или вас смущает результат того что вы видите на экране?
Добавьте изменения в свой код и сравните 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
 CPen MyPen(PS_SOLID,1,RGB(0,0,255));      // настраиваем перо  
     dc.SelectObject(MyPen);                     // выбираем перо  
     
     bool bPushed = false;
     dc.MoveTo(-250,-120);  
   
     for (int i=0;i<20;i=i+1)         
     {
         double x = (-5+i*0.5);
         double y = pow(x, 3)*exp(-abs(x+1));
         
         long nX = x*100;        
         long nY = y*100;
         if(bPushed)
            dc.LineTo(nX,nY); 
         else
         {
             dc.MoveTo(nX,nY); bPushed = true;
         }
     }
 
     CPen MyPen2(PS_SOLID,1,RGB(255,0,0));
     dc.SelectObject(MyPen2);
   
     dc.MoveTo (-200 ,-170);  
     dc.LineTo (-185 ,-175);  
     dc.LineTo (-160 ,-188 );  
     dc.LineTo (-125 ,-188 );  
     dc.LineTo (-100 ,-175);  
     dc.LineTo (-95 ,-170);  
     dc.LineTo (-85 ,-160);  
     dc.LineTo (-75 ,-150);  
     dc.LineTo (-70 ,-140);  
     dc.LineTo (-30 ,-3);  
     dc.LineTo (-10 ,0);  
     dc.LineTo (5,0);  
     dc.LineTo (105 ,20);  
     dc.LineTo (180,20);  
     dc.LineTo (250,10);
1
0 / 0 / 1
Регистрация: 21.02.2009
Сообщений: 20
24.02.2009, 12:08  [ТС]
да нет все так со значениями, просто очень долго мучалась с этой функцией, и хотелось бы все таки узнать каким же образом ее сделать похожей, потомуто вводила варианты моих одногруппников все работает) спасибо что откликнулись)
0
16 / 16 / 2
Регистрация: 08.05.2009
Сообщений: 81
08.05.2009, 17:30
простите, что глубоко не вникал, но проблема может быть в вызове abs для чисел с плавающей точкой.

В Си и Си++ есть еще функция fabs, принимающая аргумент типов float и double.

Хотя я, возможно, не так понял суть вопроса.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.05.2009, 17:30
Помогаю со студенческими работами здесь

Построение графика функции cos x^2
надо написать программу построения графика функции cos x^2 на вижуал 10-12 С++

Построение графика в Visual Studio
Здравствуйте! Написана программа, в результате которой в файлы .txt записываются данные для построения графиков. Графики - двумерный и...

Построение обычного графика по заданным значениям
Уважаемые форумчане, не могли бы вы мне помочь? Мне нужно построить обычный график по заданным в Textbox числам. Подскажите, пожалуйста,...

Создание файла и построение графика в Excel
Необходимо с помощью Visual C++ по двум массивам построить в Excel график. Каким образом это можно сделать? Заранее спасибо.

Построение графика графика квадратичной функции
Как построить график квадратичной функции? Построил только простую параболу, как ее сдвигать? int ixPrev = -1, iyPrev =...


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

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

Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru