[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Maxima-discuss] dblquad fail
From: |
Tatsuro MATSUOKA |
Subject: |
Re: [Maxima-discuss] dblquad fail |
Date: |
Fri, 29 Jul 2016 16:50:59 +0900 (JST) |
----- Original Message -----
> From: Ether Jones
> To: help-octave
> Cc:
> Date: 2016/7/28, Thu 20:54
> Subject: Re: [Maxima-discuss] dblquad fail
>
>
> Thank you.
>
> This works:
> octave-3.6.4.exe:3> I = dblquad(@(r,q)abs(
> r.*sqrt(r.^2+1-2*cos(2*pi*q))),0,1,0,1)
> I = 0.586626703381746
>
> ... but this doesn't:
> octave-3.6.4.exe:4> I =
> dblquad(@(r,q)r.*sqrt(r.^2+1-2*cos(2*pi*q)),0,1,0,1)
> error: quadcc: integrand F must return a single, real-valued vector
> error: called from:
> error:
> K:\OctaveVS\share\octave\3.6.4\m\general\dblquad.m
> at line 72,
> column 10
> error: at line -1, column -1
> error: quadcc: integrand F must return a single, real-valued vector
> error:
> K:\OctaveVS\share\octave\3.6.4\m\general\dblquad.m
> at line 65,
> column 5
>
> Why is the abs() necessary?
>
As already written by some persons, the function value should be real
for all integration range.
However when example r=0.1, q=1
>> r.^2+1-2*cos(2*pi*q)
ans = -0.99000
>> sqrt (r.^2+1-2*cos(2*pi*q))
ans = 0.00000 + 0.99499i
Then
>> r.*sqrt(r.^2+1-2*cos(2*pi*q))
ans = 0.000000 + 0.099499i
pure imaginary.
Perhaps problem is not simple double integration.
(conditional integration with r and q)
I recommend you reconsider your problem in mathematical or physical sense.
Tatsuro