differentiating function & getting different answer

hey! I was trying to differentiate this function g(x)=3x-1 and despite the fact that I followed the code provided on the matlab website to a "t", the answer I got within matlab was incorrect. I included a link to the example as well as screenshots of the code they provided and how it appears in my command window.
here's how the code appears on the site:
I typed the same code into my command window but got a different answer...
I'm really confused at this point because now whenever I try to differentiate ANY function I get the same answer!

4 件のコメント

Aquatris
Aquatris 2019 年 2 月 7 日
What version of Matlab are you using? I typed the exact code in Matlab 2013a and 2017a and it gave me the correct answer.
James Tursa
James Tursa 2019 年 2 月 7 日
What does this show:
which diff
Noah Barrow
Noah Barrow 2019 年 2 月 7 日
when I type this in it says "diff is a variable"
Noah Barrow
Noah Barrow 2019 年 2 月 7 日
i'm using 2018b. is the code drastically different?

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

回答 (2 件)

James Tursa
James Tursa 2019 年 2 月 7 日
編集済み: James Tursa 2019 年 2 月 7 日

0 投票

Perhaps you are shadowing the MATLAB function diff with a function of your own. Make sure diff is pointing to the MATLAB function.
Noah Barrow
Noah Barrow 2019 年 2 月 7 日

0 投票

can you explain what shadowing is? The code I entered in my command window is directly above-does it appear that my "diff" is pointing to the matlab function?

4 件のコメント

Aquatris
Aquatris 2019 年 2 月 7 日
編集済み: Aquatris 2019 年 2 月 8 日
Shadowing means that your workspace has a variable called "diff" so when you run the command "diff(g)", instead of going to the built-in diff() function of Matlab, it tries to run the "diff" in the workspace (or a function in your working directory). That is why it is common practice to not name variable or custom functions with the same name as Matlab's built-in ones.
When I run which diff I get;
which diff
built-in (C:\Program Files\MATLAB\R2013a\toolbox\matlab\datafun\diff)
Noah Barrow
Noah Barrow 2019 年 2 月 8 日
ah ha! okay, because when I type in diff it says "diff is a variable". So how should i proceed? Am I simply using the wrong command?
Walter Roberson
Walter Roberson 2019 年 2 月 8 日
Execute the command
clearvars
and then run your code again. If the same thing happens, then track down where in your code you assign something to a variable named diff and use a different variable name instead.
Noah Barrow
Noah Barrow 2019 年 2 月 8 日
FIXED!
Thank you so much :)

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

カテゴリ

ヘルプ センター および File ExchangeStartup and Shutdown についてさらに検索

製品

リリース

R2018b

質問済み:

2019 年 2 月 7 日

コメント済み:

2019 年 2 月 8 日

Community Treasure Hunt

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

Start Hunting!

Translated by