9 / 9 / 0
Регистрация: 04.07.2014
Сообщений: 37
|
|||||||||||
1 | |||||||||||
Скелетная линия колебательной системы с 3 степенями свободы26.07.2014, 18:31. Показов 1156. Ответов 16
Метки нет Все метки)
(
Есть диф. ур. второго порядка x''+x+0.5x^3=0
нужно построить скелетную линию данной функции. Я как представляю план построения скелетной линии примерно следующий (если ошибаюсь исправьте): 1.Назначаем начальные условия x(0):=0.01, dx(0)/dt:=0 2.Выбираем промежуток [0,T],число точек N на нем и шаг интегрирования уравнения h=T/N 3.Проводим решение уравнения и формируем массив x(tk) значений функции x(t) в равноотстоящих узловых точках tk=k*h 4.Проводим разложение массива x(tk) в ряд Фурье , определяем первые три гармоники А1,А2,А3 и основную частоту om1 5.Эти значения запоминаем и постепенно формируем массив A1(om1),A2(om1),A3(om1) 6.Назначаем новые начальные условия,например, x(0):=x(0)+0.01,dx(0)/dt:=0 7.Этапы 2-6 повторяем какое-то достаточно большое число раз. Например, 1000 раз. 8.Зависимости A1(om1),A2(om1),A3(om1) выводим на один график. Это и будут скелетные линии Мне кажется , что здесь проблемным будет вопрос о выборе промежутка интегрирования T С помощью местных добрых людей у меня есть кое-какие наработки: diffsys.m:
0
|
|
26.07.2014, 18:31 | |
Ответы с готовыми решениями:
16
Уравнение Лагранжа 2-го рода системы с 2 степенями свободы
Система со многими степенями свободы Дана система с двумя степенями свободы |
![]() 939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
|
|
28.07.2014, 18:42 | 2 |
ode45 возвращает Вам массив решения (2 вектора). Какой из них раскладывать и дальше анализировать будем?
0
|
9 / 9 / 0
Регистрация: 04.07.2014
Сообщений: 37
|
|
28.07.2014, 19:19 [ТС] | 3 |
R2D2, я пытался раскладывал и анализировал второй вектор, хотя не уверен в правильности выбора вектор. Предлагаю так же анализировать 2й вектор.
0
|
29.07.2014, 08:43 | 4 |
Поделюсь мыслью, пока не забыл
![]() Если сравнить спектры одиночного импульса и последовательности оных, то можно заметить, что чем длиннее последовательность, тем ярче выражены гармоники, посему длительность сигнала T нужно брать побольше, однако при фиксированном кол-ве точек N (кстати длинна массива t будет N+1) шаг времени также станет больше и при относительно высокой частоте сигнала могут получится неверные результаты. Логика программы верная, но нужно посмотреть что получается при промежуточных вычислениях.
1
|
29.07.2014, 10:55 | 5 | |||||
таки да, если менять длительность сигнала, то спектр заметно меняется:
Тестовая программка
2
|
9 / 9 / 0
Регистрация: 04.07.2014
Сообщений: 37
|
|
29.07.2014, 14:22 [ТС] | 6 |
Зосима,
Мне тоже показалось что ошибка возникает при выборе промежутка. Все равно не могу понять как именно стоит варьировать промежуток, кол. точек. ![]() ![]() ![]()
0
|
9 / 9 / 0
Регистрация: 04.07.2014
Сообщений: 37
|
|
11.08.2014, 15:34 [ТС] | 7 |
ап!
0
|
9 / 9 / 0
Регистрация: 04.07.2014
Сообщений: 37
|
|
25.08.2014, 17:11 [ТС] | 8 |
Зосима, R2D2, Уважаемые, модераторы, помогите разобраться с программой. Уже почти месяц топчусь на одном месте и никакого прогресса. Видимо малёхо туповат
![]() Последняя надежда остается только на вас.
0
|
![]() 939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
|
|
26.08.2014, 10:28 | 9 |
bossuy, давай по порядку. Программа предложенная модератором у тебя работает? Если да - то вставлял ли ты ее в свой цикл?
0
|
26.08.2014, 10:43 | 10 |
R2D2, загвоздка в том, что человеку нужны графики зависимости первых трех гармоник от нач. условий, однако выделить эти гармоники далеко не всегда представляется возможным!
![]() у меня уже была мысль сделать поверхность - зависимость спектра от нач. условий ![]()
0
|
9 / 9 / 0
Регистрация: 04.07.2014
Сообщений: 37
|
|
26.08.2014, 15:32 [ТС] | 11 |
R2D2,
Программа работает, но я не могу сообразить как и к чему мне привязать длину промежутка чтобы в цикле варьировать ![]() Добавлено через 2 минуты Зосима, Вы может решить мою проблему? Подскажите пожалуйста как это можно реализовать.. ![]()
0
|
27.08.2014, 14:02 | 12 | |||||
Я думал над таким вариантом
![]()
2
|
9 / 9 / 0
Регистрация: 04.07.2014
Сообщений: 37
|
|
27.08.2014, 15:47 [ТС] | 13 |
Зосима, этот вариант интересный, но не то
![]() Мне постоянно (после каждого повторения цикла) нужно запоминать частоту (первой гармоники) и значение первых трех гармоник. Но как Вы и сами увидели что нужно к чему-то "привязать" длительность, и этот вопрос остается открытым =( ![]() В моем понимание должно получиться что-то такое: Это и есть так называемая скелетная линия... Может у Вас есть еще какие-либо предположения?
0
|
27.08.2014, 16:22 | 14 |
Да, я представляю, что нужно получить, но не знаю как
![]() ![]()
0
|
![]() 939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
|
|
27.08.2014, 21:13 | 15 |
bossuy, Зосима абсолютно прав. Что бы говорить о гармониках у Вас должен быть строго периодический сигнал. А судя по картинкам выше у Вас там что то явно непериодическое.
Есть, конечно, лобовой вариант - увеличивать временной промежуток до тех пор, пока вы не увидите вожделенные 3 гармоники... Или же поднять частоту дискретизации. Матлабом пока помочь не могу, извините.
1
|
9 / 9 / 0
Регистрация: 04.07.2014
Сообщений: 37
|
||||||
01.09.2014, 19:56 [ТС] | 16 | |||||
R2D2, если взять заведомо периодический сигнал (sin(x)) и тестовую программку Зосима, и все это впихнуть в цикл, то у меня вышло следующее:
Результаты на первом скрине относительно нормальные, а вот второй и третий оставляют желать лучшего. ![]() Как можно это подправить? На сколько я понимаю, то вопрос в том же, не верно выбрано Т. ![]()
0
|
02.09.2014, 09:37 | 17 | |||||
в данном случае неправильно вычисляются гармоники, потому как в спектре множество пиков, которые между собой не являются гармониками (частоты не кратные)
![]()
1
|
02.09.2014, 09:37 | |
Помогаю со студенческими работами здесь
17
Робо рука с 6 степенями свободы манипулятор Манипулятор с 7-ю степенями свободы, прямая задача Inventor 2008: задать закон движения телу с 3 степенями свободы на перемещение.
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |