The following code is correct?

5 次查看(过去 30 天)
Ahmed
Ahmed 2024-3-5
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 个)

Karan Singh
Karan Singh 2025-1-31
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 2025-2-4
Thanks

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by