Defining Dirac Function matlab
    5 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
x(t) = t(u(t + 2) − 3 u(t − 3) + 2 u(t − 5))
How can I plot this function, with u as the diriac and t as a variable?
2 comentarios
  Walter Roberson
      
      
 el 2 de Mzo. de 2017
				It seems much more likely to me that you want Heaviside rather dirac.
  Rik
      
      
 el 2 de Mzo. de 2017
				I agree with Walter. If so, you could implement the Heaviside function (if there is not already an implementation built in) with something like (x+abs(x))/2
Respuestas (2)
  Walter Roberson
      
      
 el 2 de Mzo. de 2017
        heaviside exists in the Symbolic Math toolbox. Please be careful about the value of heavside(0); since R2015a you have been able to configure that value using sympref()
dirac exists in the Symbolic Math toolbox as well. Please remember that dirac() is technically a distribution, and that dirac(x) is 0 for all non-0 x and is infinite for x == 0, so multiplying dirac(x) by a constant only makes sense if you are integrating a function that contains dirac() (in which case you get the heaviside step function.)
0 comentarios
  Carlos M. Velez S.
 el 24 de Jul. de 2025
        If you want to apply the Dirac delta function in simulation to continuous-time systems, the following code is enough:
function y = delta_dirac(u)
[n,m] = size(u);
if max(n,m) ==1
    dt = 1e-6; % Define a small time increment for the delta function
else
    dt = u(2) - u(1);
end
y = zeros(n,m);
for i=1:max(m,n)
    if u(i) == 0
        y(i) = 1/dt;
    else
        y(i) = 0;
    end
end
0 comentarios
Ver también
Categorías
				Más información sobre Introduction to Installation and Licensing en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



