The if else statement does not read a string in the excel file
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Carmela Marie Lingad
am 18 Mai 2021
Kommentiert: Carmela Marie Lingad
am 18 Mai 2021
I have a question. I have attached a matlab code and an excel file.
My problem is on the parameter coh1. The condition should be, if the soil classification has the texts "GS", "S", or "G", the value of coh1 should be 0. Otherwise, the value of coh1 should be the product of 0.06 .* 101.325 .* N1. But when I use the if statement, it only reflects the value of the else statement in which, the value of coh1 for cell K5:K7 should be 0. I don't know what did I miss.
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 18 Mai 2021
Change
[strings] = xlsread('Terzaghi.xlsx','Sheet1','E5:E34'); %%Soil classification
to
[~,strings] = xlsread('Terzaghi.xlsx','Sheet1','E5:E34'); %%Soil classification
Change
if isequal(S1,'GS')
coh1 = 0
elseif isequal(S1,'S')
coh1 = 0
elseif isequal(S1,'G')
coh1 = 0
else
coh1 = 0.06 .* 101.325 .* N1
end
to
mask = ismember(S1, {'GS', 'S', 'G'});
coh1(mask) = 0;
coh1(~masK) = 0.06 .* 101.325 .* N1(~mask);
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!