2017-10-12 1 views
1

Je résous un système d'équations linéaires. Je veux sortir les variables avec leurs solutions respectives, affichant des décimales (un double).MatLab ne formate pas double comme prévu dans la matrice

[A,B] = equationsToMatrix(eqs,vars); 
res = [transpose(vars) double(linsolve(A,B))]; 

La valeur de transpose(vars) est:

Ax 
Ay 
Az 
Md 
Me 

Et les valeurs de double(linsolve(A,B)) est:

-75 
450 
-75 
450 
183.71 

Cependant quand je concaténer ces vecteurs, je perds les décimales, et irrationnelle les nombres sont convertis en fraction/forme symbolique avec des radicaux. La sortie de [transpose(vars) double(linsolve(A,B))] est:

[ Ax,  -75] 
[ Ay,  450] 
[ Az,  -75] 
[ Md,  450] 
[ Me, 75*6^(1/2)] 

Comment puis-je obtenir une sortie avec double? Je veux quelque chose de similaire à la sortie suivante:

[ Ax, -75.00] 
[ Ay, 450.00] 
[ Az, -75.00] 
[ Md, 450.00] 
[ Me, 183.71] 
+0

Quel est le problème de 450 vs 450,00? –

+1

n ° 75 * 6^(1/2) contre 183,71 –

Répondre

2

En utilisant vpa avant concaténation:

[transpose(vars) vpa(linsolve(A,B))]