最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

數(shù)值分析的lagrange插值為例講講如何在北太天元軟件上提速

2023-03-14 16:46 作者:盧朓  | 我要投稿

%計(jì)算x0處的插值函數(shù)L(x)的值

% @param [in] x: 插值點(diǎn)的x坐標(biāo)

% @param [in] y: 插值點(diǎn)的y坐標(biāo)

% @param [in] x0: 要計(jì)算x0處的函數(shù)值L(x0), 現(xiàn)在的x0是1x1 double, 后續(xù)

% 希望能改成x0 可以是 1xn 的矩陣

% @param [out] z: 返回值z(mì)=L(x0)

function z=lagrint(x,y,x0)

n=length(x);

l=ones(1,n);


omega_x = x0 - x;

for i=1:n

/*

for j=1:n

if j~=i

l(i)=l(i)*(x0-x(j))/(x(i)-x(j));

end

end

*/

x_ij = x(i)- x;

if i == 1

l(i) = prod(omega_x(i+1:n)) / prod(x_ij(i+1:n));

elseif i == n

l(i) = prod(omega_x(1:i-1)) / prod(x_ij(1:i-1));

else

l(i) = prod(omega_x(1:i-1)) / prod(x_ij(1:i-1));

l(i) = l(i)*prod(omega_x(i+1:n)) / prod(x_ij(i+1:n));

end

end


z=y*l';

end


% n1 是一個(gè)1x4的矩陣,取值分別是 5,10,20,40;

%n1=ones(1,4);

%n1(1)=5;

%n1(2)=10;

%n1(3)=20;

%n1(4)=40;

%在北太天元上更加高效的寫法

n1 = [5,10,20,40];


%

% y = -5,5 之間的分點(diǎn),均勻剖分,分成100等分(產(chǎn)生101個(gè)點(diǎn))

% f 是在這些剖分點(diǎn)上的值 f(t) = 1/(1+t^2) t= y(1), ..., y(101)

/*

y=ones(1,101);

f=ones(1,101);

for i=1:101

???y(i)=-5+(i-1)/10;

???f(i)=1/(1+y(i)^2);

end

*/

y = linspace(-5,5,101);

f = 1 / ( 1 +?real(y.^2) ); %?.^2 表示矩陣的逐個(gè)分量做的平方


%% 計(jì)算N=5,10,20,40 的插值誤差

p1=ones(1,101);

p2=ones(1,101);

for i=1:4

???N=n1(i);

???x1=ones(1,N+1);

???x2=ones(1,N+1);

???f1=ones(1,N+1);

???f2=ones(1,N+1);

???for j=1:(N+1)

???????x1(j)=5-10*(j-1)/N; %[-5,5]平均分成N份取得的插值點(diǎn)

???????x2(j)=-5*cos(pi*(2*j-1)/(2*N+2)); %切比雪夫插值點(diǎn)

???????f1(j)=1/(1+x1(j)^2); %均分插值點(diǎn)上的函數(shù)值

???????f2(j)=1/(1+x2(j)^2); %切比雪夫插值點(diǎn)上的函數(shù)值

???end

???d1=0;

???d2=0;

???for j=1:101

???????p1(j)=lagrint(x1,f1,y(j));

???????p2(j)=lagrint(x2,f2,y(j));

???????if d1<abs(f(j)-p1(j))

???????????d1=abs(f(j)-p1(j));

???????end

???????if d2<abs(f(j)-p2(j))

???????????d2=abs(f(j)-p2(j));

???????end

???end

???fprintf('N=%d\n',N);

???fprintf('Max Error of grid (1):%f\n',d1);

???fprintf('Max Error of grid (2):%f\n',d2);

end


%%再次計(jì)算N=10時(shí)的插值函數(shù),并且畫圖

N=10;

x1=ones(1,N+1);

x2=ones(1,N+1);

f1=ones(1,N+1);

f2=ones(1,N+1);

for j=1:(N+1)

???x1(j)=5-10*(j-1)/N;

???x2(j)=-5*cos(pi*(2*j-1)/(2*N+2));

???f1(j)=1/(1+x1(j)^2);

???f2(j)=1/(1+x2(j)^2);

end

d1=0;

d2=0;

for j=1:101

???p1(j)=lagrint(x1,f1,y(j));

???p2(j)=lagrint(x2,f2,y(j));

???if d1<abs(f(j)-p1(j))

???????d1=abs(f(j)-p1(j));

???end

???if d2<abs(f(j)-p2(j))

???????d2=abs(f(j)-p2(j));

???end

end

fprintf('The graph of N=10(r:origin,b:grid 1,g:grid 2):\n');

plot(y,f,'r',y,p1,'b',y,p2,'g');

數(shù)值分析的lagrange插值為例講講如何在北太天元軟件上提速的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
达日县| 沐川县| 甘泉县| 丹寨县| 赣榆县| 清水河县| 台安县| 汝南县| 麻城市| 德州市| 信阳市| 集贤县| 库车县| 江山市| 武山县| 海丰县| 道真| 醴陵市| 福安市| 佛山市| 涞水县| 扎赉特旗| 车致| 洛扎县| 科技| 大竹县| 微山县| 合阳县| 宜昌市| 盱眙县| 桦川县| 雷州市| 苏尼特左旗| 长寿区| 安吉县| 乐昌市| 克东县| 铅山县| 桃江县| 穆棱市| 蓬莱市|