Clear Filters
Clear Filters

When I integrate a constant over Tp I should get the constant but I don't?

1 view (last 30 days)
I'm attempting to find the average value but have come up against a error.
When I integrate a constant over Tp I should get the constant but I don't?
>> T= 2*pi
>> ao=(1/T)*int(100.0,t,0,T) %Integrate the constant 100 over Tp to find the average
ao =
(143354028480566475*pi)/4503599627370496

Accepted Answer

Stephan
Stephan on 13 Jan 2019
Edited: Stephan on 13 Jan 2019
Hi,
int is a Symbolic Toolbox function. Use either double or integral for direct numeric computation.
a0 = double((1/T)*int(100.0,t,0,T))
  2 Comments
Gary Armstrong
Gary Armstrong on 14 Jan 2019
clear all
syms t n
T= 2*(pi); % T= Period
w0=1; % Fundamental anguler freg
%n=1:10; % n=1 fundamental, n>1 harmonics
v =100+100*cos(w0*t);
a0= double( (1/T)*int(v(t),t,0,T))
an= double( (2/T)*int(v(t)*cos(n*w0*t),t,0,T))
bn= double( (2/T)*int(v(t)*sin(n*w0*t),t,0,T))
Error using sym/subsindex (line 825)
Invalid indexing or function definition. Indexing must follow MATLAB indexing. Function arguments must be
symbolic variables, and function body must be sym expression.
Error in sym/subsref (line 870)
R_tilde = builtin('subsref',L_tilde,Idx);
Stephan
Stephan on 14 Jan 2019
syms t n
T= 2*sym('pi'); % T= Period
w0=1; % Fundamental anguler freg
n=1:10; % n=1 fundamental, n>1 harmonics
v =100+100*cos(w0*t);
a0= 1/T*int(v,t,0,T)
an= 2/T*int(v*cos(n*w0*t),t,0,T)
bn= 2/T*int(v*sin(n*w0*t),t,0,T)

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 14 Jan 2019
syms t
T = 2 * sym('pi'); %use symbolic pi instead of numeric pi
ao=(1/T)*int(100.0,t,0,T)
  2 Comments
Gary Armstrong
Gary Armstrong on 14 Jan 2019
clear all
syms t n
T= 2*sym('pi'); % T= Period
w0=1; % Fundamental anguler freg
%n=1:10; % n=1 fundamental, n>1 harmonics
v =100+100*cos(w0*t);
a0= double( (1/T)*int(v(t),t,0,T))
an= double( (2/T)*int(v(t)*cos(n*w0*t),t,0,T))
bn= double( (2/T)*int(v(t)*sin(n*w0*t),t,0,T))
Error using sym/subsindex (line 825)
Invalid indexing or function definition. Indexing must follow MATLAB indexing. Function arguments must be
symbolic variables, and function body must be sym expression.
Error in sym/subsref (line 870)
R_tilde = builtin('subsref',L_tilde,Idx);

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!