Разделить вектор на матрицу - PullRequest
0 голосов
/ 02 мая 2019

Я хочу перевести код Matlab, и я застрял.Я хочу вычислить A / B, где A - вектор 1x3, а B - матрица 3x3.В Matlab это работает отлично.Решение должно быть C.

Я думал об изменении формулы на

AB ^ (- 1)

Что я забыл?Что эквивалентно Matlab A/B?

A<-structure(c(0.203087815504433, -0.185526315789458, 2.06128903508772), .Dim = c(1L, 3L))
B<-structure(c(0.162362619308917, 0.00102409360829869, 0.0271730132253801, 
           0, 0.010825744280011, 0.00830177798871224, 0, 0, 0.0526477214917381), .Dim = c(3L, 3L))
C=c(-11.794,14.789,34.757)
A%*%solve(B)

РЕДАКТИРОВАТЬ: Я сделал ошибку, когда хотел упростить пример ..... Я не знаю, что я сделал не так, матрицы выглядят одинаково для меня?Ради полноты:

Sigma=matrix(c(0.40294,0,0,-0.032001,0.10405,0,0.16484,-0.091114,0.22945),nrow=3,byrow=TRUE)
epsilon_temp=c(0.50401,-1.6281,7.975)
covariance=matrix(c(0.16236, -0.012895, 0.066422, -0.012895,0.01185,-0.014755, 0.066422,-0.014755,0.088123),nrow=3)

t(Sigma%*%epsilon_temp)%*%solve(covariance) #right solution

a<-t(Sigma%*%epsilon_temp)
b<-covariance
a%*%solve(b) #right solution
...