How to write Pearcey functions?

50 views (last 30 days)
xiang zhang
xiang zhang on 26 Oct 2020
Answered: Star Strider on 26 Oct 2020

Answers (2)

Ameer Hamza
Ameer Hamza on 26 Oct 2020
Edited: Ameer Hamza on 26 Oct 2020
You can use integral() function
Pe = @(x, y) integral(@(s) exp(1i*(s.^4 + s.*x + s.^2.*y)), -inf, inf); % first equation
Pe = @(x) integral(@(s) exp(1i*(s.^4 + s.^2.*x)), -inf, inf); % second equation

Star Strider
Star Strider on 26 Oct 2020
I would code them as:
Pe1 = @(x) integral(@(s) exp(1i*(s.^4 + s.^2.*x)), -Inf, Inf, 'ArrayValued',1);
Pe2 = @(x,y) integral(@(s) exp(1i*(s.^4 + s.*x + s.^2.*y)), -Inf, Inf, 'ArrayValued',1);
These run without error (however not without Warnings, since I am not certain what the arguments should be, and those I tested it with threw Warnings).

Community Treasure Hunt

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

Start Hunting!