How to compute integral when one of the limits is a vector
    3 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Maurilio Matracia
 el 21 de Sept. de 2020
  
    
    
    
    
    Comentada: Ameer Hamza
      
      
 el 21 de Sept. de 2020
            Hello everyone, 
I am trying to use the function integral to evaluate a function handle in a vector, such as:
FunctionToEvaluate = @(x) integral(@(z) z.^2+1, 0, x, 'ArrayValued',1) 
EvaluatedFunction = FunctionToEvaluate([1 2 3])
but I am getting an error saying:
Error using integral (line 85)
A and B must be floating-point scalars.
Is there any way to avoid this error and evaluate the function in a vector?
Thank you in advance for your help!
0 comentarios
Respuesta aceptada
  Ameer Hamza
      
      
 el 21 de Sept. de 2020
        
      Editada: Ameer Hamza
      
      
 el 21 de Sept. de 2020
  
      If you want to use all the points in x as the limits one after the other, then following is the way to do that
FunctionToEvaluate = @(x) arrayfun(@(x_) integral(@(z) z.^2+1, 0, x_) , x);
EvaluatedFunction = FunctionToEvaluate([1 2 3])
Result
>> EvaluatedFunction
EvaluatedFunction =
    1.3333    4.6667   12.0000
2 comentarios
Más respuestas (0)
Ver también
Categorías
				Más información sobre Numerical Integration and Differentiation en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!