2014-11-18 1 views
1

두 행렬을 연결하기 위해 vertcat을 사용할 때 오류가 발생합니다. I는 행렬이 두 값을 포함하여 96 -9- 또 다른 매트릭스 2- 의해 -9-이다vertcat을 사용하려고 할 때 오류가 발생하는 이유는 무엇입니까?

text = 

    Columns 1 through 6 

    'GL/GG' 'go' 'vc (m/min)' 'fz (mm)' 'Fx (N)' 'Fy (N)' 
    '[]'  '[]' '[]'   '[]'   '[]'  '[]'  

    Columns 7 through 9 

    'd (°)' 'MA (%)' 'V (%)' 
    '[]'  '[]'  '[]' 

을 연결할 수있는 방법.

vertcat 기능에 문제가있는 이유를 알 수 없습니다. 는 지금까지 내가 말할 수있는, c = vertcat(text,text) 잘 작동합니다 :

Columns 1 through 6 

    'GL/GG' 'go' 'vc (m/min)' 'fz (mm)' 'Fx (N)' 'Fy (N)' 
    '[]'  '[]' '[]'   '[]'   '[]'  '[]'  
    'GL/GG' 'go' 'vc (m/min)' 'fz (mm)' 'Fx (N)' 'Fy (N)' 
    '[]'  '[]' '[]'   '[]'   '[]'  '[]'  

    Columns 7 through 9 

    'd (°)' 'MA (%)' 'V (%)' 
    '[]'  '[]'  '[]' 
    'd (°)' 'MA (%)' 'V (%)' 
    '[]'  '[]'  '[]' 

어떻게해야합니까?

열 1

열 여섯

 1   0   1   0  0.65318  0.045977 
     1   0.2  0.42857   1  0.46243  0.21264 
     0   0  0.42857   0.4  0.023121  0.26437 
     0   0.2  0.14286   0.4  0.10405  0.41954 
     0   0.2   1   0.4  0.14451  0.4023 
     0   0.6   0   1  0.034682  0.2931 
     0   1  0.42857   0.4  0.21387  0.48276 
     1   0.2   1   0  0.53179  0.086207 
     1   0.6   1   0  0.46243  0.011494 
     1   0.6  0.14286   1  0.62428  0.52299 
     1   1  0.42857   0   1  0.21839 
     0   0.2  0.42857   1  0.028902  0.52874 
     0   0.6   0   0  0.16185  0.16667 
     0   0.6  0.14286   0  0.098266  0.13218 
     0   0.6   1   0  0.19653  0.14368 
     0   0.6   1   0.4  0.10983  0.40805 
     0   1   0   0  0.25434  0.25862 
     0   1   1   1  0.046243  0.47701 
     1   0  0.14286   0.4  0.7052  0.3046 
     1   0.2   1   1  0.66474  0.32184 
     1   0.6   1   0.4  0.54913  0.057471 
     1   0.6   1   1  0.89017  0.24713 
     1   1  0.14286   0  0.74566  0.15517 
     1   1  0.14286   0.4  0.42197  0.091954 
     1   1   1   1  0.61272  0.14943 
     0   0   1   1  0.069364  0.7931 
     0   1  0.14286   0  0.33526  0.37931 
     0   1  0.14286   1  0.034682  0.55172 
     1   0  0.42857   0  0.56069  0.17816 
     1   0.6   0   1  0.57803  0.46552 
     1   1   1   0  0.87861  0.057471 
     1   0   0   0.4  0.45087  0.18966 
     1   0.2   0   0  0.3526  0.028736 
     1   0.2   0   0.4  0.50867  0.29885 
     1   0.2   1   0.4  0.7341  0.32184 
     1   0.2   0   1  0.56647  0.2931 
     1   0.6  0.14286   0  0.43931  0.086207 
     1   0.6  0.42857   0.4  0.39306  0.21839 
     1   1  0.42857   0.4  0.50289  0.1092 
     0   0  0.42857   0  0.21965  0.32184 
     0   0  0.14286   0.4  0.17919  0.74138 
     0   0   1   0.4  0.098266  0.47126 
     0   0.2   1   0  0.33526  0.36782 
     0   0.2  0.14286   1  0.023121  0.47701 
     0   0.6  0.14286   0.4  0.16185  0.54598 
     0   1  0.14286   0.4  0.023121  0.20115 
     1   0.2  0.14286   0  0.43931  0.068966 
     1   0.2  0.14286   0.4  0.52023  0.25862 
     1   0.6  0.42857   0  0.43353  0.034483 
     1   0.6   0   0.4  0.48555  0.26437 
     1   1   0   0.4  0.42197  0.16092 
     1   1   0   1  0.80925  0.6092 
     0   0   0   0  0.23121  0.37931 
     0   0   1   0  0.30636  0.1954 
     0   0.2  0.42857   0  0.18497  0.15517 
     0   0.6  0.42857   1   0  0.53448 
     1   0   1   0.4  0.54913  0.13218 
     1   0.6  0.14286   0.4  0.45087  0.27586 
     1   0.6  0.42857   1  0.52601  0.40805 
     1   1  0.42857   1  0.83237  0.55747 
     0   0   0   1  0.017341  0.50575 
     0   0  0.42857   1  0.080925   1 
     0   0.2   0   0  0.11561  0.15517 
     0   0.6  0.42857   0.4  0.052023  0.36782 
     0   0.6   1   1  0.10983  0.41954 
     0   1   1   0  0.40462  0.27586 
     0   1  0.42857   1  0.14451  0.74713 
     1   0   0   0  0.65318  0.1954 
     1   0  0.42857   0.4  0.55491  0.24138 
     1   0  0.14286   1  0.99422  0.61494 
     1   0.6   0   0  0.3526   0 
     0   0   0   0.4  0.092486  0.26437 
     0   0.2   0   1  0.023121  0.38506 
     0   0.6  0.14286   1  0.017341  0.58046 
     0   1  0.42857   0  0.49711  0.41954 
     0   1   0   1  0.15029  0.72414 
     1   0  0.42857   1  0.78035  0.62069 
     1   0   1   1  0.72832  0.44828 
     1   1  0.14286   1  0.81503  0.27586 
     0   0  0.14286   0  0.21387  0.21839 
     0   0  0.14286   1  0.086705  0.7931 
     0   0.2  0.14286   0  0.10983  0.1092 
     0   0.2   0   0.4  0.086705  0.41954 
     0   0.2  0.42857   0.4  0.023121  0.1092 
     0   0.6   0   0.4  0.052023  0.31609 
     0   1   0   0.4  0.098266  0.17241 
     1   0  0.14286   0  0.65896  0.16667 
     1   0   0   1  0.90751  0.73563 
     1   0.2  0.42857   0  0.4104  0.051724 
     1   0.2  0.42857   0.4  0.36994  0.17241 
     1   0.2  0.14286   1  0.47977  0.23563 
     1   1   0   0  0.6185  0.16667 
     1   1   1   0.4  0.39884  0.25287 
     0   0.2   1   1  0.052023   0.5 
     0   0.6  0.42857   0  0.18497  0.15517 
     0   1   1   0.4  0.16763  0.3046 
을 통해 7 ~ 9

0.061728  0.26761  0.375 
    0.32099   0   0 
    0.91358  0.74648  0.375 
    0.76543  0.35211  0.4375 
    0.71605  0.39437  0.33333 
    0.82716  0.67606  0.10417 
    0.66667  0.49296  0.52083 
    0.16049  0.4507  0.58333 
    0.12346  0.22535  0.8125 
    0.39506  0.87324  0.1875 
0.074074  0.19718  0.58333 
    0.85185  0.5493  0.1875 
    0.60494  0.57746  0.375 
    0.69136  0.29577  0.47917 
    0.54321  0.4507  0.52083 
    0.75309  0.64789  0.1875 
    0.54321  0.47887  0.625 
    0.92593  0.15493  0.083333 
    0.23457  0.19718  0.47917 
    0.25926  0.49296  0.1875 
    0.12346  0.77465  0.14583 
    0.12346  0.59155  0.22917 
    0.11111  0.056338   1 
    0.23457  0.25352  0.33333 
    0.17284  0.39437  0.66667 
    0.82716  0.94366  0.29167 
    0.53086  0.26761  0.375 
    0.83951  0.59155  0.083333 
    0.22222  0.22535  0.66667 
    0.39506  0.38028  0.10417 
     0  0.42254  0.72917 
    0.30864  0.71831  0.22917 
    0.23457  0.47887  0.375 
    0.34568  0.16901  0.22917 
    0.23457  0.16901  0.1875 
    0.2963  0.59155  0.10417 
    0.22222  0.25352  0.375 
    0.38272  0.39437  0.375 
    0.19753  0.47887  0.1875 
    0.60494  0.64789  0.52083 
    0.75309  0.49296  0.47917 
    0.77778  0.69014  0.375 
    0.51852  0.39437  0.70833 
    0.85185  0.84507  0.14583 
    0.7284  0.64789  0.29167 
    0.82716  0.16901  0.29167 
    0.19753  0.39437  0.5625 
    0.30864  0.38028  0.33333 
    0.17284  0.35211  0.4375 
    0.34568  0.12676  0.29167 
    0.30864  0.5493  0.22917 
    0.34568  0.59155  0.22917 
    0.61728  0.52113  0.4375 
    0.44444  0.32394  0.375 
    0.5679  0.22535  0.375 
    0.87654  0.29577  0.375 
    0.19753  0.59155  0.083333 
    0.37037  0.80282  0.29167 
    0.39506  0.15493  0.33333 
    0.30864  0.42254  0.14583 
    0.9.59155  0.083333 
    0.82716  0.94366  0.22917 
    0.66667  0.47887  0.39583 
    0.81481  0.67606  0.33333 
     1  0.57746  0.33333 
    0.40741  0.29577  0.29167 
    0.77778  0.74648  0.39583 
    0.18519  0.39437  0.70833 
    0.2716  0.52113  0.29167 
    0.2716  0.25352  0.22917 
    0.19753  0.39437  0.29167 
    0.74074  0.4507  0.52083 
    0.83951  0.61972  0.1875 
    0.85185  0.91549  0.33333 
    0.41975  0.29577  0.625 
    0.76543  0.64789  0.22917 
    0.35802  0.64789  0.22917 
    0.30864  0.52113  0.1875 
    0.17284  0.90141  0.10417 
    0.5679  0.47887  0.52083 
    0.81481  0.84507  0.375 
    0.65432  0.49296  0.29167 
    0.77778  0.57746  0.22917 
    0.93827  0.49296  0.22917 
    0.80247  0.29577   0.25 
    0.7037  0.57746  0.33333 
    0.16049  0.15493  0.58333 
    0.34568  0.84507  0.10417 
    0.20988  0.61972  0.29167 
    0.35802  0.42254  0.375 
    0.32099  0.52113  0.083333 
    0.18519  0.4507  0.58333 
    0.39506  0.47887   0.25 
    0.92593   1  0.33333 
    0.5679  0.22535  0.39583 
    0.66667  0.19718  0.1875 
+1

여기에 몇 가지 유형과 데이터 구조가 혼합되어 있다고 생각합니다. (1)'cell'과'matrix'를 서로 연결시킬 수 없습니다. (2)'double'과'char' 요소가있는 곳에'matrix'를 사용할 수 없습니다. – patrik

+1

@meryem,'text'가 행렬입니까? MATLAB 행렬에는 문자열을 저장할 수 없으며 셀 배열 만 문자열을 저장할 수 있습니다. 행렬은 2D char 행렬을 1D 문자열 벡터로 만드는 문자 만 포함 할 수 있습니다. – SIMEL

+0

@meryem 만약 당신이 divacar가하지 않았다면 당신은 그것을하지 않았다고 제안했습니다. 'matrix'와'cell'을 연결할 수 없으며 같은 행렬에'char'와'double'을 가진'matrix'를 가질 수 없습니다. 이야기의 끝. 'vertcat ({'a ','b ','c ','d '}, ['a ','b ','c ','d '])'이 'a = [1,2, 'a', 'b']'는'1'과'2'가 ascii 형식의'char'라고 가정합니다. – patrik

답변

0

을 통해 당신은 그들이 동일한 크기 경우, 즉에게 행과 열이 있어야합니다 (String 형의) 수직 배열을 연결할 수 있습니다 같은. 비슷한 질문이 여기에 있습니다. https://math.stackexchange.com/questions/449791/why-do-i-keep-getting-a-vertcat-error-in-matlab. 이것은 당신이 당신이 반대하는 것을 이해하는 데 도움이 될 수 있습니까?

팁은 공백 ""을 사용하여 차이를 채우는 것이 좋을까요? 이렇게하면 동일한 크기의 배열을 사용할 수 있습니다. 그러나, 나는 당신의 작업의 매개 변수를 모른다. 그래서 ""을 패딩 요소로 사용하면 달성하고자하는 것에 영향을 미칠 수있다.

0

문제는 text 행렬이 실제로 cell array이라는 것입니다. 여기서 행렬의 복식은 단지 일반 Double 행렬입니다. 연결을 수행하려면 먼저 두 배 배열을 각 요소가 별도의 셀에있는 셀 배열 (즉, -by- 셀 배열)로 변환해야합니다. 이렇게하려면 mat2cell을 사용하십시오.

text = { 'GL/GG', 'go', 'vc (m/min)', 'fz (mm)', 'Fx (N)', 'Fy (N)', 'd (°)', 'MA (%)', 'V (%)'; 
     '[]', '[]', '[]',   '[]',  '[]',  '[]',  '[]', '[]',  '[]'}; 
num = rand(96,9); 

vertcat(text, mat2cell(num, ones(size(num,1),1), ones(1,size(num,2)))); 
관련 문제