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 commentaires

Dyuman Joshi
Dyuman Joshi le 5 Mar 2024
"Have I done it correctly?"
Yes. Your code looks good.
Nisar Ahmed
Nisar Ahmed le 4 Fév 2025
Déplacé(e) : Dyuman Joshi le 13 Sep 2025
Thanks

Connectez-vous pour commenter.

Réponses (1)

Karan Singh
Karan Singh le 31 Jan 2025

1 vote

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.

Catégories

Question posée :

le 5 Mar 2024

Déplacé(e) :

le 13 Sep 2025

Community Treasure Hunt

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

Start Hunting!

Translated by