假设我们有以下等式
dt = 0.1 % Time interval [min]
t = [0:dt:9] % Time vector [min]
v = -300*t.^2+2700*t % Velocity [km/min]
我想解决下面的问题。似乎要求梯形规则。这些问题由我的教授助理发布。请注意,trapz
是不允许的,我们必须使用三行代码。
(III)。使用速度估算位置的总变化 方程。 为此,您可以使用梯形规则(查找) 长度间隔dt。 (注意:你可以在一行中完成 码。如果你把它分开并做了90次,那就需要了 一会儿。想想这样:找到一个梯形区域,你 需要3个值,两个基数和高度。我们可以调用高度dt。 这两个碱基是由dt分离的值。所以第一个 计算时,这两个值将是v(1)和v(2)。使用此以及如何使用 计算一个梯形的面积,你应该得到一个非常接近的数字 地震同步卫星的实际高度(很酷吧?) (提示:你可以在一行中执行此操作的方法是使用行向量创建 两个长度为90的向量,每个向量包含不同的v)值 (Double Hint:使用sum()命令获取标量值 最大)
答案说明如下:
.... %The first 90 values of v
..... %The last 90 values of v
..... %Scalar value of the total distance traveled
我的第一个解决方案是
v1 = v(1:end-1) %The first 90 values of v
v2 = v(2:end) %The last 90 values of v
x_total = 0.5*sum(v1+v2)*dt %Scalar value of the total distance traveled
计算机将此注册为不正确。
我尝试了下一个解决方案
v1 = v(1:end-1) %The first 90 values of v
v2 = v(2:end) %The last 90 values of v
x_total = 0.5*(sum(v1*dt)+sum(v2*dt)) %Scalar value of the total distance traveled
计算机将此注册为不正确。
我给教授发了电子邮件,他说x_total错了,总和有问题。我不明白总和是怎么回事,所以我再次给他发了电子邮件。他没有回复两天。
为什么我的回答不正确?什么是正确的解决方案?
答案 0 :(得分:1)
我认为你正确地计算了梯形数值积分,即它返回与trapz(t, v)
相同的结果。
请注意,您实现的方法与trapz
文档中提到的方法相同:
此外,trapz
的实现非常类似(但更通用):
z = diff(x,1,1).' * (y(1:m-1,:) + y(2:m,:))/2;