Why the result does change when ı add other rows in Matrix?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am trying basic multiplication on Matlab. For the first row, it calculates in true way. But when ı add other rows, it calculates first row wrong.
l_1=600
A= 48.6
K = [12, 6*(l_1), -12 , 6*(l_1) ;
6*(l_1), 4*(l_1)^2 , -6*(l_1), 2*(l_1)^2 ;
-12, -6*(l_1), (12), -6*(l_1) ;
6*(l_1), 2*(l_1)^2, -6*(l_1), 4*(l_1)^2 ]
K_result=K.*A
and the result is
K_result =
1.0e+07 *
0.0001 0.0175 -0.0001 0.0175
0.0175 7.0000 -0.0175 3.5000
-0.0001 -0.0175 0.0001 -0.0175
0.0175 3.5000 -0.0175 7.0000
it doesnt calculate A*12 the result must be 583.3 but it shows 0.0001. When i just calculate first row it calculates in true.
K = [12, 6*(l_1), -(12), 6*(l_1)]
K_result=K.*A
K_result =
1.0e+05 *
0.0058 1.7500 -0.0058 1.7500
0 commentaires
Réponse acceptée
Kevin Holly
le 13 Jan 2023
It is giving the correct result. It is just rounded. I changed format to long below.
l_1=600;
A= 48.6;
K = [12, 6*(l_1), -12 , 6*(l_1) ;
6*(l_1), 4*(l_1)^2 , -6*(l_1), 2*(l_1)^2 ;
-12, -6*(l_1), (12), -6*(l_1) ;
6*(l_1), 2*(l_1)^2, -6*(l_1), 4*(l_1)^2 ];
K_result=K.*A
format long
K_result=K.*A
2 commentaires
Steven Lord
le 13 Jan 2023
In this case IMO format longg is even better.
l_1=600;
A= 48.6;
K = [12, 6*(l_1), -12 , 6*(l_1) ;
6*(l_1), 4*(l_1)^2 , -6*(l_1), 2*(l_1)^2 ;
-12, -6*(l_1), (12), -6*(l_1) ;
6*(l_1), 2*(l_1)^2, -6*(l_1), 4*(l_1)^2 ];
format longg
K_result=K.*A
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!