image thumbnail
from Eckart Inertias by Bryan Wong
A suite of MATLAB codes to calculate effective Eckart inertias for internal rotation

J=eckart_equations_jacob(x,guess_matrix,new_mass_weight_gaussian_matrix)
function J=eckart_equations_jacob(x,guess_matrix,new_mass_weight_gaussian_matrix)

x_xi=sum(new_mass_weight_gaussian_matrix(:,1).*guess_matrix(:,1));
x_eta=sum(new_mass_weight_gaussian_matrix(:,1).*guess_matrix(:,2));
x_zeta=sum(new_mass_weight_gaussian_matrix(:,1).*guess_matrix(:,3));
y_xi=sum(new_mass_weight_gaussian_matrix(:,2).*guess_matrix(:,1));
y_eta=sum(new_mass_weight_gaussian_matrix(:,2).*guess_matrix(:,2));
y_zeta=sum(new_mass_weight_gaussian_matrix(:,2).*guess_matrix(:,3));
z_xi=sum(new_mass_weight_gaussian_matrix(:,3).*guess_matrix(:,1));
z_eta=sum(new_mass_weight_gaussian_matrix(:,3).*guess_matrix(:,2));
z_zeta=sum(new_mass_weight_gaussian_matrix(:,3).*guess_matrix(:,3));

theta=x(1);
phi=x(2);
chi=x(3);

J=[x_xi*sin(theta)*cos(phi)*sin(chi)+x_eta*sin(theta)*sin(phi)*sin(chi)+x_zeta*cos(theta)*sin(chi)+y_xi*sin(theta)*cos(phi)*cos(chi)+y_eta*sin(theta)*sin(phi)*cos(chi)+y_zeta*cos(theta)*cos(chi), x_xi*(cos(theta)*sin(phi)*sin(chi)-cos(phi)*cos(chi))+x_eta*(-cos(theta)*cos(phi)*sin(chi)-sin(phi)*cos(chi))-y_xi*(-cos(theta)*sin(phi)*cos(chi)-cos(phi)*sin(chi))-y_eta*(cos(theta)*cos(phi)*cos(chi)-sin(phi)*sin(chi)), x_xi*(-cos(theta)*cos(phi)*cos(chi)+sin(phi)*sin(chi))+x_eta*(-cos(theta)*sin(phi)*cos(chi)-cos(phi)*sin(chi))+x_zeta*sin(theta)*cos(chi)-y_xi*(-cos(theta)*cos(phi)*sin(chi)-sin(phi)*cos(chi))-y_eta*(-cos(theta)*sin(phi)*sin(chi)+cos(phi)*cos(chi))-y_zeta*sin(theta)*sin(chi);
   y_xi*cos(theta)*cos(phi)+y_eta*cos(theta)*sin(phi)-y_zeta*sin(theta)-z_xi*sin(theta)*cos(phi)*sin(chi)-z_eta*sin(theta)*sin(phi)*sin(chi)-z_zeta*cos(theta)*sin(chi),                            -y_xi*sin(theta)*sin(phi)+y_eta*sin(theta)*cos(phi)-z_xi*(cos(theta)*sin(phi)*sin(chi)-cos(phi)*cos(chi))-z_eta*(-cos(theta)*cos(phi)*sin(chi)-sin(phi)*cos(chi)),                                                           -z_xi*(-cos(theta)*cos(phi)*cos(chi)+sin(phi)*sin(chi))-z_eta*(-cos(theta)*sin(phi)*cos(chi)-cos(phi)*sin(chi))-z_zeta*sin(theta)*cos(chi);
   -z_xi*sin(theta)*cos(phi)*cos(chi)-z_eta*sin(theta)*sin(phi)*cos(chi)-z_zeta*cos(theta)*cos(chi)-x_xi*cos(theta)*cos(phi)-x_eta*cos(theta)*sin(phi)+x_zeta*sin(theta),                           z_xi*(-cos(theta)*sin(phi)*cos(chi)-cos(phi)*sin(chi))+z_eta*(cos(theta)*cos(phi)*cos(chi)-sin(phi)*sin(chi))+x_xi*sin(theta)*sin(phi)-x_eta*sin(theta)*cos(phi),                                                            z_xi*(-cos(theta)*cos(phi)*sin(chi)-sin(phi)*cos(chi))+z_eta*(-cos(theta)*sin(phi)*sin(chi)+cos(phi)*cos(chi))+z_zeta*sin(theta)*sin(chi)];

Contact us at files@mathworks.com