Borrar filtros
Borrar filtros

Multiple if statements with two conditions

26 visualizaciones (últimos 30 días)
Muhammad Imran
Muhammad Imran el 24 de Abr. de 2020
Comentada: Rik el 28 de Abr. de 2020
Hi. I want to know how can i reduce these if statements with two conditions.
I have tried following code but it is very lengthy to use for like 50 values.
X = {'1';'2A';'2B';'3';'4'}'; %Seismic Zone
Z = [0.075, 0.15, 0.2, 0.3, 0.4]'; %Zone factor
zTbl = table(Z,'RowNames',X); %Table of Zone and Zone Factor
x = input('What is seismic zone?: ','s'); %Seismic Zone input
Z = zTbl{upper(x),'Z'} % Z factor assigned
SP=input('What is SP?: ','s')
SP1=upper(SP)
if Z==0.075 & SP1=='SA'
Ca=0.06
elseif Z==0.075 & SP1=='SB'
Ca=0.08
elseif Z==0.15 & SP1=='SA'
Ca=0.16
.
.
end

Respuesta aceptada

Rik
Rik el 24 de Abr. de 2020
Create an array with all implemented values of CA. Then you can use array operations to find the index, which will allow you to easily add cases and detect combinations that aren't implemented.
  16 comentarios
Muhammad Imran
Muhammad Imran el 28 de Abr. de 2020
But i have to also take care of the closest disatance input. Where will i compare it?
Rik
Rik el 28 de Abr. de 2020
Like this?
CD1=input('What is closet distance to known source?:');
if CD1<CD(1),CD1=CD(1);elseif CD1>CD(end),CD1=CD(end);end

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Seismology en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by