Int function not working
9 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Jai Harnas
am 19 Mär. 2021
Kommentiert: Jai Harnas
am 19 Mär. 2021
Hi all, im relatively new to the whole MATLAB thing and was wondering why my below code isnt working and giving me the error:
Check for missing argument or incorrect argument data type in call to function 'int'.
Error in MME32 (line 17)
c0=(1/T)*int(f1,T/2,0)+(1/T)*int(f2,0,T/2)
My Code:
clear
t1=-pi:0.001:0;
t2=0:0.001:pi;
w=2;
T=(2*pi)/w;
f1=(4+t1)/2;
f2=(2-t2).*cos(2*t2);
hold on
plot(t1,f1)
plot(t2,f2)
c0=(1/T)*int(f1,-T/2,0)+(1/T)*int(f2,0,T/2)
i also have the line of code:
c(n)=(1/T)*int(@f1.*exp(-j*n*w*t1),T/2,0)+(1/T)*int(@f2.*exp(-j*n*w*t2,0,T/2)
that doesnt work either.
Thanks in advance!
2 Kommentare
Jan
am 19 Mär. 2021
Bearbeitet: Jan
am 19 Mär. 2021
Whenever you mention an error in the forum, post a copy of the complete error message. "Does not work" ist not clear enough to understand, what the problem is.
f1 is a numerical vector. Then "@f1" does not create symbolic expression and not a function handle also.
Akzeptierte Antwort
Walter Roberson
am 19 Mär. 2021
You have no symbolic variables or symbolic functions. int() is only used for symbolic expressions or symbolic functions.
For numeric integration, there are several routines, the main two of which are integral() and integral2(). However, for those you need function handles.
w=2;
T=(2*pi)/w;
f1 = @(t) (4+t)/2;
f2 = @(t) (2-t).*cos(2*t);
fplot(f1, [-T/2, 0]);
hold on
fplot(f2, [0, T/2]);
c0 = (1/T)*integral(f1,-T/2,0) + (1/T)*integral(f2,0,T/2)
Weitere Antworten (1)
Jan
am 19 Mär. 2021
See:
doc int
The 1st argument must be: symbolic expression | symbolic function | symbolic vector | symbolic matrix | symbolic number
You provide a numerical vector instead. Then trapz is the right tool for an integration.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Numerical Integration and Differentiation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
