Перейти к содержанию
    

Моделирование обьекта на ПК

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

 

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

 

К примеру, мне надо построить график - в маткаде без проблем, 5, 15 секунд - все отлично. А вот как описать это в алгоритме, я не совсем понимаю.. Ведь в программе уравнение будет в цикле, счетчик t будет инкрементироваться, и через пару сотен секунд будет оказывать влияние на результат куда больше, чем подпитка.. избавляться от t нельзя - начальные значение исказятся.. Какие методы необходимо применять для переноса алгоритма для непрерывного вычисления в цикле?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Вас зависимость только от времени? Другие параметры - константы?

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

Либо уточните вопрос, если не так Вас понял.

Изменено пользователем DTF

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Вас зависимость только от времени? Другие параметры - константы?

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

Либо уточните вопрос, если не так Вас понял.

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

 

exp(x)=sum(x.^n/n!) n=0.........k

k- любое целое положительное число

http://ru.wikipedia.org/wiki/Экспонента

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

exp(x)=sum(x.^n/n!) n=0.........k

k- любое целое положительное число

http://ru.wikipedia.org/wiki/Экспонента

Ваш ответ, видимо, адресован автору темы? Насколько я понял, у него вопрос не в том, как посчитать экспоненту.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ваш ответ, видимо, адресован автору темы? Насколько я понял, у него вопрос не в том, как посчитать экспоненту.

Конечно

 

А как ВЫ думали компутер считает синусы-косинусы Бессели и экспоненты? Через разложение в степенной ряд

или Вы знете другие алгоритмы расчета таких функций?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть простейшая матмодель некоторого объекта... Какие методы необходимо применять для переноса алгоритма для непрерывного вычисления в цикле?

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Вас зависимость только от времени? Другие параметры - константы?

Как Вы пишите, так оно и будет, другого не дано - все согласно Вашему уравнению. С ростом времени будет расти аргумент экспоненты, экспонента и сама функция.

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

post-59745-1295784577_thumb.png

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

post-59745-1295784583_thumb.png

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

 

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

Спасибо, и это пригодится:)

 

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

Мне не столько графики нужны, сколько непрерывный ввыод информации о уровне и подпитке..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость TSerg

Еще раз выскажу "глубокую" мысль - заниматься надо не следствием, а причиной.

Все эти Ваши подпитки, расходы и пр., это воздействующие факторы на некоторую физическую сущность.

Как только Вы составите ее модель, а также модель "подпиток" - все станет на свои места.

Результат ( графики ) Вы будете получать как следствие моделирования Вашей динамической системы.

Все остальное - ненужная потеря времени, подгонка и т.д.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть простейшая матмодель некоторого обьекта ... y(t) = y0*exp(0.88*g*t) - х

 

Судя по графикам, у вас не совсем простейшая модель, т.к. y=f(t), g=f(t), x=f(t).

Действительно при неконтролируемом увеличении t будет иметь место как переполнение буферов, так и потеря точности.

Как обычно исходной информации минимум, поэтому решение в общем виде: работайте с производными, задайте

кванты времени, приведите формулу к ним, проанализируйте граничные условия всех переменных (min/max)

за выбранный квант времени, проверьте разрядность АЦП и требуемую точность. Другими словами-

уйдите от "времени".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...