Problem in triplequad in matlab

  • Context: MATLAB 
  • Thread starter Thread starter quin
  • Start date Start date
  • Tags Tags
    Matlab
Click For Summary

Discussion Overview

The discussion revolves around performing triple integrals in MATLAB, specifically focusing on integrating functions with multiple variables, including both numerical and symbolic approaches. Participants share their experiences and challenges with the MATLAB functions triplequad and INTEGRAL3, as well as the use of symbolic math.

Discussion Character

  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • One participant encounters an error when using triplequad with a complex function and seeks assistance on how to resolve it.
  • Another participant suggests defining the function as an anonymous function to avoid issues with triplequad, emphasizing that it should only depend on the variables being integrated.
  • A different participant inquires about performing triple integration on a symbolic function, mentioning that some variables are just symbols.
  • One participant asks about the availability of the Symbolic Math Toolbox and suggests using INTEGRAL3 for numerical integration, along with loops or sub-functions.
  • Another participant expresses frustration that MATLAB cannot handle their complex function for symbolic integration and seeks advice on integrating numerically while keeping some variables symbolic.
  • A later reply indicates that a fully symbolic integration might be necessary, followed by evaluating the result with specific values for the remaining variables.

Areas of Agreement / Disagreement

Participants present various approaches to the problem, with no consensus on the best method for integrating complex functions, especially when incorporating symbolic variables. Some suggest numerical methods while others advocate for symbolic integration.

Contextual Notes

Limitations include the complexity of the functions being integrated, potential dependencies on specific MATLAB toolboxes, and the challenges of integrating functions with both numerical and symbolic variables.

quin
Messages
50
Reaction score
0
Hi friends

I want to get 3variable integral from a function which is in terms of x,y,z,m,a
but I know that a=0.01 and m=3
and want to integrate over x ,y,z
Code:
>> triplequad((4 .*((-2.* a + m).^2 .*(4 .*a + m) +4 .*a.^2 .*(2.*(2.*a - m).* cos(z) + cos(y) .*(4.* a - 2.* m + 4 .*a.* cos(z) - m .*cos(z)) + cos(x) .*(4.* a - 2.* m + 4 .*a.* cos(z) - m .*cos(z) +  cos(y) .*(4 .*a - m + 4 .*a.* cos(z))))))./(m.^4 + 64 .*a.^3 .*m .*(1 + cos(x)) .*(1 + cos(y)) .*(1 + cos(z)) - 8 .*a.^2 .*m.^2 .*(3 + 2 .*cos(z) + cos(y) .*(2 + cos(z)) + cos(x) .*(2 + cos(y) + cos(z))) + 16 .*a.^4 .*(-3 + cos(x).^2 .*(cos(y) - cos(z)).^2 - 4 .*cos(z) + cos(y) .*(-4 + cos(z) .*(-6 + cos(y) .*cos(z))) - 2 .*cos(x) .*(2 + 3 .*cos(z) +  cos(y) .*(3 + cos(z).* (6 + cos(y) + cos(z)))))),-pi,pi,-pi,pi,-pi,pi)

but when I run it MATLAB tells:
? Error using ==> fcnchk at 103
If FUN is a MATLAB object, it must have an feval method.

Error in ==> triplequad at 45
intfcn = fcnchk(intfcn);


So what should I do?

and also I used .* and ./ and .^ because I think x, y, z are matrix

however if I used * and / and ^ ,still Matlab give the same errors


thanks for your help
 
Physics news on Phys.org
quin said:
Hi friends

I want to get 3variable integral from a function which is in terms of x,y,z,m,a
but I know that a=0.01 and m=3
and want to integrate over x ,y,z
Code:
>> triplequad((4 .*((-2.* a + m).^2 .*(4 .*a + m) +4 .*a.^2 .*(2.*(2.*a - m).* cos(z) + cos(y) .*(4.* a - 2.* m + 4 .*a.* cos(z) - m .*cos(z)) + cos(x) .*(4.* a - 2.* m + 4 .*a.* cos(z) - m .*cos(z) +  cos(y) .*(4 .*a - m + 4 .*a.* cos(z))))))./(m.^4 + 64 .*a.^3 .*m .*(1 + cos(x)) .*(1 + cos(y)) .*(1 + cos(z)) - 8 .*a.^2 .*m.^2 .*(3 + 2 .*cos(z) + cos(y) .*(2 + cos(z)) + cos(x) .*(2 + cos(y) + cos(z))) + 16 .*a.^4 .*(-3 + cos(x).^2 .*(cos(y) - cos(z)).^2 - 4 .*cos(z) + cos(y) .*(-4 + cos(z) .*(-6 + cos(y) .*cos(z))) - 2 .*cos(x) .*(2 + 3 .*cos(z) +  cos(y) .*(3 + cos(z).* (6 + cos(y) + cos(z)))))),-pi,pi,-pi,pi,-pi,pi)

You really should consider using an "m" file instead of trying to type a function that long in one line. Anyway, it should work if you make it a function of just x,y,z (that's all triplequad expects).
For example:
Code:
a=0.01
m=3
myfun = @(x,y,z) (4 .*((-2.* a + m).^2 .*(4 .*a + m) +4 .*a.^2 .*(2.*(2.*a - m).* cos(z) + cos(y) .*(4.* a - 2.* m + 4 .*a.* cos(z) - m .*cos(z)) + cos(x) .*(4.* a - 2.* m + 4 .*a.* cos(z) - m .*cos(z) +  cos(y) .*(4 .*a - m + 4 .*a.* cos(z))))))./(m.^4 + 64 .*a.^3 .*m .*(1 + cos(x)) .*(1 + cos(y)) .*(1 + cos(z)) - 8 .*a.^2 .*m.^2 .*(3 + 2 .*cos(z) + cos(y) .*(2 + cos(z)) + cos(x) .*(2 + cos(y) + cos(z))) + 16 .*a.^4 .*(-3 + cos(x).^2 .*(cos(y) - cos(z)).^2 - 4 .*cos(z) + cos(y) .*(-4 + cos(z) .*(-6 + cos(y) .*cos(z))) - 2 .*cos(x) .*(2 + 3 .*cos(z) +  cos(y) .*(3 + cos(z).* (6 + cos(y) + cos(z))))))
triplequad("myfun",-pi,pi,-pi,pi,-pi,pi)
 
symbolic triple quad

I want to get 3variable integral from a function which is in terms of x,y,z,L,T
but I"T" and "L" are just symbols
and want to integrate over x ,y,z
How can I take triple integration from a symbolic function??
thanks a lot
 
What version of MATLAB are you using? Do you have access to Symbolic Math Toolbox?

You can solve this numerically using INTEGRAL3 and either loops or sub-functions in the m-file.

Symbolically, the integration function is int(). This attempts to find the antiderivative so that diff(F) = f, int(f) = F.

For ex,

Code:
syms x y n
f = x^n + y^n;
int(f, y)
ans =
x^n*y + (y*y^n)/(n + 1)
 
Last edited:
thanks but my function is very complex and in this way MATLAB cannot do anything.In fact it said that the integral cannot be calculated
How can I do the integral numerically but with 2 symbols?
I mean that integrate over x ,y,z with a numerical method but with 2 symbols of t and m .
thanks for your kind attention
 
That cannot be done as far as I know. You could probably do a totally symbolic integration and
then evaluate x,y,z leaving the expression in terms of t and m.
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 10 ·
Replies
10
Views
4K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 13 ·
Replies
13
Views
3K
Replies
5
Views
3K
  • · Replies 7 ·
Replies
7
Views
2K