Int function not working

조회 수: 9 (최근 30일)
Jai Harnas
Jai Harnas 2021년 3월 19일
댓글: Jai Harnas 2021년 3월 19일
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
Jan
Jan 2021년 3월 19일
편집: Jan 2021년 3월 19일
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.
Jai Harnas
Jai Harnas 2021년 3월 19일
Okay, i will do that in future thank you

댓글을 달려면 로그인하십시오.

채택된 답변

Walter Roberson
Walter Roberson 2021년 3월 19일
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)
c0 = 0.9628
  댓글 수: 1
Jai Harnas
Jai Harnas 2021년 3월 19일
Thank you this works perfectly! i did try something similar to this but had things around the wrong way and all messed up. Thank you !

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Jan
Jan 2021년 3월 19일
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.

카테고리

Help CenterFile Exchange에서 Numerical Integration and Differentiation에 대해 자세히 알아보기

제품


릴리스

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by