用matlab编写程序时一直碰到这个问题,但是一直检查算法也没发现问题
查看官方解释后发现,是点乘和叉乘的问题(.*和*)
//f为一维矩阵,例如[1 2 3 4]
r=a*(1-e^2)/(1+cos(f));
//修改后
r=a*(1-e^2)./(1+cos(f));
matlab默认使用的是叉乘(*),即矩阵乘,而非一维矩阵每个数分别乘
这个小细节在刚开始使用matlab时会经常出现,需要高度注意
用matlab编写程序时一直碰到这个问题,但是一直检查算法也没发现问题
查看官方解释后发现,是点乘和叉乘的问题(.*和*)
//f为一维矩阵,例如[1 2 3 4]
r=a*(1-e^2)/(1+cos(f));
//修改后
r=a*(1-e^2)./(1+cos(f));
matlab默认使用的是叉乘(*),即矩阵乘,而非一维矩阵每个数分别乘
这个小细节在刚开始使用matlab时会经常出现,需要高度注意