How to Use Character String as a For Loop Variable.

5 views (last 30 days)
I am attempting to use a character string as a variable in the following for loop:
Spring_Type = "Closed and Ground";
if Spring_Type = "Open";
Pitch = (Free_Length - D_Wire)/A_Coils;
elseif Spring_Type = "Open and Ground";
Pitch = Free_Length/Tot_Coils;
Pitch = (Free_Length - (2*D_Wire))/A_Coils;
elseif Spring_Type = "Closed";
Pitch = (Free_Length - (3*D_Wire))/A_Coils;
elseif Spring_Type = "Closed and Ground";
Pitch = (Free_Length - (2*D_Wire))/A_Coils;
end
All the other variables are fully defined in a section before this. When I run this section I get the following error:
Could someone explain why I cannot use a character string as a variable, and if there is an alternative way to achieve what I am doing?
Many thanks,

Accepted Answer

jonas
jonas on 5 Aug 2018
Edited: jonas on 5 Aug 2018
The condition must output a logical. Use e.g. isequal or ==
if isequal(Spring_type,'Open')
...
end
or
if Spring_type == 'Open'
...
end

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products


Release

R2017a

Community Treasure Hunt

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

Start Hunting!