定向和整体问题 [SCILAB]

Direved and integral problème [SCILAB]

我正在做一个计算速度导数和加速度积分的项目。 我的问题是随着时间的推移,我有很多加速点和速度,但我找不到合适的程序。

示例:

所以 dv/dt = (v2-v1)/(t2-t1) 但我不知道如何为 v1 v2 t1 t2

声明多个变量
function a=acc(v1,v2,t1,t2)
     a= (v2-v1)/(t2-t1)
endfunction
v1=
v2=
t1=
t2=
disp(acc(v1,v2,t1,t2),'acc = ')

与(dv/dt)*dt

的积分相同

请大家帮帮我

V(1:5) = linspace(0,40,5);
V(6:10) = 40;
V(11:17) = linspace(40,20,7);

Acc = diff(V);

首先,我们用您的速度值填充数组 V

然后我们创建一个数组Acc,每秒钟的加速度为 diff,因为 V 的两个值之间只有 1。

基于您所写内容的另一个解决方案

function a=acc_2(v1,v2,t1,t2)
  a= (v2-v1)./(t2-t1) // since v,t are vectors, we need './' and not '/' !
endfunction
V(1:5) = linspace(0,40,5);
V(6:10) = 40;
V(11:17) = linspace(40,20,7);

v1 = V(1:$-1); 
v2 = V(2:$);
t1 = 1:length(V)-1;
t2 = 2:length(V);
Acc_2 = acc_2(v1,v2,t1,t2)

如果你想要 h(x) = int_t0^x dv/dt dt 然后使用 cumsum

H = cumsum(Acc)

我把这个代码

V(1:5) = linspace(0,40,5); 
V(6:10) = 40; 
V(11:17) = linspace(40,20,7); 
function a = acc(V) 
      a=diff(V) 
endfunction 

function aa = acc_2(v1,v2,t1,t2) 
      aa = (v2-v1)/(t2-t1) 
endfunction 

v1 = V(1:$-1); 
v2 = V(2:$); 
t1 = 1:length(V)-1; 
t2 = 2:length(V); 
Acc_2 = acc_2(v1,v2,t1,t2)

但是他给了我一个变量的结果 Acc_2 ?