Using an integral in a function
Afficher commentaires plus anciens
Hi, I have a problem as follows:
In the main file, I define a function f_1 and a number q_Max:
q_Max=10;
f_1 = @(q) (0).*((q<0)|(q>q_Max)) + (q*height/peak_1).*((0<=q) & (q<=peak_1)) +...
(height-(q-peak_1)*height/(q_Max-peak_1)).*((peak_1<q) & (q<=q_Max));
In a function file, I define the following function:
function result = Lambda_1(beta)
global f_1 q_Max
result = beta*integral(@(q) f_1(q).*q.^2,0,q_Max);
end
In the main file, I run the following line and get an error:
Lambda_1(0.1)
Error using integral (line 85)
A and B must be floating-point scalars.
Error in Lambda_1 (line 10)
result = beta*integral(@(q) f_1(q).*q.^2,0,q_Max);
I wonder why this happens. I think both q and q_Max are scalars. Thanks in advance.
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Data Type Identification dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!