y=f(x), где f меняется в зависимости от x

Простейшие вопросы в области инженерной разработки
Ответить
Аватара пользователя
banderlog
user
user
Сообщения: 71
Зарегистрирован: 23 апр 2008, 20:44
Версия LabVIEW: 8.5
Контактная информация:

y=f(x), где f меняется в зависимости от x

Сообщение banderlog »

Как разбить всю числовую прямую на несколько диапазонов, в каждом из которых y описывается своей функцией от х?
Аватара пользователя
Viktor

Activity Professionalism Tutorials Black
expert
expert
Сообщения: 1408
Зарегистрирован: 23 мар 2008, 10:56
Награды: 4
Версия LabVIEW: 2020
Откуда: Санкт-Петербург
Благодарил (а): 17 раз
Поблагодарили: 3 раза
Контактная информация:

Re: y=f(x), где f меняется в зависимости от x

Сообщение Viktor »

Если участки разбиения по x - целые числа, можно х подать на кейс селектор и в каждый кейс вставить свою функцию.
Если х - дабл: такой вариант:
f(x).PNG
Аватара пользователя
banderlog
user
user
Сообщения: 71
Зарегистрирован: 23 апр 2008, 20:44
Версия LabVIEW: 8.5
Контактная информация:

Re: y=f(x), где f меняется в зависимости от x

Сообщение banderlog »

А если 20 диапазонов? ;) Не... слишком запутанно получается. Должен же быть другой путь?!?!?
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: y=f(x), где f меняется в зависимости от x

Сообщение FireFly »

Можно обойтись одним Case на входе которого будет порядковый номер интервала. А сам этот номер создавать перед Case по тому алгоритму который необходим (Например если интервалы равной длины или их длина меняется по какой-то функции, то всё легко делается целочисленным делением на длину интервала).
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Аватара пользователя
banderlog
user
user
Сообщения: 71
Зарегистрирован: 23 апр 2008, 20:44
Версия LabVIEW: 8.5
Контактная информация:

Re: y=f(x), где f меняется в зависимости от x

Сообщение banderlog »

FireFly писал(а):Можно обойтись одним Case на входе которого будет порядковый номер интервала. А сам этот номер создавать перед Case по тому алгоритму который необходим (Например если интервалы равной длины или их длина меняется по какой-то функции, то всё легко делается целочисленным делением на длину интервала).
А чем отличается создание номера от выполнения вычисления одной функции? То же самое одно действие. И потом, опять же сваливаемся к реализации этого самого разбиения на отрезки (неравные).
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: y=f(x), где f меняется в зависимости от x

Сообщение FireFly »

Для начала необходимо понять как вы задаёте интервалы. Модуль для чтения мыслей NI ещё не придумали, так что как-то вам интервалы всё равно будет необходимо указать. Массив? Тогда смотрите между какими индексами ваш X. Если не массив, а некий алгоритм то читайте внимательнее предыдущий пост.
Вложения
Интервалы.JPG
Интервалы.JPG (16.14 КБ) 4069 просмотров
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Аватара пользователя
banderlog
user
user
Сообщения: 71
Зарегистрирован: 23 апр 2008, 20:44
Версия LabVIEW: 8.5
Контактная информация:

Re: y=f(x), где f меняется в зависимости от x

Сообщение banderlog »

Массив!!! 100 пудов! Элементы массива - тоже функции. А из номера - кейс.
Мерси, блин, боку!
Ответить

Вернуться в «Для чайников»