Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Welcome to Software Development on Codidact!

Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.

Post History

44%
+2 −3
Q&A When I use the piecewise function I get more columns in the output

I have this code syms t y(t) = t*heaviside(t)*heaviside(1-t); x(t) = piecewise(0<=t<=1,1,t<0,0,t>1,0); l = -2:0.01:2; disp(y(l)); disp(x(l)); and in the output, I ge...

0 answers  ·  posted 2y ago by MissMulan‭  ·  edited 2y ago by Alexei‭

#4: Post edited by user avatar Alexei‭ · 2022-08-31T08:08:10Z (over 2 years ago)
added relevant tag
  • I have this code
  • ```
  • syms t
  • y(t) = t*heaviside(t)*heaviside(1-t);
  • x(t) = piecewise(0<=t<=1,1,t<0,0,t>1,0);
  • l = -2:0.01:2;
  • disp(y(l));
  • disp(x(l));
  • ```
  • and in the output I get 2 vectors which is ok. But if you look at those vectors
  • ![](https://software.codidact.com/uploads/8L1AGjYt5NUtPd5n3tcHCNMp)
  • they don't have the same size and this is a problem because I want to find the convolution of the functions `y(t)` and `x(t)`. Why when I use the piecewise function the output vector is bigger than the output vector of the function `t*heaviside(t)*heaviside(1-t)`?
  • I have this code
  • ```
  • syms t
  • y(t) = t*heaviside(t)*heaviside(1-t);
  • x(t) = piecewise(0<=t<=1,1,t<0,0,t>1,0);
  • l = -2:0.01:2;
  • disp(y(l));
  • disp(x(l));
  • ```
  • and in the output, I get 2 vectors which is ok. But if you look at those vectors
  • ![Matlab output when applying the defined piecewise function](https://software.codidact.com/uploads/8L1AGjYt5NUtPd5n3tcHCNMp)
  • they don't have the same size and this is a problem because I want to find the convolution of the functions `y(t)` and `x(t)`. When I use the piecewise function the output vector is bigger than the output vector of the function `t*heaviside(t)*heaviside(1-t)`?
#3: Post edited by user avatar Moshi‭ · 2022-08-31T04:50:02Z (over 2 years ago)
Formatting
When I use the piecewise function I get more  columns in the output
  • I have this code
  • syms t
  • y(t) = t*heaviside(t)*heaviside(1-t);
  • x(t) = piecewise(0<=t<=1,1,t<0,0,t>1,0);
  • l = -2:0.01:2;
  • disp(y(l));
  • disp(x(l));
  • and in the output I get 2 vectors which is ok.But if you look at those vectors
  • ![](https://software.codidact.com/uploads/8L1AGjYt5NUtPd5n3tcHCNMp)
  • they dont have the same size and this is a problem because I want to find the convolution of the functions y(t) and x(t).Why when I use the piecewise function the output vector is bigger than the output vector of the function t*heaviside(t)*heaviside(1-t)?
  • I have this code
  • ```
  • syms t
  • y(t) = t*heaviside(t)*heaviside(1-t);
  • x(t) = piecewise(0<=t<=1,1,t<0,0,t>1,0);
  • l = -2:0.01:2;
  • disp(y(l));
  • disp(x(l));
  • ```
  • and in the output I get 2 vectors which is ok. But if you look at those vectors
  • ![](https://software.codidact.com/uploads/8L1AGjYt5NUtPd5n3tcHCNMp)
  • they don't have the same size and this is a problem because I want to find the convolution of the functions `y(t)` and `x(t)`. Why when I use the piecewise function the output vector is bigger than the output vector of the function `t*heaviside(t)*heaviside(1-t)`?
#2: Post edited by user avatar MissMulan‭ · 2022-08-30T21:14:03Z (over 2 years ago)
  • I have this code
  • syms t
  • y(t) = t*heaviside(t)*heaviside(1-t);
  • x(t) = piecewise(0<=t<=1,1,t<0,0,t>1,0);
  • l = -2:0.01:2;
  • disp(y(l));
  • disp(x(l));
  • and in the output I get 2 vectors which is ok.But if you look at those vectors
  • ![](https://software.codidact.com/uploads/8L1AGjYt5NUtPd5n3tcHCNMp)
  • they dont have the same size and this is a problem because I want to find the convolution of these 2 functions.Why when I use the piecewise function the output vector is bigger than the output vector of the function t*heaviside(t)*heaviside(1-t)?
  • I have this code
  • syms t
  • y(t) = t*heaviside(t)*heaviside(1-t);
  • x(t) = piecewise(0<=t<=1,1,t<0,0,t>1,0);
  • l = -2:0.01:2;
  • disp(y(l));
  • disp(x(l));
  • and in the output I get 2 vectors which is ok.But if you look at those vectors
  • ![](https://software.codidact.com/uploads/8L1AGjYt5NUtPd5n3tcHCNMp)
  • they dont have the same size and this is a problem because I want to find the convolution of the functions y(t) and x(t).Why when I use the piecewise function the output vector is bigger than the output vector of the function t*heaviside(t)*heaviside(1-t)?
#1: Initial revision by user avatar MissMulan‭ · 2022-08-30T21:13:12Z (over 2 years ago)
When I use the piecewise function I get more  columns in the output
I have this code
 
syms t 

y(t) = t*heaviside(t)*heaviside(1-t);

x(t) = piecewise(0<=t<=1,1,t<0,0,t>1,0);

l = -2:0.01:2;

disp(y(l));

disp(x(l));

and in the output I get 2 vectors which is ok.But if you look at those vectors 

![](https://software.codidact.com/uploads/8L1AGjYt5NUtPd5n3tcHCNMp)

they dont have the same size and this is a problem because I want to find the convolution of these 2 functions.Why when I use the piecewise function the output vector is bigger than the  output vector of  the function t*heaviside(t)*heaviside(1-t)?