回覆列表
  • 1 # 使用者2458114238191884

    理解多項式插值的內涵,明確拉格朗日插值多項式的性質和計算方法。

    開啟matlab軟體。

    新建m檔案。

    2:在彈出的下拉選單中選擇script。

    (ps:可直接使用快捷鍵【ctrl+n)】

    軟體就會彈出m函式編輯介面。)

    編寫拉格朗日插值函式程式:

    functionyh=lagrange(x,y,xh)

    n=length(x);

    m=length(xh);

    yh=zeros(1,m);

    c1=ones(n-1,1);

    c2=ones(1,m);

    fori=1:n

    xp=x([1:i-1i+1:n]);

    yh=yh+y(i)*prod((c1*xh-xp"*c2)./(x(i)-xp"*c2));

    end

    注:該程式只可一次計算實現一個插值計算。可實現多個插值計算的程式如下:

    functionyh=lagrange(x,y,xh)

    n=length(x);

    m=length(xh);

    x=x(:);

    y=y(:);

    xh=xh(:);

    yh=zeros(m,1);

    c1=ones(1,n-1);

    c2=ones(m,1);

    fori=1:n,

    xp=x([1:i-1i+1:n]);

    yh=yh+y(i)*prod((xh*c1-c2*xp")./(c2*(x(i)*c1-xp")),2);

    end

    儲存檔案,需要特別注意的是檔名應與函式名相同。

    在matlab中輸入給定資料x和y,以及需要計算插值點的值xh。如圖輸入後按【enter】鍵,載入資料。

    呼叫編寫的程式,並執行。在matlab的命令視窗輸入【lagrange(x,y,xh)】按【enter】鍵即可得到拉格朗日插值函式計算的插值。

  • 中秋節和大豐收的關聯?
  • 小船的英語單詞怎麼寫?