Как я уже говорил, я работаю над заданием в школе, и я застрял в одной части.
Это задание, в котором я должен создать несколько сфер и направить их через различные движения, такие как случайное ускорение, к гравитационному притяжению в направлении друг к другу.Я очень хорошо знаю физику и могу без сомнения закодировать эту часть.
Но я пытаюсь сохранить разные сферы как отдельные объекты.Я хочу к этому, чтобы я мог просто применить силы к каждому объекту.
Одно требование в назначении состоит в том, что он должен быть в одном файле сценария.Поэтому я могу использовать только встроенные функции (при необходимости)
РЕДАКТИРОВАТЬ: (Копировать из комментариев, с небольшими уточняющими правками)
Я сделал это по-другому.Я инициализировал объекты со сферическими данными.Использование циклов for в основном с использованием различных наборов циклов и вложенных вложенных наборов, аналогичных приведенным ниже;
value=rand()
for ii =1:n
objKLOT(1,ii)=struct(’varName1’,value,’varName2’,value,’varName3’,value);
for ii =1:n (Loop_content1=ii (for jj =1:n (Loop_content2=jj) ) Loop content1=Loop_content1 + Loop_content2);
Были заданы такие значения, как масса, плотность, случайный init.accel., Векторы и т. Д., А затем я вычислил объем и радиускаждой сферы от массы и плотности.После применения initial_acc.Я попытался упростить притяжение n-тела каждой сферой, имеющей результирующий вектор, используя vect.addition от всех сил, происходящих из сферы (i), во все другие сферы.В основном для j = i: n F = G * m (i) * m (j) / (r ^ 2) Векторы силы должны быть в состоянии решить результирующую силу, используя сложение векторов. Расстояние r вычисляется с этимотношение r = || vecm (j) - vecm (i) ||