Why the result does change when ı add other rows in Matrix?
    4 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
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!