MATLAB Answers

Check for incorrect argument data type or missing argument in call to function 'diff'.

179 views (last 30 days)
Andrew Ashley
Andrew Ashley on 27 May 2021
Answered: Mahesh Taparia on 3 Jun 2021
>> f
f =
Inline function:
f(x) = ((x+2)^(2/3))(3*x^2 -2)^3)
>> diff(f,x)
Check for incorrect argument data type or missing argument in call to function 'diff'.
Find the derivative of the function: . This is the intended equation.
Have I input it correctly or am i missing something?
  1 Comment
Jan
Jan on 27 May 2021
Do you want a symbolical or numerical output? Why do you use inline? This is outdated for over 10 years.

Sign in to comment.

Answers (2)

Kunal Kandhari
Kunal Kandhari on 1 Jun 2021
The correct piece of code will be:
f = inline('((x+2)^(2/3)*((3*x^2)-2)^3)','x')
ans = f(1)
matlab will internally convert it to:
f =
Inline function:
f(x) = ((x+2)^(2/3))*(3*x^2 -2)^3)
You can refer:
Althrough inline will be removed in a future release. Use anonymous functions instead.

Mahesh Taparia
Mahesh Taparia on 3 Jun 2021
Hi
It seems you are finding derivative of a function of x. If you don't have the value of x, then you can go by symbolic approach. For example, consider the code below:
syms x
y = ((x+2)^(2/3))*(3*x^2 -2)^3;
yDerivative = diff(y);
If you have the sample values of x, then use last 2 lines of code. For more information, you can have a look at the documentation of diff function here.
Hope it will help!

Tags

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by