How do I differentiate this function?

1 visualizzazione (ultimi 30 giorni)
Leandro Nitsch
Leandro Nitsch il 26 Mar 2019
Commentato: Torsten il 27 Mar 2019
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 symbolic
variables 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 X
Y=@(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!

Risposta accettata

Torsten
Torsten il 26 Mar 2019
syms Z K gamma eta alpha NRC EOS1 v X R EOS2 NRM
Y= Z*K^gamma*((1-eta)*((1-alpha)*NRC^EOS1+alpha*(X^v+R^v)^(EOS1/v))^(EOS2/EOS1)+eta*NRM^(EOS2))^((1-gamma)/EOS2);
dYdK = diff(Y,K)
  2 Commenti
Leandro Nitsch
Leandro Nitsch il 27 Mar 2019
Hi Torsten,
Thank you for your anwer. I did what you suggested but am still getting the same error message :/
Torsten
Torsten il 27 Mar 2019
For me, the code as written works.

Accedi per commentare.

Più risposte (0)

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by