реклама на сайте
подробности

 
 
> Моделирование обьекта на ПК, Как правильно использовать зависимость матмодели от времени?
sour
сообщение Jan 23 2011, 01:37
Сообщение #1





Группа: Новичок
Сообщений: 9
Регистрация: 26-09-10
Пользователь №: 59 745



Здравствуйте. Вопрос, может, очень простой, но меня беспокоит. Есть простейшая матмодель некоторого обьекта, уравнение которой показывает зависимость обьекта от времени, расхода и подпитки(уровень):

y(t) = y0*exp(0.88*g*t) - х, где y0 - начальное значение, g - подпитка, x - расход, exp() - экспонентаsm.gif, t - время

К примеру, мне надо построить график - в маткаде без проблем, 5, 15 секунд - все отлично. А вот как описать это в алгоритме, я не совсем понимаю.. Ведь в программе уравнение будет в цикле, счетчик t будет инкрементироваться, и через пару сотен секунд будет оказывать влияние на результат куда больше, чем подпитка.. избавляться от t нельзя - начальные значение исказятся.. Какие методы необходимо применять для переноса алгоритма для непрерывного вычисления в цикле?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 8)
DTF
сообщение Jan 23 2011, 02:57
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 87
Регистрация: 6-11-09
Пользователь №: 53 453



У Вас зависимость только от времени? Другие параметры - константы?
Как Вы пишите, так оно и будет, другого не дано - все согласно Вашему уравнению. С ростом времени будет расти аргумент экспоненты, экспонента и сама функция. Как можно избавляться от времени, если сама функция от времени?
Либо уточните вопрос, если не так Вас понял.

Сообщение отредактировал DTF - Jan 23 2011, 02:58
Go to the top of the page
 
+Quote Post
Andrey_1
сообщение Jan 23 2011, 04:40
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 131
Регистрация: 30-11-10
Пользователь №: 61 268



Цитата(DTF @ Jan 23 2011, 05:57) *
У Вас зависимость только от времени? Другие параметры - константы?
Как Вы пишите, так оно и будет, другого не дано - все согласно Вашему уравнению. С ростом времени будет расти аргумент экспоненты, экспонента и сама функция. Как можно избавляться от времени, если сама функция от времени?
Либо уточните вопрос, если не так Вас понял.

экспонента считается через разложение в степенной ряд Тейлора

exp(x)=sum(x.^n/n!) n=0.........k
k- любое целое положительное число
http://ru.wikipedia.org/wiki/Экспонента
Go to the top of the page
 
+Quote Post
DTF
сообщение Jan 23 2011, 05:03
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 87
Регистрация: 6-11-09
Пользователь №: 53 453



Цитата(Andrey_1 @ Jan 23 2011, 11:40) *
экспонента считается через разложение в степенной ряд Тейлора

exp(x)=sum(x.^n/n!) n=0.........k
k- любое целое положительное число
http://ru.wikipedia.org/wiki/Экспонента

Ваш ответ, видимо, адресован автору темы? Насколько я понял, у него вопрос не в том, как посчитать экспоненту.
Go to the top of the page
 
+Quote Post
Andrey_1
сообщение Jan 23 2011, 05:10
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 131
Регистрация: 30-11-10
Пользователь №: 61 268



Цитата(DTF @ Jan 23 2011, 08:03) *
Ваш ответ, видимо, адресован автору темы? Насколько я понял, у него вопрос не в том, как посчитать экспоненту.

Конечно

А как ВЫ думали компутер считает синусы-косинусы Бессели и экспоненты? Через разложение в степенной ряд
или Вы знете другие алгоритмы расчета таких функций?
Go to the top of the page
 
+Quote Post
tyro
сообщение Jan 23 2011, 08:11
Сообщение #6


Любитель Кошек
*****

Группа: Свой
Сообщений: 1 593
Регистрация: 8-06-06
Пользователь №: 17 873



Цитата(sour @ Jan 23 2011, 04:37) *
Есть простейшая матмодель некоторого объекта... Какие методы необходимо применять для переноса алгоритма для непрерывного вычисления в цикле?

Если я Вас правильно понял, то как вариант: организуете массив, и в том же цикле, после завершения счета очередной итерации, записываете туда интересующие параметры. После завершения расчета переписываете массив в файл в формате понятном для программы рисования графиков. (Можно,конечно, сразу писать в файл - но это медленнее, или передавать программе рисования значения для каждого значения, например по технологии OLE, если программа рисования его поддерживает sm.gif).


--------------------
По современному этикету, в левой руке держат вилку, в правой - мышку.
Go to the top of the page
 
+Quote Post
sour
сообщение Jan 23 2011, 12:13
Сообщение #7





Группа: Новичок
Сообщений: 9
Регистрация: 26-09-10
Пользователь №: 59 745



Цитата(DTF @ Jan 23 2011, 04:57) *
У Вас зависимость только от времени? Другие параметры - константы?
Как Вы пишите, так оно и будет, другого не дано - все согласно Вашему уравнению. С ростом времени будет расти аргумент экспоненты, экспонента и сама функция.

Подпитка изменяется также. Да будет расти, но до определенного значение. Вот график принебольшом расходе
Прикрепленное изображение

Как видно, со временем система стабилизируется, но счетчик будет инкрементирватся, и в дальнейшем, даже малое изменение подпитки может повлечь за собой возбуждение:
Прикрепленное изображение

Вот меня и интересует - можно ли как-то упростить зависимость от временой составляющей? например, по окончанию переходного процесса приравнять ее к 1, а при внесении возмущения снова запускать счетчик?

Цитата(Andrey_1 @ Jan 23 2011, 06:40) *
экспонента считается через разложение в степенной ряд Тейлора

Спасибо, и это пригодитсяsm.gif

Цитата(tyro @ Jan 23 2011, 10:11) *
Если я Вас правильно понял, то как вариант: организуете массив, и в том же цикле, после завершения счета очередной итерации, записываете туда интересующие параметры. После завершения расчета переписываете массив в файл в формате понятном для программы рисования графиков.

Мне не столько графики нужны, сколько непрерывный ввыод информации о уровне и подпитке..
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Feb 1 2011, 13:22
Сообщение #8





Guests






Еще раз выскажу "глубокую" мысль - заниматься надо не следствием, а причиной.
Все эти Ваши подпитки, расходы и пр., это воздействующие факторы на некоторую физическую сущность.
Как только Вы составите ее модель, а также модель "подпиток" - все станет на свои места.
Результат ( графики ) Вы будете получать как следствие моделирования Вашей динамической системы.
Все остальное - ненужная потеря времени, подгонка и т.д.
Go to the top of the page
 
+Quote Post
i-mir
сообщение Mar 24 2011, 07:00
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 197
Регистрация: 17-06-10
Из: Киев
Пользователь №: 57 986



Цитата(sour @ Jan 23 2011, 04:37) *
Есть простейшая матмодель некоторого обьекта ... y(t) = y0*exp(0.88*g*t) - х


Судя по графикам, у вас не совсем простейшая модель, т.к. y=f(t), g=f(t), x=f(t).
Действительно при неконтролируемом увеличении t будет иметь место как переполнение буферов, так и потеря точности.
Как обычно исходной информации минимум, поэтому решение в общем виде: работайте с производными, задайте
кванты времени, приведите формулу к ним, проанализируйте граничные условия всех переменных (min/max)
за выбранный квант времени, проверьте разрядность АЦП и требуемую точность. Другими словами-
уйдите от "времени".
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 07:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.01436 секунд с 7
ELECTRONIX ©2004-2016