0

首先,对不起,如果我的英语不好:我是法国人。

这是我的问题:我有以下代码:

#Méthode de l'interpolation de Hermite
hermite:=proc(x,a,b,n,f)

local i,q,p,pl1,p2,dq,dp1,df,pl2;

#pl = polynôme de lagrange, p = polynôme
q:=t-x[1];

#création du polynôme q (méthode de la double résolution de lagrange)
for i from 2 to n by 1 do
    q:=q*(t-x[i]);
od
dq:=diff(q,t);

#p1 est en fait interp(x,map(f,x),t)
pl1:=interp(x,map(f,x),t);
dpl1:=diff(p1,t);

#on créé les zi, qui sont en réalité f'(xi)
df:=diff(f(t),t);

#on créé p2(xi)
for i from 1 to n by 1 do
p2[i]:=(df(x(k))-dpl1(x[i]))/dq(x[i]);
od

#on créé pl2(t) à partir du polynôme obtenu p2(xi);
pl2:=interp(x,p2,t);

#affichage des résultats
p:=t->pl1+q*pl2;
print("Interpolation de Hermite par double résolution de Lagrange :");
print(plot[p(t),f(t)],t=a..b);

#MANQUE A FAIT LA QUESTION 3.2

end;

而且我有以下错误:"Error, missing operator or ;"这表示问题可能就在"q:=q*(t-x[i]);",之前的这个确切部分x,但我就是不明白为什么。

谢谢,如果你能帮助我。

4

1 回答 1

0

我会

  1. 结束程序end proc;
  2. 用分号关闭2个循环od;

那时应该工作

于 2013-01-03T09:09:22.797 回答