Defining a piecewise function using a list
4 ビュー (過去 30 日間)
古いコメントを表示
I would like to define a piecewise function by providing two lists and using a for loop eg:
xlist = {1, 2, 3, 4}
ylist = {4, 5, 6}
f(x):= { ylist[1] if x in [ xlist[1],xlist[2] ]; ylist[2] if x in [ xlist[2],xlist[3] ]; ylist[3] if x in [ xlist[3],xlist[4] ]; 0 otherwise}
0 件のコメント
回答 (1 件)
Walter Roberson
2018 年 9 月 12 日
t = num2cell(piecewise([reshape([x >= xlist(1:end-1) & x < xlist(2:end)], [], 1), ylist(:); sym('true'), 0].'));
f = piecewise(t{:});
I had to make assumptions about whether you wanted your ranges to be semi-open or semi-closed
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Numerical Integration and Differential Equations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!