Я немного новичок в октаве и программировании в целом.Я пытаюсь создать вектор Сил, который применяется к нескольким телам, но когда я пытаюсь инициализировать векторную переменную, октава возвращает ошибку при вычислении Fn1
:
menuTest: =: nonconformant arguments (op1 is 1x1, op2 is 2x1)
Я знаю, что если вы попытаетесьесли использовать оператор с двумя несогласованными матрицами, он выдаст ошибку, однако это не то, что я пытаюсь сделать здесь.
Я пытался: заменить запятые на точки с запятой и удалить ихполностью.
Я ожидаю, что терминал выведет векторный массив, но он выдаст ошибку.
function menuTest
Xs = 0
rs =0
G = 6.67*10e-11
S = 2e30
dt = .1
m = 6e20
e = .0167
b = a*sqrt(1-(e.^2))
X(1) = a
Y(1) = 0
vX(1) = 10
vY(1) = 0
%P2
a1 = a + 14e6
X1(1) = a1
Y1(1) = 0
r(1) = sqrt(X(1).^2 + Y(1).^2)
r1(1) = sqrt(X1(1).^2 + Y1(1).^2)
%Force on body 1
F(1) = (S)*(G*m)/((rs(1)-r(1)).^2)
F21(1) = (S)*(G*m)/((r1(1)-r(1)).^2)
%Force on body 2
F12(1) = (S)*(G*m)/((r(1)-r1(1)).^2)
F1(1) = (S)*(G*m)/(r1(1).^2)`
%Force vectorization initialization
Fn1(1) = [F(1),F21(1)]
unit(1) = [(Xs(1)-X(1)), (X1(1)-X(1))]
unitFn1(1) = dot(Fn1,unit(1))
Fn2(1) = [F1(1),F12(1)]
unit1(1) = [(Xs(1)-X(1)),(X(1)-X1(1))]
unitFn2(1) = dot(Fn2,unit1(1))
endfunction
Я ожидаю, что Fn1
выведет вектор с F
и F21
, и этоэлементы.Вместо этого я получаю
error: menuTest: =: nonconformant arguments (op1 is 1x1, op2 is 1x2)