If statement to target certain area of f(i,j)?

1 次查看(过去 30 天)
Assume I have a function of F(i,j) in grid points,
Am i typing my if statement correctly to target the 2 areas shown above? MATLAB console has not shown any error so far. Thanks in advance.
% Subroutine
function k=X(x,y,dx)
if (x <=5 & y <=2) & (x >= 10 & y >= 10)
constant = 85; % beta
else
constant = 100; % alpha
end
k=constant*dx;
end

采纳的回答

KSSV
KSSV 2021-6-11
% Subroutine
function k=X(x,y,dx)
if (x <=5 && y <=2) || (x >= 10 && y >= 10)
constant = 85; % beta
else
constant = 100; % alpha
end
k=constant*dx;
end
  3 个评论
Steven Lord
Steven Lord 2021-6-11
% if (x <=5 & y <=2) & (x >= 10 & y >= 10)
Is the if condition satisfied for x = 3 and y = 1?
x = 3;
y = 1;
condition = (x <=5 & y <=2) & (x >= 10 & y >= 10)
condition = logical
0
Why is this false when the point is in the left box in your diagram?
inLeftBox = (x <=5 & y <=2)
inLeftBox = logical
1
inRightBox = (x >= 10 & y >= 10)
inRightBox = logical
0
The first condition is true but the second is false and:
true & false % false
ans = logical
0
In fact this if statement's condition cannot be satisfied. Can you think of an x coordinate that is simultaneously less than or equal to 5 and greater than or equal to 10? Or to put it another way, point out a point in your diagram that's in both the beta boxes.
How about the second if statement?
% if (x <=5 & y <=2) | (x >= 10 & y >= 10)
condition2 = (x <=5 & y <=2) | (x >= 10 & y >= 10)
condition2 = logical
1
true | false
ans = logical
1

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Graphics Performance 的更多信息

标签

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by