Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 21.05.2015
Сообщений: 2

Вывод точечного графика тел в пространстве

24.12.2015, 02:59. Показов 1181. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, есть вот такая модель свободных колебаний цепочки связанных гармонических осцилляторов. Нужно провести над ней 1000 экспериментов и вывести точковой график тел в пространстве. Как я понимаю должно выйти что то похожее как на фото . Помогите пожалуйста сам плохо разбираюсь в MATLAB

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
clear all
m1= m0*(1+rand(1))
m2=m0*(1+0.8*rand(1))
m3=m0*(1+0.6*rand(1))
 
k1= k0*(1+rand(1))
k2= k0*(1+0.8*rand(1))
k3=m0*(1+0.6*rand(1))
k4=m0*(1+0.4*rand(1))
 
>> N=3; % число тел колебательной системы
>> m=[m1 m2 m3]; % массы тел колебательной системы
>> k=[k1 k2 k3 k4]; % жесткости пружин колебательной системы
>> R0=[-0.2 0 -0.3]; % смещения тел в момент времени t = 0
>> v0=[1 -3 0]; % скорости тел в момент времени t = 0
% вычисление элементов матрицы 
>> for alpha=1:N+1
        for beta=1:N
          omega(alpha,beta)=k(alpha)/m(beta);
        end;
     end;
>> i=1:N;
>> j=1:N;
% вычисление элементов матрицы OMEGA в соответствии с (8)
>> OMEGA(i,j)=0;
>> for i=1:N
       if i==1
        OMEGA(i,i)=omega(1,1)+omega(2,1);
        OMEGA(1,2)=-omega(2,1);
      end;
      if i>1
        if i<N
            OMEGA(i,i-1)=-omega(i,i);
            OMEGA(i,i)=omega(i,i)+omega(i+1,i);
            OMEGA(i,i+1)=-omega(i+1,i);
        else
            OMEGA(i,i-1)=-omega(i,i);
            OMEGA(i,i)=omega(i,i)+omega(i+1,i);
        end;
      end;
    end;
>> [Sigma,Teta]=eig(OMEGA); % вычисление собственных значений и 
% собственных векторов матрицы OMEGA
>> Teta=Teta^0.5; % вычисление собственных частот
>> for i=1:N
        for j=1:N
          SigmaV(j,i)=-Teta(i,i)*Sigma(j,i);
        end;
    end;
>> C1=Sigma^-1*R0'; % решение системы уравнений (18)
>> C2=SigmaV^-1*v0'; % решение системы уравнений (19)
>> C=(C1.^2+C2.^2).^0.5; % вычисление координат вектора C
>> clear alpha
% вычисление фазы нормальных колебаний в соответствие с (21), (22)
>> for i=1:N
        if C(i)==0 
          alpha(i)=0;
        else
          alpha(i)=atan(C2(i)./C1(i));
          if C1(i)<0
            alpha(i)=pi+alpha(i);
          end;
          if C1(i)>0
            if C2(i)<0
              alpha(i)=2*pi+alpha(i);
            end;
          end;
        end;
    end;
>> N=length(OMEGA);
>> N1=2^13; % число узлов временной сетки
>> j=1:N1;
>> Tmax=80; % правая граница временного интервала
>> t(j)=(j-1)/(N1-1)*Tmax; % координаты узлов временной сетки
% вычисление значений координат тел в узлах временной сетки
>> for j=1:N1
        s=zeros(N,1);
        for i=1:N
          s=s+C(i)*Sigma(:,i).*cos(Teta(i,i)*t(j)+alpha(i));
        end;
        X(:,j)=s;
    end;
% вычисление значений скоростей тел в узлах временной сетки
>> for j=1:N1
        s=zeros(N,1);
        for i=1:N
          s=s+C(i)*Sigma(:,i).*Teta(i,i)*sin(Teta(i,i)*t(j)+alpha(i));
        end;
        Xv(:,j)=-s;
    end;
% визуализация зависимостей мгновенных значений смещений и 
% скорости от времени
>> figure(1);figure(1);plot(t,X(1,:),'-k',t,X(2,:),'--k',t,X(3,:),':k')
>> figure(2);plot(t,Xv(1,:),'-k',t,Xv(2,:),'--k',t,Xv(3,:),':k')
% построение траектории движения тел на фазовой плоскости
>> figure(3);plot(X(1,:),Xv(1,:))
>> figure(4);plot(X(2,:),Xv(2,:))
>> figure(5);plot(X(3,:),Xv(3,:))
% вычисление спектров зависимостей смещений тел системы от времени
>> c1=fft(X(1,:));
>> c2=fft(X(2,:));
>> c3=fft(X(3,:));
>> j=2:N1/2;
% вычисление спектральной плотности смещений тел
>> Cm1(j-1)=abs(c1(j-1))/(N1/2);
>> Cm2(j-1)=abs(c2(j-1))/(N1/2);
>> Cm3(j-1)=abs(c3(j-1))/(N1/2);
>> Freq(j-1)=(j-1)/Tmax; % вычисление частот спектральных гармоник
% визуализация спектральных плотностей смещений тел
>> figure(6);semilogy(Freq,Cm1,'-k',Freq,10*Cm2,'--k',Freq,500*Cm3,':k')
>> axis([0 2.5 10^-3 2000])
Миниатюры
Вывод точечного графика тел в пространстве  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.12.2015, 02:59
Ответы с готовыми решениями:

Пересечение двух тел в пространстве
Привет всем! У меня есть небольшое увлечение - иногда делаю карты к сетевым 3д бегалкам, конкретнее - quake3 и alien arena. Использую...

Разработка игр. Взаимодействие тел в 2D пространстве
Изучаю взаимодействие тел в 2D пространстве и столкнулся с проблемой. Перерыл весь интернет, размышлял, но не смог понять какую именно...

Вращения платоновых тел в 3х мерном пространстве
Добрый день, уважаемые форумчане, помогите, пожалуйста, разобраться с задачей. Вопрос следующий: необходимо посчитать для всех 5...

2
 Аватар для Krasme
7245 / 5098 / 2151
Регистрация: 02.02.2014
Сообщений: 13,459
24.12.2015, 17:32
чему равны m0 и k0?
0
0 / 0 / 0
Регистрация: 21.05.2015
Сообщений: 2
24.12.2015, 21:13  [ТС]
m0=0.5
k0=0.25
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.12.2015, 21:13
Помогаю со студенческими работами здесь

Поворот и масштабирование точечного графика поверхности
Требуется построить точечный график поверхности, которая задана функцией, с возможностью поворота и масштабирования. График должен...

Макрос построения точечного графика по шаблону
Всем,доброго дня! При написании макроса по построению графика возник вопрос. При записи макрорекордером получается следующий код ...

Расчет столкновения двух тел в космическом пространстве
Пишу компьютерную игру, застрял с расчетом столкновений. Условия столкновения - космическое пространство. Дано: метеорит 1 и метеорит...

Построение точечного графика в 3D с возможностью масштабирования и поворота
Построить точечный график поверхности с возможностью масштабирования и поворота \frac{x^2}{a^2}+\frac{y^2}{b^2}-\frac{z^2}{c^2}=-1

Даны объемы и массы двух тел из разных материалов. Материал какого из тел имеет большую плотность?
Даны объемы и массы двух тел из разных материалов. Материал какого из тел имеет большую плотность?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru