The Math Forum

Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Math Forum » Discussions » Software » comp.soft-sys.matlab

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Calculating 1st derivative with a parameter
Replies: 4   Last Post: Jun 14, 2012 10:34 AM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Angie Blue

Posts: 19
Registered: 6/18/07
Re: Calculating 1st derivative with a parameter
Posted: May 6, 2012 12:19 PM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

"Wojtek" wrote in message <jo61cj$m95$>...
> Hello,
> in my program I want to calculate the 1st derivative of a function y (it's a function of 'x1'). Let's say I want to check if the 1st derivative of this function in some specific point is smaller then 0.05. I have:
> syms x1;
> y = ( x1 - za )*( x1 - zb )*( x1 - zc )*( x1 - zd ); %my function, all the parameters like 'za' were previously declared
> dydx=diff(y,x1,1);
> x_val=1;
> dydx_val=subs(dydx,x1,x_val);
> k2 = solve(dydx_val);
> dydx_val =double(k2);
> if (dydx_val<0.05)
> remember=x_val;
> end
> unfortunately the derivative is not calculated. I get information:
> Warning: 1 equations in 0 variables.
> Warning: Explicit solution could not be found.
> and when I try to display dydx_val i get:
> dydx_val =
> []
> I tried different methods, none of them was good (although I could do something wrong). I will be grateful for suggestions how can I calculate 1st derivative in a specific point and have the value of this derivative in double.


If I understood your question correctly, you don't need the line for solve and the following seems to work for me:

syms za zb zc zd x1;
y = ( x1 - za )*( x1 - zb )*( x1 - zc )*( x1 - zd );

xVal = 1;

% Take the derivative and substitute the value of x1
focValue = subs(diff(y,'x1'),x1,xVal);

if focValue < 0.5
remember = focValue;

I hope this helps,


Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© The Math Forum at NCTM 1994-2018. All Rights Reserved.