如何为矩阵的每个元素设置不同的显示样式?

时间:2017-02-24 23:02:56

标签: matlab matrix

我有一个矩阵:

G =

10.0000e+000     0.0000e+000     4.0000e+000     2.7013e-009
10.0000e+000    10.0000e+000     1.0000e+000     7.7550e-009
 5.0000e+000     5.0000e+000     2.0000e+000   -15.3223e-009
10.0000e+000    10.0000e+000     3.0000e+000     6.6898e-009

但我希望像这样显示它,只有科学记数法中的特定数字,这可能吗?:

G =

10     0     4     2.7013e-009
10    10     1     7.7550e-009
 5     5     2   -15.3223e-009
10    10     3     6.6898e-009

矩阵码:

x_1=0;  y_1=0;   z_1=0; 
x_2=10; y_2=0;   z_2=4;
x_3=10; y_3=10;  z_3=1;
x_4=5;  y_4=5;   z_4=2;

cT21 =   2.701320e-09 
cT31 =   7.755042e-09 
cT41 =   -1.532233e-08 
cT51 =   6.689788e-09 

format shortEng
G = [x_2 y_2 z_2 cT21; x_3 y_3 z_3 cT31; x_4 y_4 z_4 cT41; x_5 y_5 z_5 cT51]

1 个答案:

答案 0 :(得分:6)

fprintf('%i %i %i %e \n',G.')
10 0 4 2.701300e-09 
10 10 1 7.755000e-09 
5 5 2 -1.532230e-08 
10 10 3 6.689800e-09 

使用fprintf。您为每个整数选择%i,为每个指数选择%e/n负责G中包含的每一行的换行符。请注意G.'; MATLAB按列主要顺序显示,因此必须首先调换G

更简单一点,选择format shortG自动处理所有值,无论它们在矩阵中的位置如何:

format shortG
G =

           10            0            4   2.7013e-09
           10           10            1    7.755e-09
            5            5            2  -1.5322e-08
            5            5            2   6.6898e-09