Implementation if statement with two different conditions

6 Ansichten (letzte 30 Tage)
Skydriver
Skydriver am 20 Feb. 2018
Beantwortet: Walter Roberson am 28 Okt. 2024
I have a code using if and else with two different condition 1. if FS1 <= 1 else FS1>1 2. if depth < 20 else depth>20
This is detail of my code: LPi_all=[ ]; for i=1:length(FS1);
depth_allD=[ ];
if FS1 <= 1
for j=1:length(depth);
if depth < 20 % F=1-Fs
w=(10-0.5*depth(j))
else depth > 20
w=0
LPi= (1-FS1(i))*w*3
end
else FS1>1
LPi= 0
end
end
I have a wrong position in the placement the second else.
Error: File: Input_RegLPI.m Line: 335 Column: 5
Illegal use of reserved keyword "else".
Is there any solution for my case
Thanks

Akzeptierte Antwort

BhaTTa
BhaTTa am 21 Okt. 2024
Hey @Skydriver, I see that the else condition inside the for loop does not have any if condition, Please refer to the below corrected code:
LPi_all = [];
for i = 1:length(FS1)
depth_allD = [];
if FS1(i) <= 1
for j = 1:length(depth)
if depth(j) < 20
w = (10 - 0.5 * depth(j));
else % This handles the case where depth(j) >= 20
w = 0;
end
LPi = (1 - FS1(i)) * w * 3;
% Collect LPi value for each depth(j)
depth_allD = [depth_allD, LPi];
end
else % This handles the case where FS1(i) > 1
LPi = 0;
depth_allD = [depth_allD, LPi];
end
LPi_all = [LPi_all; depth_allD];
end
Hope it helps.
  1 Kommentar
Skydriver
Skydriver am 27 Okt. 2024
Verschoben: Voss am 28 Okt. 2024
Thanks. I appreciate with your answer it helpfull to solve my problem

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 28 Okt. 2024
for j=1:length(depth);
if depth < 20 % F=1-Fs
w=(10-0.5*depth(j))
else depth > 20
w=0
LPi= (1-FS1(i))*w*3
end
should probably be
for j=1:length(depth)
w = nan;
if depth(j) < 20
w=(10-0.5*depth(j));
elseif depth(j) > 20
w=0;
end
LPi= (1-FS1(i))*w*3;
Notice the initialization of w to nan in order to catch the case where depth(j) is exactly 20, which is a case that your code does not define.

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by