2017-05-31 1 views
0

Je suis en train d'intégrer une fonction F qui est définie comme:intégrale fonction définie par Matlab

function F   
    x = -3:0.1:3; 
    F = zeros(1, length(x)); 
    for i = 1:length(x) 
     if (1.4<= x(i)) && (x(i) <= 1.6) 
      F(i) = x(i).^2; 
     else 
      F(i) = 2; 
     end 
    end 
end 

mais la fonction integral me donne une erreur en disant qu'il ya trop d'arguments. Je pense que le problème que la fonction est définie comme un point?

+4

S'il vous plaît, pour le shake de nous tous, indentement ce code correctement. En outre, montrez-nous le code que les erreurs. Vous ne savez pas comment appeler intégrale. Une fonction est quelque chose de la forme 'f (x)', votre F n'a pas d'entrées. Vous ne devriez pas définir 'x', sinon' F' est un tableau, pas une fonction. –

+0

Le problème est avec la ligne où vous appelez la fonction 'integral', montrez-nous * cette * ligne de votre code aussi! Je – Wolfie

+0

appelle la fonction int comme intégrale (F, 0,1) et je reçois l'erreur erreur en utilisant F Trop d'arguments de sortie. comme vous l'avez dit je pense que ma fonction F est un tableau, si c'est le problème alors comment pourrais-je définir F en tant que fonction? – Imran

Répondre

0

Le problème avec votre fonction, c'est que integral n'a aucun moyen de transmettre les arguments que vous fournissez à votre fonction F. La fonction ne sait pas qu'elle peut simplement tirer certains éléments du vecteur que vous avez créé. Si vous réécrivez votre fonction de sorte que pour une entrée (ou une valeur x), la sortie de F est renvoyée, alors integral fonctionnera comme vous avez besoin de deux valeurs à intégrer.