С Новым годом! Форум программистов, компьютерный форум, киберфорум
Maple
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 18.04.2018
Сообщений: 2
1
Maple 2017

Вывести из графика значение координаты Y по заданной координате X

18.04.2018, 08:59. Показов 3188. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет всем! Очень нужна Ваша помощь.

Допустим, есть график построенный по точкам (1000шт.), вот пример кода построения:
Кликните здесь для просмотра всего текста

Haskell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
rows:= 1000:                                 # Количество строк в файле 
 
Graph39_x:= Array(1..rows):
fd := fopen("Table39_x.dat", READ):          # Открыть файл для чтения
Graph39_x:= readdata( fd, [ float ] ):       # Считать весь массив из файла
fclose(fd);
 
Graph39_y:= Array(1..rows):
fd := fopen("Table39_y.dat", READ):
Graph39_y:= readdata( fd, [ float ] ):       # Считать весь массив из файла
fclose(fd);  
 
i:= 0:
for k from 1 to (rows-1) by 1 do
  i:= i+1: 
  gh1[i]:= plot(
    [ [ Graph39_x[k],  Graph39_y[k] ], [ Graph39_x[k+1],  Graph39_y[k+1] ]  ] ,
    style = line, color=red );
od:
print("График 39");
display({gh1[kkk]$kkk=1..(i-1)});

где Graph39_x/y - это массивы записанные в файлах.

Необходимо зная координату X на графике, определить значение координаты Y в этой точке. Если наводить курсором, то он все отображает, а как получить значение для записи в переменную??

график не поддается никаким зависимостям, поэтому построен именно по точкам
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.04.2018, 08:59
Ответы с готовыми решениями:

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

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

Значение аргумента вычисляет значение функции, заданной в виде графика
Написать программу, которая по введенному значению аргумента вычисляет значение функции, заданной...

По заданной координате определить цвет клетки шахматной доски
Известно, что шахматная доска имеет размерность 8х8 и состоит из клеток 2х цветов, например,...

3
Модератор
Эксперт по математике/физике
5277 / 4059 / 1389
Регистрация: 30.07.2012
Сообщений: 12,429
18.04.2018, 10:18 2
freezydi, а где исходные данные? Как строить Ваш график?
0
386 / 180 / 42
Регистрация: 20.02.2013
Сообщений: 470
20.04.2018, 07:21 3
1. если x совпадает с узлом сетки, то выводим соответствующий y,
2. если x попадает внутрь какого-либо отрезка, то, зная концы отрезка, находим, опять же, соответствующий y.
0
0 / 0 / 0
Регистрация: 18.04.2018
Сообщений: 2
20.04.2018, 14:33  [ТС] 4
Цитата Сообщение от murom2013 Посмотреть сообщение
1. если x совпадает с узлом сетки, то выводим соответствующий y,
2. если x попадает внутрь какого-либо отрезка, то, зная концы отрезка, находим, опять же, соответствующий y.
Так вот в теории я это понимаю..) А как это реализовать в коде, не подскажете?

Добавлено через 14 минут

Да, и еще, про номера строк массива и совпадение номеров строки X и Y, такую штуку я сделал с помощью простого перебора строк массива и значений в них, но такое решение подходит только когда в системе координат один график и оно недостаточно точное.

Haskell
1
2
3
4
5
6
7
8
9
Value:= 98.153:                   # Примерно полученное значение исходя из каких-то рассчетов (находится в диапазоне иксов)
 
for k from 1 to rows while Graph39_x[k] < Value do  
 k:=k+1    
od:
 
GR_y:= Graph39_y[k-2]:
GR_y;                             # Получаем, к прим. 0.143 (диапазон Y), но под этим значением 
                                      # Y, в массиве задан не 98.153, а близкое к нему число, к прим. 98.251
А если их два и один из них расположен в каком-то диапазоне иксов к примеру? Я поэтому и спрашиваю, может быть как-то можно просто подставив значения X, получить значение Y, наподобие того, как показываются значения при наведении мышью.
Да, точно. Прикреплю dat файлы с самими координатами.

Можете закрыть тему. Нашел все таки решение спустя неделю..

С помощью интерполяции можно вывести значение.

Haskell
1
2
f := SplineInterpolation(Graph39_x, Graph39_y):
f(x);  # Где X - любое значение
Вложения
Тип файла: zip Table39.zip (15.1 Кб, 5 просмотров)
0
20.04.2018, 14:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.04.2018, 14:33
Помогаю со студенческими работами здесь

Вывести координаты точки заданного графика при наведении на нее курсора
Добрый вечер. Нужно вывести координаты точки заданного графика при наведении на нее курсора. Вот...

Значение функции заданной в виде графика
Нужна помощь: Задание 1. Вычисление значения функции. Написать программу, которая по введенному...

Значение функции заданной в виде графика
Помогите пожалуйста решить, буду очень длагодарна) Напишите программу, которая по введенному...

В заданной матрице найти седловую точку и вернуть ее значение и координаты
В заданной матрице найти седловую точку и вернуть ее значение и координаты (оформит в виде...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru