How to assign new variables?

2 ビュー (過去 30 日間)
Devendra
Devendra 2024 年 4 月 13 日
編集済み: Walter Roberson 2024 年 4 月 14 日
I am using following lines of matlab code to assign new variables to print on plot.
if(dependent_vars{jj} == 'act_y_ha')
par = 'act\_y\_ha'
end
if(dependent_vars{jj} == 'act_per_ha')
par = 'act\_per\_ha'
end
This code is giving following error
par = 'act\_y\_ha'
Arrays have incompatible sizes for this operation.
Error in ds_reg (line 69)
if(dependent_vars{jj} == 'act_per_ha')
I request you to kindly suggest me to fix the error.
Devendra

採用された回答

Konstantinos
Konstantinos 2024 年 4 月 13 日
The error you're encountering, "Arrays have incompatible sizes for this operation," suggests that the comparison operation == between the string 'act_per_ha' and the cell array element dependent_vars{jj} is causing an issue due to incompatible sizes or types.
To fix this error, you can use the strcmp function to compare strings in MATLAB. Here's the corrected code:
if strcmp(dependent_vars{jj}, 'act_y_ha')
par = 'act\_y\_ha';
end
if strcmp(dependent_vars{jj}, 'act_per_ha')
par = 'act\_per\_ha';
end
  6 件のコメント
Devendra
Devendra 2024 年 4 月 13 日
Thank you very much for your help, Devendra
Star Strider
Star Strider 2024 年 4 月 13 日
@Devendra — See: Answer

サインインしてコメントする。

その他の回答 (1 件)

Star Strider
Star Strider 2024 年 4 月 13 日
Use the strrep function instead of the if block —
jj = 1;
dependent_vars{jj} = 'act_per_ha';
jj = 2;
dependent_vars{jj} = 'act_per_ha';
jj = 3;
dependent_vars{jj} = 'line with no underscores';
for jj = 1:numel(dependent_vars)
dependent_vars{jj} = strrep(dependent_vars{jj}, '_', '\_');
end
dependent_vars{:}
ans = 'act\_per\_ha'
ans = 'act\_per\_ha'
ans = 'line with no underscores'
.
  2 件のコメント
Devendra
Devendra 2024 年 4 月 14 日
Thank you for your help. Deva
Star Strider
Star Strider 2024 年 4 月 14 日
My pleasure!

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMATLAB についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by