国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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ó)家法律
安国市| 方城县| 西充县| 乌拉特前旗| 筠连县| 聂拉木县| 馆陶县| 庐江县| 遂川县| 玛沁县| 黎川县| 桦甸市| 柞水县| 黑山县| 南江县| 平定县| 聂荣县| 东明县| 旅游| 大厂| 蕉岭县| 和平县| 阳高县| 揭阳市| 宁化县| 乐昌市| 西峡县| 宿州市| 江安县| 天津市| 武宣县| 和政县| 东乡族自治县| 科尔| 吉首市| 台中市| 东辽县| 印江| 四平市| 江城| 日土县|