The following code is correct?

9 views (last 30 days)
Ahmed
Ahmed on 5 Mar 2024
Answered: Nisar Ahmed on 4 Feb 2025 at 8:59
I have a Ph of size 139 48 101 values ranging say 0 to 0.4, now to compute Kd from Ph have two equations if Ph is equal or less than 0.35 and if Ph is greater than 0.35. I used following code to apply two equation. Have I done it correctly?
Kd = zeros(size(Ph));
% Find indices where Ph is less than or equal to 0.35
indices1 = Ph <= 0.35;
% Find indices where Ph is greater than 0.35
indices2 = Ph > 0.35;
% Apply the first equation to 'kd' where PhiE is less than or equal to 0.35
Kd(indices1) = 38.18.*(1-3.39.*Ph(indices1)+1.95.*Ph(indices1).^2).*1e9;
% Apply the second equation to 'kd' where Ph is greater than 0.35
Kd(indices2) = exp(-62.60.*PhiE(indices2)+22.58).*1e9;
  1 Comment
Dyuman Joshi
Dyuman Joshi on 5 Mar 2024
"Have I done it correctly?"
Yes. Your code looks good.

Sign in to comment.

Answers (2)

Karan Singh
Karan Singh on 31 Jan 2025 at 7:45
Hi Ahmed,
Everything seems to be in order here. The code you provided has a typo in the second equation where you mistakenly used "PhiE" instead of "Ph." Is "PhiE" something different? Otherwise, everything seems fine. Your use of ".*" and ".^" is correct for element-wise operations, which is necessary given that "Ph" is an array.

Nisar Ahmed
Nisar Ahmed on 4 Feb 2025 at 8:59
Thanks

Community Treasure Hunt

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

Start Hunting!