0

我正在尝试从 for 循环中的矩阵创建一个表。

我遇到的问题是为每次循环进行时添加新行的行创建一个标签。该代码适用于第一个循环,并且 RLABEL 为第二个循环更新自身,但是当我来打印矩阵时,它说没有足够的行标签。

我只是想知道 MATLAB 是否有一种方法可以读取 RLABEL 中有 2 个行标签,而不必每次都手动输入它们?

以下是我的代码的副本

d = 2;           
kij = [1,2];       
uMatrix = zeros(1:2);    
for j=1:d        
     RLABEL(j,:) = ['Row','',int2str(j)]   %Creates Row string that updates itself each loop
     Px = rand                          
     var = (5/12)*d*sum(kij)             
     lam = 1/sqrt(var)                  
     u(j) = ((log(1-Px))/-lam)+kij(1,j)    
     uMatrix(j,1) = j;  
     uMatrix(j,2) = u(j)
     printmat(uMatrix,'Results',RLABEL,'SECTION u' )    
end
4

1 回答 1

1

行标签需要以空格分隔的单个字符串中。此外,请注意,带有的行printmat应该放在循环之外:

d = 2;
kij = [1,2];
uMatrix = zeros(1:2);

RLABEL=[];
for j=1:d

    RLABEL= [RLABEL 'Row','',int2str(j) ' '];   %Creates Row string that updates itself each loop

    Px = rand
    var = (5/12)*d*sum(kij)
    lam = 1/sqrt(var)
    u(j) = ((log(1-Px))/-lam)+kij(1,j)

    uMatrix(j,1) = j;

    uMatrix(j,2) = u(j)
end

printmat(uMatrix,'Results',RLABEL,'SECTION u' )

这导致

Results = 
                   SECTION            u
         Row1      1.00000      3.21609
         Row2      2.00000      2.22374
于 2013-03-15T11:15:55.940 回答