Why the result does change when ı add other rows in Matrix?
2 views (last 30 days)
Show older comments
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 Comments
Accepted Answer
Kevin Holly
on 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 Comments
Steven Lord
on 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
More Answers (0)
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!