MATLAB Answers

Calculating energy and power of a signal

1.027 views (last 30 days)
I tried this code to calculate energy and power of the input function f(x). but I get error. how can I fix it?
syms x y z energy pow t;
f=input('enter function: ','s');
f = symfun(eval(f), x);
f=f*conj(f);
f = str2func(['@(x)' vectorize(f)]);
z(t)=integral(y,-t,t);
energy=limit(z(t),t=infinity);
pow=limit(z/t,t=infinity)

  0 Comments

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 18 Mar 2018
I suggest that instead of using
f = str2func(['@(x)' vectorize(f)]);
that you use
f = matlabFunction(f);
However, you could just comment out all of your handling of f, as you never use f after you make it into a function handle.
You have
z(t)=integral(y,-t,t);
At this point your y is a symbolic variable. integral() cannot be applied to symbolic variables: you would need to use int(y, -t, t) -- which is a value you can easily predict will be 0, since the integral of y with respect to y over y = a to y = b is 1/2 b^2 - 1/2 a^2 and with a = -t and b = -t that is going to be 1/2 t^2 - 1/2 (-t)^2 which is going to be 0.

  2 Comments

geometry geometry
geometry geometry on 19 Mar 2018
Thanks helping me. I tried this code and it works well.
syms x y z energy pow;
f=input('enter function: ','s');
f = symfun(eval(f), x);
f=f*conj(f);
f = matlabFunction(f);
y(t)=int(f,-t,t);
energy=limit(y(t),t,inf);
z(t)=y(t)/(2*t);
pow=limit(z(t),t,inf);
geometry geometry
geometry geometry on 19 Mar 2018
Now I'm trying to the same works for discrete time signals and I have tried this code:
syms n f z N;
f=input('enter function: ','s');
f = symfun(eval(f), n);
f=f*conj(f);
f = matlabFunction(f);
y(N)=symsum(f, -N , N);
energy=limit(y(N),N,inf);
z(N)=y(N)/(2*N+1);
pow=limit(z(N),N,inf);
but I have several problems. first how can I write the symbols n and N are integers and the second is that symsum doesn't work well. Could you help me?

Sign in to comment.

More Answers (1)

Mellamputi Sai geetha
Mellamputi Sai geetha on 14 Oct 2020
Generate and plot the continuous time signal where a is the 3rd digit of your vtu number. Compute the sketch with the graph obtained from MATLAB and web tool. Determine the energy of the signal x(t).

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by