MATLAB Answers

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

198 ビュー (過去 30 日間)
Andrew Ashley
Andrew Ashley 2021 年 5 月 27 日
回答済み: Mahesh Taparia 2021 年 6 月 3 日
>> 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 件のコメント
Jan
Jan 2021 年 5 月 27 日
Do you want a symbolical or numerical output? Why do you use inline? This is outdated for over 10 years.

サインインしてコメントする。

回答 (2 件)

Kunal Kandhari
Kunal Kandhari 2021 年 6 月 1 日
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 2021 年 6 月 3 日
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!

タグ

製品


リリース

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by