Clear Filters
Clear Filters

How to assign new variables?

3 views (last 30 days)
Devendra
Devendra on 13 Apr 2024
Edited: Walter Roberson on 14 Apr 2024
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

Accepted Answer

Konstantinos
Konstantinos on 13 Apr 2024
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 Comments
Devendra
Devendra on 13 Apr 2024
Thank you very much for your help, Devendra

Sign in to comment.

More Answers (1)

Star Strider
Star Strider on 13 Apr 2024
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 Comments
Devendra
Devendra on 14 Apr 2024
Thank you for your help. Deva

Sign in to comment.

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!