函数出了问题

1次查看(最近30天)
lilo moutila
lilo moutila 2021年1月9日
评论道: 明星黾 2021年1月9日
我想运行这段代码:
信谊x
信谊y (x)
y (x) = 5 * (x ^ 2);
值= 4;
h = 1;
导数(5、1)
函数yd =导数(values, h)
信谊y (x)
y = (y(values + h) - y(values - h)) / (2*h);
结束
但我没有得到真正的值(在这个例子中是40),而是:
ans =
(6) / 2 - y (4) / 2
请问我该怎么解决这个问题?

答案(1)

明星黾
明星黾 2021年1月9日
你得告诉你的 “衍生品” 函数是什么 “y” 是多少。
改变 “衍生品” 添加到一个匿名函数(为了方便),否则保持它不变(除了添加 “y” 作为参数):
信谊x y (x)
导数= @(values, h, y) (y(values + h) - y(values - h)) / (2*h);
y (x) = 5 * (x ^ 2);
值= 4;
h = 1;
结果=导数(5、1,y)
生产:
结果=
50
注意:
检查= diff (y)
CheckTest =检查(值)
生产:
CheckTest =
40
我会让你解决这个矛盾。
6个评论
明星黾
明星黾 2021年1月9日
当我运行我发布的代码时,我没有得到任何错误消息。
你需要包括 “y” 作为你的论据 调用 到它。目前,你没有这样做。请参阅我的原始答案,以便理解如何正确地做到这一点。
除此之外,我不知道你的实现有什么问题。

登录评论。

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!