Why the result does change when ı add other rows in Matrix?
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Kevin Holly
2023-1-13
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 个评论
Steven Lord
2023-1-13
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
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Installation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!