Hi guys,
I am new to MATLAB and have the following problem: I programmed the following function
I took derivatives by hand but then I wanted MATLAB to take the derivatives for me with respect to independent variables K, NRC, X, R and NRM. Somehow I always get the following error message when using the diff function:
Error using sym/subsindex (line 769)Invalid indexing or function definition. When defining a function, ensure that the arguments are symbolicvariables and the body of the function is a SYM expression. When indexing, the input must be numeric,logical, or ':'.Error in@(K,NRC,NRM,R,X)Z*K^gamma((1-eta)*((1-alpha)*NRC^{EOS1}+alpha*(X^v+R^v)^{EOS1/v})^{EOS2/EOS1}+eta*NRM^{EOS2})^{(1-gamma)/EOS2}Error in sym>funchandle2ref (line 1308) S = x(S{:});Error in sym>tomupad (line 1206) x = funchandle2ref(x);Error in sym (line 179) S.s = tomupad(x);Error in sym/privResolveArgs (line 921) argout{k} = sym(arg);Error in sym/diff (line 21)args = privResolveArgs(S,varargin{:});
By the way my code is the following:
>> gamma=0.3;eta=0.11;alpha=0.3;v=0.6;EOS2=0.00001;EOS1=-1;Z=1;syms K NRC NRM R XY=@(K,NRC,NRM,R,X) Z*K^gamma((1-eta)*((1-alpha)*NRC^{EOS1}+alpha*(X^v+R^v)^{EOS1/v})^{EOS2/EOS1}+eta*NRM^{EOS2})^{(1-gamma)/EOS2};partial1 = diff(Y,K);
What am I doing wrong?
Thanks for your answer!
Best Answer