The if else statement does not read a string in the excel file

조회 수: 1 (최근 30일)
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.

채택된 답변

Walter Roberson
Walter Roberson 2021년 5월 18일
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);

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Agriculture에 대해 자세히 알아보기

태그

제품


릴리스

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by