Effacer les filtres
Effacer les filtres

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

1 vue (au cours des 30 derniers jours)
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

Réponse acceptée

Stephan
Stephan le 13 Jan 2019
Modifié(e) : Stephan le 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 commentaires
Gary Armstrong
Gary Armstrong le 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 le 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)

Connectez-vous pour commenter.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 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 commentaires
Gary Armstrong
Gary Armstrong le 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);
Walter Roberson
Walter Roberson le 14 Jan 2019
v is an expression not a function but you use v(t)

Connectez-vous pour commenter.

Catégories

En savoir plus sur Formula Manipulation and Simplification dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by