Matlab差异化

时间:2013-04-16 04:31:19

标签: matlab

我需要在matlab中编写一个for循环来使用前向差分法求解导数。使用0.25的步长导出的函数是10 + 15x + 20x ^ 2,从0到10。我尝试过使用

h=.25; 
x=[0:h:10]; 
y = 10+15*x+20*x.^2; 
y(1) = 45; size(x)  
for i=2:47,     
       y(i) = y(i-1) + h*(15+40*x); 
end

1 个答案:

答案 0 :(得分:1)

作为一个开始,我会这样做,

h=.25; 
x=[0:h:10]; 
y = 10+15*x+20*x.^2; 
diff(y)./diff(x)

或作为替代,

syms x;
y = 20.*x.^2 + 15.*x + 10;
dy = diff(y,1);
h=.25; 
xx=[0:h:10];
res = subs(dy,xx);