0

我有一个功能y=0.05*x.^2 - 0.24*x+(1/(x.^2+1))

1)我想找到 x [-4,4] 的斜率,所以我做了

syms x;
y=0.05*x.^2 - 0.24*x+(1/(x.^2+1))
der=diff(y)
matrix=subs(der,x,-4:4)

我正在为 x 的不同值找到 y'(x) 的值。(结果是:-0.6123 -0.4800 -0.2800 0.1600 -0.2400 -0.6400 -0.2000 0 0.1323)

现在,我想确定斜坡的所有峰和谷。为了找到这个,我从结果中得出对于 x=3 我有 y'(3)=0 => 我有一个临界点。

所以,要找到山峰和山谷,我需要从第 3 点左右看到标志,对吧?所以,对于 x=-4,-2 =>valley ,x=-2,-1 peak, x=-1,0 valley, x=0,2 valley , x=2,4 peak。

这是正确的吗?另外,为了绘制我使用的斜率ezplot(der)

2)我需要找到斜率的下降(y的最大值和最小值之间的差异)。我怎么能找到它,因为 y 是象征性的?

3)如果我想以度为单位找到斜率,我该怎么做?

4)如果我有 x 和 t 数据(位置和时间)并且我想计算速度,我只是这样做?

v=x./t;
result=diff(v)

- - - - 更新 - - - - - - - -

对于我的最后一个问题,我有:

time=linspace(0,1.2,13);
position=[41,52,61,69,73,75,74,66,60,55,43,27,27];

v=position./time;
vel=diff(v)

plot(time,vel)

但问题是 vel 向量导致 1x12 向量而不是 1x13。为什么会这样?

4

1 回答 1

2

我对matlab不是很熟悉,但我会给你一些关于数学的建议。你定义:

 y(x) = 0.025*x^2 - 0.24*x + (1/(x^2+1))

这是添加图片中的蓝色曲线。我们可以对 x 求导,得到:

 dy(x)/dx = 0.1*x - 0.24 - (2*x/(1+x^2)^2)

这是紫色曲线。我真的不知道“峰”和“谷”是什么意思,但如果你y(x)分别指的是最大值和最小值,那么你的答案是不正确的。y(x)可以通过找到x导数dy/dx为零的值来找到最大值或最小值。您可以通过查看图片来确认这一点。在x=3红色曲线处为零,因为y(x)那里有最小值。(请注意,通过找到x导数为零的点,并不能告诉您它实际上是最大值还是最小值,只是它是一个极值)。

y(x) 和关于 x 的导数的图,dy/dx

2) 你可以找到曲线的下降,如下所示。首先确定x最大值和最小值的值x1x2(即求解dy(x)/dx == 0)。然后下降abs( y(x1) - y(x2) )

3) 官方曲线没有一个斜率 - 它是弯曲的,所以它的斜率随 变化x。但是,如果您指的是最大值和最小值之间的平均斜率,那么它就是简单的几何形状。你有 和 的位移xy查看函数tan,你将能够找到答案。

祝你好运

于 2013-02-06T19:16:00.267 回答