Matlab: "Fehler mit assignin: Attempt to add "c", um eine statische Arbeitsbereich"

Habe ich das folgende Stück der definition einer Funktion (test-code):

function [X,Y,Z] = test(x,y,z)

syms a b c;
a = b + c;   % This is where it gets wrong

X=x;
Y=y;
Z=z;

keyboard

% nested functions
    function y = fun1(t,x)
        y=t+x;
    end

    function res = bvpbc(y0,yT)
       res= y0+yT;
    end

end

Grundsätzlich habe ich einige verschachtelte Funktionen, die innerhalb der test Funktion, wo ich erklärt einige symbolische Variablen a, b und c. Allerdings, wenn ich die Funktion, indem Sie

test(1,1,1)

gibt es immer diese Fehlermeldung:

Error using assignin
Attempt to add "b" to a static workspace.
 See MATLAB Programming, Restrictions on Assigning to
 Variables for details.

Error in syms (line 66)
        assignin('caller',x,sym(x));

Error in test (line 3)
    syms a b c;

Scheint es etwas falsch mit der symbolischen Erklärungen, aber ich verstehe nicht warum. Wie kann ich es beheben?

Danke!

EDIT: zusätzlich, wenn ich entfernen Sie die zwei verschachtelte Funktionen, die test - Funktion funktioniert gut.

InformationsquelleAutor Vokram | 2013-06-14
Schreibe einen Kommentar