# Why Does This Definition of a Piecewise Function Produce a Warning Message?

1 ビュー (過去 30 日間)
Kareem Elgindy 2022 年 1 月 31 日
コメント済み: Kareem Elgindy 2022 年 2 月 2 日
MATLAB issues a warning when defining the below piecewise function
syms y(x); y(x) = piecewise(x<1, x+1, 1<=x<2, x-1);
But when I write
y(x) = piecewise(x<1, x+1, (1<=x) & (x<2), x-1);
the warning message disappears. Could someone point to an example where those two ways of defining a piecewise function produce different results? It seems here that they give identical results.

サインインしてコメントする。

### 採用された回答

Benjamin Thompson 2022 年 1 月 31 日
This is just a warning about good programming syntax. Good programming style is to never leave order of operations in doubt, and add parenthesis where needed to clarify order of operations. While a <= b <= c is good mathematical notation, it may no be clear to a compiler or interpreter how the expression must be evaluated.
##### 3 件のコメント表示非表示 2 件の古いコメント
Kareem Elgindy 2022 年 2 月 2 日
Beautiful example!

サインインしてコメントする。

### カテゴリ

Find more on Assumptions in Help Center and File Exchange

R2021b

### Community Treasure Hunt

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

Start Hunting!

Translated by