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

1 view (last 30 days)

Show older comments

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 Comments

Walter Roberson
on 16 May 2023

format long g

syms t omega real

A = rand(5,1)

Asym = sym(A);

symbolic_result = int(Asym*sin(omega*t),0,2*pi/omega)

omega = abs(randn())

numeric_result = integral(@(t) A .* sin(omega.*t), 0, 2*pi./omega, 'Arrayvalued', true)

Zero to within round-off error.

### Accepted Answer

VBBV
on 16 May 2023

Edited: VBBV
on 16 May 2023

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))

##### 1 Comment

VBBV
on 16 May 2023

### More Answers (0)

### See Also

### Categories

### Community Treasure Hunt

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

Start Hunting!