【问题标题】:MATLAB - Creating changing row titles within for loop that can be used as Matrix row labelsMATLAB - 在 for 循环中创建可用作矩阵行标签的更改行标题
【发布时间】:2013-03-15 11:02:32
【问题描述】:

我正在尝试从 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

【问题讨论】:

    标签: matlab matrix


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多