sour 0 23 января, 2011 Опубликовано 23 января, 2011 · Жалоба Здравствуйте. Вопрос, может, очень простой, но меня беспокоит. Есть простейшая матмодель некоторого обьекта, уравнение которой показывает зависимость обьекта от времени, расхода и подпитки(уровень): y(t) = y0*exp(0.88*g*t) - х, где y0 - начальное значение, g - подпитка, x - расход, exp() - экспонента:), t - время К примеру, мне надо построить график - в маткаде без проблем, 5, 15 секунд - все отлично. А вот как описать это в алгоритме, я не совсем понимаю.. Ведь в программе уравнение будет в цикле, счетчик t будет инкрементироваться, и через пару сотен секунд будет оказывать влияние на результат куда больше, чем подпитка.. избавляться от t нельзя - начальные значение исказятся.. Какие методы необходимо применять для переноса алгоритма для непрерывного вычисления в цикле? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DTF 0 23 января, 2011 Опубликовано 23 января, 2011 (изменено) · Жалоба У Вас зависимость только от времени? Другие параметры - константы? Как Вы пишите, так оно и будет, другого не дано - все согласно Вашему уравнению. С ростом времени будет расти аргумент экспоненты, экспонента и сама функция. Как можно избавляться от времени, если сама функция от времени? Либо уточните вопрос, если не так Вас понял. Изменено 23 января, 2011 пользователем DTF Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andrey_1 0 23 января, 2011 Опубликовано 23 января, 2011 · Жалоба У Вас зависимость только от времени? Другие параметры - константы? Как Вы пишите, так оно и будет, другого не дано - все согласно Вашему уравнению. С ростом времени будет расти аргумент экспоненты, экспонента и сама функция. Как можно избавляться от времени, если сама функция от времени? Либо уточните вопрос, если не так Вас понял. экспонента считается через разложение в степенной ряд Тейлора exp(x)=sum(x.^n/n!) n=0.........k k- любое целое положительное число http://ru.wikipedia.org/wiki/Экспонента Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DTF 0 23 января, 2011 Опубликовано 23 января, 2011 · Жалоба экспонента считается через разложение в степенной ряд Тейлора exp(x)=sum(x.^n/n!) n=0.........k k- любое целое положительное число http://ru.wikipedia.org/wiki/Экспонента Ваш ответ, видимо, адресован автору темы? Насколько я понял, у него вопрос не в том, как посчитать экспоненту. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andrey_1 0 23 января, 2011 Опубликовано 23 января, 2011 · Жалоба Ваш ответ, видимо, адресован автору темы? Насколько я понял, у него вопрос не в том, как посчитать экспоненту. Конечно А как ВЫ думали компутер считает синусы-косинусы Бессели и экспоненты? Через разложение в степенной ряд или Вы знете другие алгоритмы расчета таких функций? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tyro 0 23 января, 2011 Опубликовано 23 января, 2011 · Жалоба Есть простейшая матмодель некоторого объекта... Какие методы необходимо применять для переноса алгоритма для непрерывного вычисления в цикле? Если я Вас правильно понял, то как вариант: организуете массив, и в том же цикле, после завершения счета очередной итерации, записываете туда интересующие параметры. После завершения расчета переписываете массив в файл в формате понятном для программы рисования графиков. (Можно,конечно, сразу писать в файл - но это медленнее, или передавать программе рисования значения для каждого значения, например по технологии OLE, если программа рисования его поддерживает :)). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sour 0 23 января, 2011 Опубликовано 23 января, 2011 · Жалоба У Вас зависимость только от времени? Другие параметры - константы? Как Вы пишите, так оно и будет, другого не дано - все согласно Вашему уравнению. С ростом времени будет расти аргумент экспоненты, экспонента и сама функция. Подпитка изменяется также. Да будет расти, но до определенного значение. Вот график принебольшом расходе Как видно, со временем система стабилизируется, но счетчик будет инкрементирватся, и в дальнейшем, даже малое изменение подпитки может повлечь за собой возбуждение: Вот меня и интересует - можно ли как-то упростить зависимость от временой составляющей? например, по окончанию переходного процесса приравнять ее к 1, а при внесении возмущения снова запускать счетчик? экспонента считается через разложение в степенной ряд Тейлора Спасибо, и это пригодится:) Если я Вас правильно понял, то как вариант: организуете массив, и в том же цикле, после завершения счета очередной итерации, записываете туда интересующие параметры. После завершения расчета переписываете массив в файл в формате понятном для программы рисования графиков. Мне не столько графики нужны, сколько непрерывный ввыод информации о уровне и подпитке.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость TSerg 1 февраля, 2011 Опубликовано 1 февраля, 2011 · Жалоба Еще раз выскажу "глубокую" мысль - заниматься надо не следствием, а причиной. Все эти Ваши подпитки, расходы и пр., это воздействующие факторы на некоторую физическую сущность. Как только Вы составите ее модель, а также модель "подпиток" - все станет на свои места. Результат ( графики ) Вы будете получать как следствие моделирования Вашей динамической системы. Все остальное - ненужная потеря времени, подгонка и т.д. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
i-mir 0 24 марта, 2011 Опубликовано 24 марта, 2011 · Жалоба Есть простейшая матмодель некоторого обьекта ... y(t) = y0*exp(0.88*g*t) - х Судя по графикам, у вас не совсем простейшая модель, т.к. y=f(t), g=f(t), x=f(t). Действительно при неконтролируемом увеличении t будет иметь место как переполнение буферов, так и потеря точности. Как обычно исходной информации минимум, поэтому решение в общем виде: работайте с производными, задайте кванты времени, приведите формулу к ним, проанализируйте граничные условия всех переменных (min/max) за выбранный квант времени, проверьте разрядность АЦП и требуемую точность. Другими словами- уйдите от "времени". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться