2013-05-05 5 views
1

Comment utiliser une entrée de changement lors de l'appel d'une fonction? le problème que je rencontre est que j'écrire un code Matlab pour la méthode explicite pour les équations aux dérivées partielles paraboliques et la condition initiale est u(x,0) =sin(pi*x)Entrée de fonction Matlab pour une entrée qui change

lors de l'appel de la fonction i écrire

explicit(0,0,sin(pi*x),0,0,1,0,1,3,2,0.25,0.25)

Le reste des fonctions d'entrée se réfère à différentes valeurs et conditions aux limites. Où sin(pi*x) fait référence à la zone de problème de code pour moi. Dans le code auto j'écris pour cette condition limite

for j = 1:(n+2) 
i = (n+2) 
x = (a -h) + h*j 
u(i,j) = Y_below 
end 

Y_below fait référence à u(x,0) = sin(pi*x)

Cela fonctionne exactement comment je veux quand la condition limite Y_below est égale à un nombre quelconque. Je ne sais pas comment utiliser le changement x lors de l'appel de ma fonction

J'ai essayé Google et le plus proche de ce que je peux obtenir est varargin mais je ne sais pas comment l'utiliser. Je suis nouveau à Matlab et c'est le premier programme que j'ai dû écrire pour une tâche. Toute aide serait appréciée!

+0

Est-ce que la valeur change après que vous appelez la fonction, ou est-ce juste un vecteur qui peut avoir différentes longueurs? –

+0

Le x change sa valeur en fonction de la boucle à l'intérieur de la fonction – user2352769

Répondre

0

Je ne sais pas si c'est ce que vous cherchez, mais
si vous définissez votre fonction comme suit:

function output = myfunction(input1, input2, varargin) 

alors varargin est un argument infunction qui recueille tous les
autres arguments en dehors forme input1 , entrée2. Cela signifie que
si vous appelez cette fonction comme ci-dessous:

outp = myfunction(inp1, inp2, inp3, inp4, inp5); 

puis au sein de cette fonction qui suit détiendront:

input1 = inp1; 
input2 = inp2; 
varargin{1} = inp3; 
varargin{2} = inp4; 
varargin{3} = inp5; 

vous pouvez vérifier (dans une fonction) le nombre de arguments passés avec nargin. Que voulez-vous dire par changer x?

+0

Cela aide à comprendre au moins la fonction varargin, bien que la fonction ne fonctionne pas vraiment avec ce que j'avais en tête. Je viens cependant de décider d'entrer dans la limite quand c'est quelqu'un comme péché (pi * x) dans le code de fonction lui-même, alors ça marche bien par la suite. – user2352769

Questions connexes