Вычисление функции
-
- beginner
- Сообщения: 42
- Зарегистрирован: 02 ноя 2016, 16:40
- Версия LabVIEW: 15
- Контактная информация:
Вычисление функции
Здравствуйте, подскажите пожалуйста как добиться получения графика тангенса который показывал бы значения в заданном интервале [0, pi/2) принадлежит (pi/2,pi]
Сама задача: Создать программу вычисляющую 100 значений функции y(x)=k∙tg(f∙x)+b, где x принадлежит [0, pi/2) принадлежит (pi/2,pi]. При этом обеспечить максимально точное вычисление значение функции в окрестности точки x=pi/2. Увы, созданная мною программа не удовлетворяет заданным условиям Помогите разобраться пожааалуйстаа
Сама задача: Создать программу вычисляющую 100 значений функции y(x)=k∙tg(f∙x)+b, где x принадлежит [0, pi/2) принадлежит (pi/2,pi]. При этом обеспечить максимально точное вычисление значение функции в окрестности точки x=pi/2. Увы, созданная мною программа не удовлетворяет заданным условиям Помогите разобраться пожааалуйстаа
- Вложения
-
- моя попытка сделать что то похожее
- пр.png (8.82 КБ) 7341 просмотр
-
- Tan.vi
- Сама недопрограмма
- (11.6 КБ) 83 скачивания
Последний раз редактировалось Nikol 14 дек 2016, 15:56, всего редактировалось 1 раз.
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: Вычисление функции
Программу выкладывайте.Nikol писал(а):Увы, созданная мною программа не удовлетворяет заданным условиям Помогите разобраться пожааалуйстаа
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- beginner
- Сообщения: 42
- Зарегистрирован: 02 ноя 2016, 16:40
- Версия LabVIEW: 15
- Контактная информация:
Re: Вычисление функции
Прошу прощения, совсем забыл вот онаIvanLis писал(а):Программу выкладывайте.Nikol писал(а):Увы, созданная мною программа не удовлетворяет заданным условиям Помогите разобраться пожааалуйстаа
- Вложения
-
- Tan.vi
- (11.6 КБ) 87 скачиваний
-
- beginner
- Сообщения: 42
- Зарегистрирован: 02 ноя 2016, 16:40
- Версия LabVIEW: 15
- Контактная информация:
Re: Вычисление функции
даже после замены на pi график всё равно какой то кривой выходитBlackman писал(а):Ошибка в первой константе. Не pi/2, а pi.
- zxc_pavel
- adviser
- Сообщения: 242
- Зарегистрирован: 02 июн 2016, 12:07
- Версия LabVIEW: 15
- Благодарил (а): 9 раз
- Поблагодарили: 23 раза
- Контактная информация:
Re: Вычисление функции
около "0" тангенс -> бесконечность идет. Надо отсечь эти случаи
- Вложения
-
- Untitled 3.vi
- (17.1 КБ) 84 скачивания
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Вычисление функции
500+))
Upd: Заменить константу pi/2 в Case Structure на константу pi'. Результат на последнем рисунке.
Upd: Заменить константу pi/2 в Case Structure на константу pi'. Результат на последнем рисунке.
- Вложения
-
- Tangens85.vi
- (16.38 КБ) 86 скачиваний
Последний раз редактировалось Blackman 15 дек 2016, 00:08, всего редактировалось 1 раз.
-
- leader
- Сообщения: 526
- Зарегистрирован: 28 фев 2010, 18:04
- Версия LabVIEW: LV2018
- Благодарил (а): 10 раз
- Поблагодарили: 18 раз
- Контактная информация:
Re: Вычисление функции
Если на графике требуется иметь линию с разрывом, то между точками разрыва вставляется ещё одна точка со значением функции равным NaN. И тут возможны два варианта, которые следует учитывать.
1. Если одна из точек функции попадает на точку разрыва, то этой точке приписывается значение NaN. А выяснение, что точка попала на точку разрыва надо вести не по равенству, а по диапазону. В моём примере диапазон задаётся машинной ошибкой с множителем. Интересно поиграться соотношением множителя и количеством точек. Чем больше точек, тем меньший требуется множитель.
2. Если разрыв находится между точками, то тогда, хочешь не хочешь, а приходиться вставлять ещё одну точку со значением NaN. Если вставка требуется только для графика, то значение аргумента может быть любым (значение функции NaN), лишь бы он находился между интересующими точками.
1. Если одна из точек функции попадает на точку разрыва, то этой точке приписывается значение NaN. А выяснение, что точка попала на точку разрыва надо вести не по равенству, а по диапазону. В моём примере диапазон задаётся машинной ошибкой с множителем. Интересно поиграться соотношением множителя и количеством точек. Чем больше точек, тем меньший требуется множитель.
2. Если разрыв находится между точками, то тогда, хочешь не хочешь, а приходиться вставлять ещё одну точку со значением NaN. Если вставка требуется только для графика, то значение аргумента может быть любым (значение функции NaN), лишь бы он находился между интересующими точками.
- Вложения
-
- Tan+.vi
- (26.16 КБ) 96 скачиваний
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Вычисление функции
Tangens 2: Producer & Post Loops, корректная обработка отрицательных значений f.
-
- beginner
- Сообщения: 42
- Зарегистрирован: 02 ноя 2016, 16:40
- Версия LabVIEW: 15
- Контактная информация:
Re: Вычисление функции
Спасибо большое, а не подскажете как добиться максимальной точности в окрестности pi/2, те тангенс рядом с pi/2 должен вычисляться с максимальной точностью что может позволить тип DBL(1,57079632679489656).Есть предположение что в начале нужно брать большой шаг между точками, а затем в самом конце пару точек очень малым шагом, однако как реализовать не представляюBlackman писал(а):Tangens 2: Producer & Post Loops, корректная обработка отрицательных значений f.
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Вычисление функции
Пример макс разрешения для функции tan в диапазоне (пи/2 +- эпсилон) +- эпсилон*N/2
Для квантования приведенной функции с макс возможным разрешением с ограниченным числом точек N необходимы дополнительные условия:
1. Максимальное и минимальное значение функции tan (x*f)
2. Диапазон изменения шага дельта X: (дельта Х) мин...(дельта Х) мах
После этого можно определить нелинейную функцию дельта Х = F(N) и сгенерировать требуемые значения шага и заданной функции.
Для квантования приведенной функции с макс возможным разрешением с ограниченным числом точек N необходимы дополнительные условия:
1. Максимальное и минимальное значение функции tan (x*f)
2. Диапазон изменения шага дельта X: (дельта Х) мин...(дельта Х) мах
После этого можно определить нелинейную функцию дельта Х = F(N) и сгенерировать требуемые значения шага и заданной функции.
- Вложения
-
- Tangent+ Max Resolution 85.vi
- (37.49 КБ) 96 скачиваний
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 4 Ответы
- 1351 Просмотры
-
Последнее сообщение Bovee
-
- 2 Ответы
- 306 Просмотры
-
Последнее сообщение maxim_MA
-
- 12 Ответы
- 909 Просмотры
-
Последнее сообщение JohnChaban