How to compare two string columns from different tables?
6 ビュー (過去 30 日間)
古いコメントを表示
I have been trying to write a title for a plot using a table that I have for the variables (see the pictures), and I am aiming for the title to look like this: "Variable name" + " unit " + 10^"decimal point".
The struggle now is that I could not find out how to compare both the variable name colums between the two tables and I am also not sure how to write them in the title through a loop everytime. I ve had some trials but no success
for k = 1:numel(U)
X = T.Variable==U(k);
Var2=Variableunits.Variable;%the table that contains the units and the decimal factor that should be used.
Num2= size(Var2,1);
for j= 1:Num2
if strcmpi(Var2{i},U(k)) == 0 % in case the the a variable from the arrray U and from the column Var2 are identical, Im not sure if it is right.
title(Var2{i},Variableunits.unit,Variableunits.Faktor); % write the variable, its unit and factor (I know it is not written right.)
end
end
end
Thanks a lot in advance in case someone can help!
2 件のコメント
Walter Roberson
2020 年 11 月 12 日
Please attach a sample subset of VariableUnits not just an image of it. Based on the image, I suspect that you are not accessing the columns properly.
採用された回答
Walter Roberson
2020 年 11 月 12 日
for j= 1:Num2
if strcmpi(Var2{i},U(k)) == 0 % in case the the a variable from the arrray U and from the column Var2 are identical, Im not sure if it is right.
Your for loop is in variable j, but you are indexing Var2 at i where i is not initialized in the code you posted. That would leave i as sqrt(-1) which would be an error as an index.
title(Var2{i},Variableunits.unit,Variableunits.Faktor); % write the variable, its unit and factor (I know it is not written right.)
Try
title(Var2{i},Variableunits.unit + " " + Variableunits.Faktor); % write the variable, its unit and factor (I know it is not written right.)
2 件のコメント
Walter Roberson
2020 年 11 月 12 日
編集済み: Walter Roberson
2020 年 11 月 12 日
Us = {'E1_ABD_FoamEventCnt','E1_LD_ActualStatus','H1_PRESSURE_S15hPa','H2_PRESSURE_S03mmHg','H2_PRESSURE_S07mmHg','H2_TMP_PDmdaPa'};
U = categorical(Us);
for k = 1:numel(U)
Var2 = Variableunits.Variable;%the table that contains the units and the decimal factor that should be used.
Num2 = size(Var2,1);
for i = 1:Num2
if Var2(i) == U(k)
thisunit = Variableunits.Unit(i);
if ismissing(thisunit)
thisunitname = '';
else
thisunitname = string(thisunit);
end
title(string(Var2(i)) + " " + thisunitname + " " + string(Variableunits.Factor(i)), 'Interpreter', 'none');
end
end
end
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Title についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!