# How to take an integral symbolically and then convert it to type double?

조회 수: 15 (최근 30일)
L'O.G. . 2023년 5월 16일
댓글: Walter Roberson . 2023년 5월 16일
How do I take the following integral symbolically? And convert it to double? I have a 1000 x 1 numeric vector of type double for A(t). The following takes a minute or two to run and I'm not sure how to plot it to check.
syms t omega real
int(A*sin(omega*t),0,2*pi/omega)
##### 댓글 수: 6표시 이전 댓글 수: 5숨기기 이전 댓글 수: 5
Walter Roberson 2023년 5월 16일
format long g
syms t omega real
A = rand(5,1)
A = 5×1
0.988717788679954 0.961075790428598 0.548371988302065 0.728110260321502 0.293761135174945
Asym = sym(A);
symbolic_result = int(Asym*sin(omega*t),0,2*pi/omega)
symbolic_result = omega = abs(randn())
omega =
1.29628039951883
numeric_result = integral(@(t) A .* sin(omega.*t), 0, 2*pi./omega, 'Arrayvalued', true)
numeric_result = 5×1
1.0e+00 * -2.20309881449055e-16 4.33680868994202e-17 -5.55111512312578e-17 -2.91433543964104e-16 -6.11490025281825e-17
Zero to within round-off error.

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

### 채택된 답변

VBBV 2023년 5월 16일
편집: VBBV 님. 2023년 5월 16일
syms t omega real
A = rand(1000,1);
% specify the integration variable t as the argument
I = double(vpa(int(A.*sin(omega*t),t,0,2*pi/omega),2))
I = 1000×1
0 0 0 0 0 0 0 0 0 0
##### 댓글 수: 1표시 없음숨기기 없음
VBBV 2023년 5월 16일
Assuming some random data, you can specify the integration variable t as the argument and do symbolic integration

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

### 카테고리

Help CenterFile Exchange에서 Conversion Between Symbolic and Numeric에 대해 자세히 알아보기

R2021b

### Community Treasure Hunt

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

Start Hunting!