A function does not work with an array as an input argument

2 vues (au cours des 30 derniers jours)
Bogdan MP
Bogdan MP le 22 Oct 2021
Commenté : Bogdan MP le 22 Oct 2021
I have the following function
MyFun = @(a, x) ( integral(@(k) k .* (1 ./ ( 1 + (a*k - x).^2 )), -1, 1) ./ ...
integral(@(k) 1 ./ ( 1 + (a*k - x).^2 ), -1, 1) );
Which is simply
I have a vector (or an array) of data x. Let's say x = 0 : 1 : 10; When I try to call MyFun(-1, x) I get a mistake ''matrix dimensions must agree''. Could you tell me please, how to fix that?

Réponse acceptée

Matt J
Matt J le 22 Oct 2021
args={'ArrayValued',1};
MyFun = @(a, x) ( integral(@(k) k .* (1 ./ ( 1 + (a*k - x).^2 )), -1, 1,args{:}) ./ ...
integral(@(k) 1 ./ ( 1 + (a*k - x).^2 ), -1, 1,args{:}) )

Plus de réponses (0)

Catégories

En savoir plus sur Multidimensional Arrays dans Help Center et File Exchange

Produits


Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by