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

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

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

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

Допустим, есть график построенный по точкам (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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.04.2018, 08:59
Ответы с готовыми решениями:

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

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

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

3
Модератор
Эксперт по математике/физике
 Аватар для VSI
5289 / 4071 / 1392
Регистрация: 30.07.2012
Сообщений: 12,488
18.04.2018, 10:18
freezydi, а где исходные данные? Как строить Ваш график?
0
 Аватар для murom2013
386 / 180 / 42
Регистрация: 20.02.2013
Сообщений: 470
20.04.2018, 07:21
1. если x совпадает с узлом сетки, то выводим соответствующий y,
2. если x попадает внутрь какого-либо отрезка, то, зная концы отрезка, находим, опять же, соответствующий y.
0
0 / 0 / 0
Регистрация: 18.04.2018
Сообщений: 2
20.04.2018, 14:33  [ТС]
Цитата Сообщение от 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.04.2018, 14:33
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
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 ). Также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru