MATLAB: Help! plotting i(t) vs t.

help! plotting i(t) vs t.homework

Hello, i got stocked bulding my code for this problem.
a) plot i(t) vs. t, over -pi<t<3pi.
i(t)= {3+5*sin(2*t-pi)+t*exp(-t)}[u(t)-u(t-2*pi)]
b) determine the values for i(t) for t = 0, pi/2, pi and -pi/2
c) evaluate RMS value of i(t)
This is what I have so far:
% Script file : sym _ analysis _ RLC
% Analysis of an RLC series circuit
% where the current is iamps i(t)= {3+5*sin(2*t-pi)+t*exp(-t)}[u(t)-u(t-2*pi)]
% R=2K Ohms, L=3mH, and C=1 microF
function i(t) = ?????
u = double(t>=0);
echo off;
iamps= {3+5*sin(2*t-pi)+t*exp(-t)}*(u(t)-u(t-2*pi));
figure(1)
subplot(2,2,1)
ezplot(iamps)
title('i(t) vs.t');
ylabel('Amplitude (amps)');
grid on
ALL advice will be really appreciated.
Thanks.

Best Answer

  • You cannot list a subscripted variable on the "function" line of a definition.
    function iamps = i(t)
    You also need to change the {} to ()
    iamps = (3+5*sin(2*t-pi)+t*exp(-t))*(u(t)-u(t-2*pi)); %{} became ()
    If you are planning to pass a vector of t in, then you need to convert the * into .* in order to vectorize-- In MATLAB, * is algebraic matrix multiplication, not element-by-element multiplication.
    iamps = (3+5*sin(2*t-pi)+t.*exp(-t)).*(u(t)-u(t-2*pi)); %vectorize as well