![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Igor_Fist |
![]() ![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: ![]() ![]() ![]() |
Всем привет! В паскале я чайник
![]() Построить фигуру Лиссажу путем генерации сигналов y=sinx и y=cosx по ортогональным осям. Вычисления производить путем поперменной генерации сигналов конечно-разностным методом в интервале изменения аргумента 0...2pi. Обеспечить ошибку относительно системных функций e=10^(-5).Вывод информации графический с текстовым контролем ошибок. Заранее спасибо! ![]() |
![]() ![]() |
TarasBer |
![]()
Сообщение
#2
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
-------------------- |
Igor_Fist |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: ![]() ![]() ![]() |
сорри,но я создал потому что всё равно не понял((конечно-разностный метод он используется для решения диф.кравнений,а для чего тут он?здесь какие диф.уравнения?и можт здесь конечно-разностная интерполяция используется?
|
Lapp |
![]()
Сообщение
#4
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
сорри,но я создал потому что всё равно не понял((конечно-разностный метод он используется для решения диф.кравнений,а для чего тут он?здесь какие диф.уравнения?и можт здесь конечно-разностная интерполяция используется? Игорь, этого тут никто не понял. И именно это тебе пытались сказать. Может, ты не совсем точно привел условие? Перепиши его полностью и без каких-либо изменений.Темы объединяю. Добавлено через 4 мин. Перечитав изначальную формулировку условия, я подумал, что тебе нужно было sin и cos рассчитывать конечно-разностным методом (а не использовать библиотечные). То есть получить их из решения некоторого диффура (с точностью 10-5). Какого именно - вопрос пока открыт. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Igor_Fist |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: ![]() ![]() ![]() |
Задание привел точно как дали.вот и сам то думаю для чего он тут конечно-разностный метод.
Код Program lissagu; uses graph,crt; var driver,mode,i:integer; x0,y0,kx,ky:real; h,w1,w2:real; n:integer; function XX(x:real):integer; begin XX:=round((x-x0)*kx); end; function YY(y:real):integer; begin YY:=getmaxy-round((y-y0)*ky); end; begin driver:=detect; initgraph(driver,mode, ' '); x0:=-1.2; y0:=-1.2; kx:=getmaxx/2.4; ky:=getmaxy/2.4; n:=100; h:=2*pi/n; w1:=2*pi/2; w2:=2*pi/6; moveto(XX(0),YY(1)); for i:=1 to n do lineto(XX(sin(w1*i*h)),YY(cos(w2*i*h))); writeln('figura lissaju'); readln; end. есть программа без использования этого метода и без обеспечения ошибки относительно системных функций,и вот как тут это все применить Сообщение отредактировано: Igor_Fist - 15.12.2010 0:25 |
Lapp |
![]()
Сообщение
#6
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Задание привел точно как дали.вот и сам то думаю для чего он тут конечно-разностный метод. Ну ясно же написано:Цитата путем генерации сигналов конечно-разностным методом Видишь? Не строить фигуру к.-р. методом, а именно генерировать сигналы. Но только ясности это прибавляет не очень много. Похоже, что тебе надо смоделировать какой-то процесс (и для этого решать диффур). А ты не можешь спросить у преподавателя, что имелось в виду? -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Igor_Fist |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: ![]() ![]() ![]() |
проконсультировался с преподавателем.Этот метод описывается в его книге
В этом методе sin и cos не считаются. ошибка относительно системных функций берется из разницы конечно-разностного метода и метода когда фигура строится при помощи системы смоделировать сигналы S1=sin(wt); S2 = cos(wt). Представим сигналы в виде: S1,n+1 = sin( w (tn+dt) ) = sinwtncoswdt + cosw; S2, n+1 = cos(w (tn+dt) )= coswtncoswdt - sinwtnsinwdt; или S1,n+1 =S1,nh1 + S2,nh2; S2,n+1=S2,nh1- S1,nh2; где h1= cos(wdt); h2= sin(wdt); S1,0= 0; S2,0= 1. Сигналы S1,n+1, S2,n+1 моделируются попеременно. Метод конечно-разностной генерации имеет недостаток накопления ошибок. Ошибка увеличивается к последующим шагам. Когда она превышает допустимые значения, необходимо произвести коррекцию путем нового вычисления разгонных точек. |
Lapp |
![]()
Сообщение
#8
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Представим сигналы в виде: S1,n+1 = sin( w (tn+dt) ) = sinwtncoswdt + cosw; S2, n+1 = cos(w (tn+dt) )= coswtncoswdt - sinwtnsinwdt; или S1,n+1 =S1,nh1 + S2,nh2; S2,n+1=S2,nh1- S1,nh2; где h1= cos(wdt); h2= sin(wdt); S1,0= 0; S2,0= 1. Сигналы S1,n+1, S2,n+1 моделируются попеременно. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Igor_Fist |
![]()
Сообщение
#9
|
Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: ![]() ![]() ![]() |
Игорь, в форме ответа есть нижние индексы (sub). Пожалуйста, перепиши сообщение (если тебе все еще нужна помощь). Очень трудно такое понимать. И умножение обозначь яснее.. прикрепил файл с этим методом,то что нужно в конце Добавлено через 3 мин. Цитата > Когда она превышает допустимые значения Как это определять? Заранее на бумаге вычислить кол-во итераций, через которые надо делать коррекцию? ничего заранее вычислять вроде бы не надо,если ошибка будет превышать заданную,то необходимо изменить шаг моделирования Прикрепленные файлы ![]() |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 15:03 |