フィルターのクリア

How to make a piecewise function without using syms?

36 ビュー (過去 30 日間)
Brianna Miranda
Brianna Miranda 2021 年 12 月 15 日
コメント済み: Mathieu NOE 2024 年 3 月 6 日
I am trying to plot the following piecewise function without using syms but it plots as a horizontal line. This is the code I'm using. The issue isn't the <=, I have tried several different combinations of them (0<=n && n<=4, 0<=n & n<=4, 0<=n<=4) and the code still does not work.
dt = .1;
n = -31:dt:31;
for ii = 1:length(n)
if 0<=n<=4
x(ii) = n(ii)./4;
elseif 4<n<8
x(ii) = 2-(n(ii)./4);
else
x(ii) = 0;
end
end

採用された回答

Mathieu NOE
Mathieu NOE 2021 年 12 月 15 日
hello Brianna
try this (using logical arrays)
n = 0:20;
x = zeros(size(n)); % cond 3 by default
% cond 1
ind1 = (0<=n & n<=4);
x(ind1) = n(ind1)/4;
% cond 2
ind2 = (4<n & n<8);
x(ind2) = 2-n(ind2)/4;
plot(n,x);
  3 件のコメント
Ekin
Ekin 2024 年 3 月 6 日
it's been like 3 years since your comment apparently but i wanted to thank you this code helped me a lot :)
Mathieu NOE
Mathieu NOE 2024 年 3 月 6 日
glad it helped you :)

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeApplications についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by