The following code is correct?

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;

2 Kommentare

Dyuman Joshi
Dyuman Joshi am 5 Mär. 2024
"Have I done it correctly?"
Yes. Your code looks good.
Nisar Ahmed
Nisar Ahmed am 4 Feb. 2025
Verschoben: Dyuman Joshi am 13 Sep. 2025
Thanks

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Karan Singh
Karan Singh am 31 Jan. 2025

1 Stimme

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.

Kategorien

Gefragt:

am 5 Mär. 2024

Verschoben:

am 13 Sep. 2025

Community Treasure Hunt

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

Start Hunting!

Translated by