Sie sind auf Seite 1von 23

Project Report

AE675A Finite Element Method


Topic code for 1-D Problem
Name Swatantra Verma
Roll no. 11757
Instructure C. S. Upadhyay

Code
%
%
%
%
%

FEM 1D Code for AE675A


By
Swatantra Verma
11757

% defining variables
clc;
clear all;
syms EA k Ldom Nsub Lsub Nimelem x m n k_e Q1 Q2 EAp fsum k_ep k_ef
syms intK Intp Sum Fp f fp ff intF intp FFp Degf Degk nk nf wt Wt power
syms bndcD bndcDp bndcN bndcNp bndcM_del bndcM_k bndcMp chkc nodei nodej

%taking bar property as input


Ldom=input('Enter the length of the domain = ');
Nsub=input('Enter the number of subdomains = ');
Telem=0;
for i=1:Nsub
fprintf(' for subdomain %d=>\n',i);
Lsub(i)=input('Enter the length of subdomain = ');
Nelem(i)=input('Enter the number of elements in subdomain = ');
Lelem(i)=Lsub(i)/Nelem(i);
Telem=Telem+Nelem(i);
end
%check on input
sum=0;
for i=1:Nsub
sum=sum+Lsub(i);
end
if sum~=Ldom
('Wrong Input ..!!')
else
xn(1,1)=0;
%meshing of bar
for i=2:Nsub
xn(i,1)=xn(i-1,1)+Lsub(i-1);
end
for i=1:Nsub
for j=2:Nelem(i)+1
xn(i,j)=xn(i,j-1)+Lelem(i);
end
end
X=zeros(1,Telem+1);
k=0;
X(1,1)=0;
for i=1:Nsub
z=xn([i],:);
for j=2:Nelem(i)+1
X(1,j+k)=X(1,j+k)+z(1,j);
end

k=k+Nelem(i);
end
W=X';
deg=input('Enter the desired order of approximation = ');
power=deg;
intpoint = deg-1;%the number of intermediate points we want
for i=1:Nsub
Limt(i)=(Lsub(i)/(Nelem(i)*(intpoint+1)));
end
%number of intermediade elements
Nimelem=0;
for i=1:Nsub
Nimelemsub(i)=((Lsub(i))/(Limt(i)));
Nimelem=Nimelem+Nimelemsub(i);
end
N=Nimelem+1;
end
k=0;
for i=1:Telem
for j=1
imx(i,j)=W(i,j);
end
end
for i=1:Telem
for j=intpoint+2
imx(i,j)=W(i+1,1);
end
end
for l=1:Nsub
for i=1:Nelem(l)
for j=2:intpoint+1
imx(i+k,j)=imx(i+k,j-1)+Limt(l);
end
end
k=k+Nelem(l);
end
%basis function generation
num=1 ;
den=1;
if deg==0
nimt=0;
else
nimt=deg-1;
end
nosf=nimt+2;
for h=1:Telem
for i= 1:nosf
for j=1:nosf
if i~=j
num=num*(x-imx(h,j));
den=den*(imx(h,i)-imx(h,j));
else
end
end
fract=num/den;
fract;
M{h,i}=fract;
num=1;
den=1;
end

end
for h=1:Telem
for i=1:nosf
M{h,i};
m(h,i)=vpa(M{h,i});
n(h,i)=diff(m(h,i));
end
end
shapefunction = m; %shape fhape function
derivativeofshapefunction = n; %derivative of shape function

%input of EA, k and f per subdomain


for i=1:Nsub
fprintf(' for subdomain %d=>\n',i);
EAp= input('Enter a polynomial for EA in [] brackets (highest power
coefficient first) = ');
EA(i)= poly2sym(EAp,x);
k_ep = input('Enter a polynomial for k in [] brackets(highest power
coefficient first) = ');
k_e(i) = poly2sym(k_ep,x);
fp= input('Enter a polynomial for f in [] brackets(highest power
coefficient first) = ');
f(i)= poly2sym(fp,x);
end

%formulation of EA, k and f matrix over bar


r=0;
for i=1:Nsub
for j=1:Nelem(i)
r=r+1;
for k=1:nosf
EAf(r,k)=EA(i);
k_ef(r,k)=k_e(i);
end
ff(r)=f(i);
end
end
p=0;
q=0;

%formulation of global matrix of K(stiffness matrix) and F(force matrix)


intK=zeros((Telem*(nosf-1))+1,(Telem*(nosf-1))+1);
Sum=zeros(nosf,nosf);
for i=1:Telem
for j=1:nosf
p=p+1;
for k=1:nosf
q=q+1;
Fp = sym2poly((EAf(i)*n(i,j)*n(i,k))+(k_ef(i)*m(i,j)*m(i,k)));
Degk = numel(Fp)-1;
nk=ceil((Degk+1)/2);
[Intp,wt] = gauleg(X(i),X(i+1),nk);
Val = polyval(Fp,Intp);

for l=1:nk
Sum(j,k) = Sum(j,k)+(Val(l)*wt(l));
end
intK(p,q) = intK(p,q)+Sum(j,k);
end
q=q-nosf;
end
Sum=zeros(nosf,nosf);
p=(nosf-1)*i;
q=(nosf-1)*i;
end
p=0;
q=0;
intF=zeros(((Telem*(nosf-1))+1),1);
Sum=zeros(nosf,1);
for i=1:Telem
for j=1:nosf
p=p+1;
FFp = sym2poly(ff(i)*m(i,j));
Degf = numel(FFp)-1;
nf=ceil((Degf+1)/2);
[intp,Wt] = gauleg(X(i),X(i+1),nf);
Val = polyval(FFp,intp);
for l=1:nf
Sum(j) = (Sum(j)+Val(l)*Wt(l));
end
intF(p) = intF(p)+Sum(j);
end
Sum=zeros(nosf,1);
p=(nosf-1)*i;
end
%taking boundry conditions as input and changing global matrix of
K(stiffness matrix) and F(force matrix)
bndc_no = input('input total boundry no. of condition = ');
for j=1:bndc_no
fprintf(' for boundry condition no. %d=>\n',j);
chkc = input('input boundry condition type (0,1,2)= ');
if chkc == 0
bndcDp = input('input the node point point coordinate = ');
bndcD = input('input the value of u = ');
[nodei] = find(W==bndcDp);
for i=1:(Telem*(nosf-1))+1
if i~=nodei
intF(i) = intF(i)-intK(i,nodei)*bndcD;
else
intF(nodei) = 0;
end
end
for i=1:(Telem*(nosf-1))+1
if i~=nodei
intK(nodei,i) = 0;
intK(i,nodei) = 0;
else
intK(nodei,nodei) = 1;
end
end
elseif chkc == 1
bndcNp = input('input the node point coordinate = ');
bndcN = input('input the value of p = ');

[nodei] = find(W==bndcNp);
intF(nodei)= intF(nodei)+bndcN;
elseif chkc == 2
bndcMp = input('input the node point coordinate = ');
bndcM_k = input('input the value of k = ');
bndcM_del = input('input the value of delta(disp) = ');
[nodei] = find(W==bndcMp);
intK(nodei,nodei)=intK(nodei,nodei)-bndcM_k;
intF(nodei)= intF(nodei)-(bndcM_k*bndcM_del);
else
('Wrong Input ..!!')
end
end
%calculating Alfa
Alfa = (inv(intK)*intF);
%calculating U
syms U U_diff a M deg
U=sym(zeros(Telem,1));
a=0;
for i=1:Telem
for j=1:nosf
a=a+1;
U(i,1)=U(i,1)+(m(i,j)*Alfa(a));
end
a=a-1;
end
U
%calculating diffrentiate of U
U_diff = diff(U);
U_diff

%ploting U and U_diff


subplot(3,1,1);
for i=1:Telem
ezplot(x,U(i),[W(i),W(i+1)]);
if(i~= Telem)
hold on;
else
hold off;
end
end
subplot(3,1,2);
for j=1:Telem
ezplot(x,U_diff(j),[W(j),W(j+1)]);
if(j~= Telem)
hold on;
else
hold off;
end
end

%-------------recovery--------%
%Calculation of K and F for recovery
for i= 1:Telem
nr=power;
if i~=1 && i~=Telem
[intpr,wr]=gauleg(X(i),X(i+1),nr);
[intpr_next,wr_next]=gauleg(X(i+1),X(i+2),nr);
[intpr_prev,wr_prev]=gauleg(X(i-1),X(i),nr);
for q=1:nr+1
for r=1:nr+1
kmat(q,r,i)=(x^(q-1)) * (x^(r-1));
for s=1:3
j=i+(s-2);
fmat(r,1,i)= (x^(r-1)) * (U_diff(j,1));
for m=1 :nr
if s==1
kmat_temp(s,m)=subs(kmat(q,r,i),x,intpr_prev(m));
temp_fmat(s,m)=subs(fmat(r,1,i),x,intpr_prev(m));
elseif s==2
kmat_temp(s,m)=subs(kmat(q,r,i),x,intpr(m));
temp_fmat(s,m)=subs(fmat(r,1,i),x,intpr(m));
else
kmat_temp(s,m)=subs(kmat(q,r,i),x,intpr_next(m));
temp_fmat(s,m)=subs(fmat(r,1,i),x,intpr_next(m));
end
if m~=1
kmat_temp(s,m)=kmat_temp(s,m)+kmat_temp(s,m-1);
temp_fmat(s,m)=temp_fmat(s,m)+temp_fmat(s,m-1);
end
end
end
kmat(q,r,i)=kmat_temp(1,nr)+kmat_temp(2,nr)+kmat_temp(3,nr);
fmat(r,1,i)=temp_fmat(1,nr)+temp_fmat(2,nr)+temp_fmat(3,nr);
end
end
elseif i==1
[intpr,wr]=gauleg(X(i),X(i+1),nr);
[intpr_next,wr_next]=gauleg(X(i+1),X(i+2),nr);
for q=1:nr+1
for r=1:nr+1
kmat(q,r,i)=(x^(q-1)) * (x^(r-1));
for s=1:2
j=i+(s-1);
fmat(r,1,i)= (x^(r-1)) * (U_diff(j,1));
for m=1 :nr
if s==1
kmat_temp(s,m)=subs(kmat(q,r,i),x,intpr(m));
temp_fmat(s,m)=subs(fmat(r,1,i),x,intpr(m));
else

kmat_temp(s,m)=subs(kmat(q,r,i),x,intpr_next(m));
temp_fmat(s,m)=subs(fmat(r,1,i),x,intpr_next(m));
end
if m~=1
kmat_temp(s,m)=kmat_temp(s,m)+kmat_temp(s,m-1);
temp_fmat(s,m)=temp_fmat(s,m);
end
end
end
kmat(q,r,i)=kmat_temp(1,nr)+kmat_temp(2,nr);
fmat(r,1,i)=temp_fmat(1,nr)+temp_fmat(2,nr);
end
end
elseif i==Telem
[intpr,wr]=gauleg(X(i),X(i+1),nr);
[intpr_prev,wr_prev]=gauleg(X(i-1),X(i),nr);
for q=1:nr+1
for r=1:nr+1
kmat(q,r,i)=(x^(q-1)) * (x^(r-1));
for s=1 :2
j=i+(s-2);
fmat(r,1,i)= (x^(r-1)) * (U_diff(j,1));
for m=1 :nr
if s==1
kmat_temp(s,m)=subs(kmat(q,r,i),x,intpr_prev(m));
temp_fmat(s,m)=subs(fmat(r,1,i),x,intpr_prev(m));
else
kmat_temp(s,m)=subs(kmat(q,r,i),x,intpr(m));
temp_fmat(s,m)=subs(fmat(r,1,i),x,intpr(m));
end
if m~=1
kmat_temp(s,m)=kmat_temp(s,m)+kmat_temp(s,m-1);
temp_fmat(s,m)=temp_fmat(s,m)+temp_fmat(s,m-1);
end
end
end
kmat(q,r,i)=kmat_temp(1,nr)+kmat_temp(2,nr);
fmat(r,1,i)=temp_fmat(1,nr)+temp_fmat(2,nr);
end
end
end
end

%calculation of Alfar = Alfa for recovery


for i=1:Telem
Alfar(:,:,i)= inv(kmat(:,:,i))*fmat(:,1,i);
end

% calculation and plot of recovery of dudx


subplot(3,1,3)
for i=1 : Telem

for j=1:nr+1
temp_dudx_r(j)= (x^(j-1))*Alfar(j,1,i);
if j~=1
temp_dudx_r(j)=temp_dudx_r(j)+temp_dudx_r(j-1);
end
end
dudx_r(i,1)=temp_dudx_r(nr+1);
ezplot(x,dudx_r(i,1),[W(i),W(i+1)]);
if(i~= Telem)
hold on;
else
hold off;
end
end
dudx_r
%-------- END-----------%

Test Cases
Test -1
Enter the length of the domain = 1
Enter the number of subdomains = 2
for subdomain 1=>
Enter the length of subdomain = .5
Enter the number of elements in subdomain = 2
for subdomain 2=>
Enter the length of subdomain = .5
Enter the number of elements in subdomain = 2
Enter the desired order of approximation = 1
for subdomain 1=>
Enter a polynomial for EA in [] brackets (highest power coefficient first) = [1]
Enter a polynomial for k in [] brackets (highest power coefficient first) = [0]
Enter a polynomial for f in [] brackets (highest power coefficient first) = [0]
for subdomain 2=>
Enter a polynomial for EA in [] brackets (highest power coefficient first) = [1]
Enter a polynomial for k in [] brackets (highest power coefficient first) = [0]
Enter a polynomial for f in [] brackets (highest power coefficient first) = [0]
input total boundry no. of condition = 2
for boundry condition no. 1=>
input boundry condition type (0,1,2)= 0
input the node point coordinate = 0
input the value of u = 0
for boundry condition no. 2=>
input boundry condition type (0,1,2)= 1
input the node point coordinate = 1
input the value of p = 1
U=

1.0*x
1.0*x
1.0*x
1.0*x
U_diff =
1.0
1.0
1.0
1.0
dudx_r =
1
1
1
1
x = x, y = 1.0 x

1
0.5
0

-1

1
x
x = x, y = 1.0

1.1
1
0.9
0

0.2

0.4

0.6
x
x = x, y = 1

0.2

0.4

0.8

0.8

1.1
1
0.9
0.6
x

Test -2
Enter the length of the domain = 1
Enter the number of subdomains = 2
for subdomain 1=>
Enter the length of subdomain = .5
Enter the number of elements in subdomain = 2
for subdomain 2=>
Enter the length of subdomain = .5
Enter the number of elements in subdomain = 2
Enter the desired order of approximation = 1
for subdomain 1=>
Enter a polynomial for EA in [] brackets (highest power coefficient first) = [1]
Enter a polynomial for k in [] brackets (highest power coefficient first) = [0]
Enter a polynomial for f in [] brackets (highest power coefficient first) = [0]
for subdomain 2=>
Enter a polynomial for EA in [] brackets (highest power coefficient first) = [1]
Enter a polynomial for k in [] brackets (highest power coefficient first) = [0]
Enter a polynomial for f in [] brackets (highest power coefficient first) = [0]
input total boundry no. of condition = 3
for boundry condition no. 1=>
input boundry condition type (0,1,2)= 0
input the node point coordinate = 0
input the value of u = 0
for boundry condition no. 2=>
input boundry condition type (0,1,2)= 1
input the node point coordinate = 1
input the value of p = 0
for boundry condition no. 3=>
input boundry condition type (0,1,2)= 1
input the node point coordinate = .5
input the value of p = 1

U=
1.0*x
1.0*x
0.5
0.5
U_diff =
1.0
1.0
0
0
dudx_r =
1
17/12 - 2*x
19/12 - 2*x
0

x = x, y = 0.5

0.5

-0.5

0.5
x
x = x, y = 0

1.5

1
0.5
0

-1

1
x
x = x, y = 0

-1

1
0.5
0

1
x

Test -3
Enter the length of the domain = 1
Enter the number of subdomains = 2
for subdomain 1=>
Enter the length of subdomain = .5
Enter the number of elements in subdomain = 2
for subdomain 2=>
Enter the length of subdomain = .5
Enter the number of elements in subdomain = 2
Enter the desired order of approximation = 1
for subdomain 1=>
Enter a polynomial for EA in [] brackets (highest power coefficient first) = [1]
Enter a polynomial for k in [] brackets (highest power coefficient first) = [0]
Enter a polynomial for f in [] brackets (highest power coefficient first) = [0]
for subdomain 2=>
Enter a polynomial for EA in [] brackets (highest power coefficient first) = [10]
Enter a polynomial for k in [] brackets (highest power coefficient first) = [0]
Enter a polynomial for f in [] brackets (highest power coefficient first) = [0]
input total boundry no. of condition = 3
for boundry condition no. 1=>
input boundry condition type (0,1,2)= 0
input the node point coordinate= 0
input the value of u = 0
for boundry condition no. 2=>
input boundry condition type (0,1,2)= 1
input the node point coordinate = 1
input the value of p = 1
for boundry condition no. 3=>
input boundry condition type (0,1,2)= 1
input the node point coordinate = .5
input the value of p = 1

U = 2.0*x
2.0*x
0.1*x + 0.95
0.1*x + 0.95
U_diff =
2.0
2.0
0.1
0.1
dudx_r =
2
67/24 - (19*x)/5
373/120 - (19*x)/5
1/10

x = x, y = 0.1 x + 0.95

1
0.5

0
-2

-1

1
x
x = x, y = 0.1

2
1.5
1
0.5
-4

-2

x
x = x, y = 1/10
2
1.5
1
0.5
-4

-2

0
x

Test -4
Enter the length of the domain = 3
Enter the number of subdomains = 2
for subdomain 1=>
Enter the length of subdomain = 1
Enter the number of elements in subdomain = 2
for subdomain 2=>
Enter the length of subdomain = 2
Enter the number of elements in subdomain = 4
Enter the desired order of approximation = 2
for subdomain 1=>
Enter a polynomial for EA in [] brackets (highest power coefficient first) = [5,5]
Enter a polynomial for k in [] brackets (highest power coefficient first) = [1]
Enter a polynomial for f in [] brackets (highest power coefficient first) = [2,1]
for subdomain 2=>
Enter a polynomial for EA in [] brackets (highest power coefficient first) = [10]
Enter a polynomial for k in [] brackets (highest power coefficient first) = [1]
Enter a polynomial for f in [] brackets (highest power coefficient first) = [2,3]
input total boundry no. of condition = 3
for boundry condition no. 1=>
input boundry condition type (0,1,2)= 0
input the node point coordinate = 0
input the value of u = 0
for boundry condition no. 2=>
input boundry condition type (0,1,2)= 1
input the node point coordinate = 1
input the value of p = 0
for boundry condition no. 3=>
input boundry condition type (0,1,2)= 1

input the node point coordinate = 3


input the value of p = 10

U=
11.455727100577016486226966662798*x*(x - 0.25) 12.65920726287530762022015551338*x*(x - 0.5)
19.443284052978029308178520295769*(x - 0.75)*(x - 0.5) +
11.455727100577016486226966662798*(x - 0.75)*(x - 1.0) 31.500336401663126650873891776428*(x - 0.5)*(x - 1.0)
19.443284052978029308178520295769*(x - 1.5)*(x - 1.25) 45.641474734517053946092346450314*(x - 1.5)*(x - 1.0) +
26.065737487366590130477561615407*(x - 1.25)*(x - 1.0)
28.122007064902827977448396268301*(x - 1.75)*(x - 1.5) +
26.065737487366590130477561615407*(x - 1.75)*(x - 2.0) 54.343019685597958812195429345593*(x - 1.5)*(x - 2.0)
28.122007064902827977448396268301*(x - 2.5)*(x - 2.25) 57.796389103442578516478533856571*(x - 2.5)*(x - 2.0) +
29.479874159144934253617975628003*(x - 2.25)*(x - 2.0)
29.479874159144934253617975628003*(x - 3.0)*(x - 2.75) 59.691426964999351412188843823969*(x - 3.0)*(x - 2.5) +
29.97293934828370964851274038665*(x - 2.75)*(x - 2.5)

U_diff =
3.4656718562933996885533360909903 - 2.4069603245965822679863777011633*x
2.8988771102623744901904956350336 - 1.2026504962161617129368096357211*x
1.9867463440282264741654216777533 - 0.26490638834486901487252907827497*x
1.0575303610339519266858587798197 - 0.31055026665708140853894292376935*x
1.2147522308371998533971236611251 - 0.38901575878963257082432392053306*x
1.4356403139235851540433941408992 - 0.47722691514141502011625561863184*x

dudx_r =
- (168981288381493*x^2)/70368744177664 + (8468238993012299*x)/2251799813685248 +
68689443268471/13510798882111488
(149361901570707*x^2)/140737488355328 - (7117189074733225*x)/2533274790395904 +
11765527698663083/3377699720527872
- (162480030621297*x^2)/281474976710656 + (99967898607503*x)/1688849860263936 +
5235534440893573/2251799813685248
(1053749989888677*x^2)/1125899906842624 - (90819771376623499*x)/20266198323167232 +
456962077195719595/81064793292668928
- (187505158257477*x^2)/2251799813685248 - (73197444396387*x)/4503599627370496 +
43198453784032199/54043195528445952
- (6207308294935*x^2)/70368744177664 + (9541701212105*x)/1125899906842624 +
2596945644605905/3377699720527872

x = x, y = 29.479874159144934253617975628003 (x - 3.0) (x - 2.75) -...+ 29.97293934828370964851274038665 (x - 2.75) (x - 2.5)

2
0

5
10
x
x = x, y = 1.4356403139235851540433941408992 - 0.47722691514141502011625561863184 x

-5

3
2
1
2
4
6
8
x
x = x, y = -...+ 2596945644605905/3377699720527872

-6

-4

-2

2
1.5
1
0.5
-4

-2

2
x

Test - 5
Enter the length of the domain = 3
Enter the number of subdomains = 2
for subdomain 1=>
Enter the length of subdomain = 1
Enter the number of elements in subdomain = 2
for subdomain 2=>
Enter the length of subdomain = 2
Enter the number of elements in subdomain = 4
Enter the desired order of approximation = 3
for subdomain 1=>
Enter a polynomial for EA in [] brackets (highest power coefficient first) = [5,5]
Enter a polynomial for k in [] brackets (highest power coefficient first) = [1]
Enter a polynomial for f in [] brackets (highest power coefficient first) = [2,1]
for subdomain 2=>
Enter a polynomial for EA in [] brackets (highest power coefficient first) = [10]
Enter a polynomial for k in [] brackets (highest power coefficient first) = [1]
Enter a polynomial for f in [] brackets (highest power coefficient first) = [2,3]
input total boundry no. of condition = 3
for boundry condition no. 1=>
input boundry condition type (0,1,2)= 0
input the node point coordinate = 0
input the value of u = 0
for boundry condition no. 2=>
input boundry condition type (0,1,2)= 1
input the node point coordinate = 1
input the value of p = 0
for boundry condition no. 3=>

input boundry condition type (0,1,2)= 1


input the node point coordinate = 3
input the value of p = 10

U=

53.245999008315026301829675503541*x*(x - 0.16666666666666666666666666666667)*(x 0.33333333333333333333333333333333) - 113.66305623331731577962955270777*x*(x 0.16666666666666666666666666666667)*(x - 0.5) + 61.110124903685870467739960076869*x*(x 0.33333333333333333333333333333333)*(x - 0.5)


90.435290567012934559443237958476*(x - 0.83333333333333333333333333333333)*(x 0.66666666666666666666666666666667)*(x - 0.5) - 237.72231576904152561269256693777*(x 0.66666666666666666666666666666667)*(x - 0.5)*(x - 1.0) 53.245999008315026301829675503541*(x - 0.83333333333333333333333333333333)*(x 0.66666666666666666666666666666667)*(x - 1.0) + 200.77056079448808834087003560853*(x 0.83333333333333333333333333333333)*(x - 0.5)*(x - 1.0)
103.3167268551962649780762149021*(x - 1.3333333333333333333333333333333)*(x 1.1666666666666666666666666666667)*(x - 1.0) - 90.435290567012934559443237958476*(x 1.5)*(x - 1.3333333333333333333333333333333)*(x - 1.1666666666666666666666666666667) +
285.01720555797356482230497931596*(x - 1.5)*(x - 1.3333333333333333333333333333333)*(x 1.0) - 297.92004802842554056496737757698*(x - 1.5)*(x 1.1666666666666666666666666666667)*(x - 1.0)
113.37519908266103740857033699285*(x - 1.8333333333333333333333333333333)*(x 1.6666666666666666666666666666667)*(x - 1.5) - 103.3167268551962649780762149021*(x 1.8333333333333333333333333333333)*(x - 1.6666666666666666666666666666667)*(x - 2.0) +
321.04115323106015189580375590594*(x - 1.8333333333333333333333333333333)*(x - 1.5)*(x 2.0) - 331.12364113464954407106688449858*(x - 1.6666666666666666666666666666667)*(x 1.5)*(x - 2.0)
347.97218363337871416263169521699*(x - 2.5)*(x 2.3333333333333333333333333333333)*(x - 2.0) - 113.37519908266103740857033699285*(x 2.5)*(x - 2.3333333333333333333333333333333)*(x - 2.1666666666666666666666666666667) 354.58502585450562527569218218559*(x - 2.5)*(x - 2.1666666666666666666666666666667)*(x 2.0) + 119.96081538733189297829540009843*(x - 2.3333333333333333333333333333333)*(x 2.1666666666666666666666666666667)*(x - 2.0)
363.77934232691515958890704496298*(x - 3.0)*(x 2.8333333333333333333333333333333)*(x - 2.5) - 119.96081538733189297829540009843*(x 3.0)*(x - 2.8333333333333333333333333333333)*(x - 2.6666666666666666666666666666667) 366.18632569249823305312929733191*(x - 3.0)*(x - 2.6666666666666666666666666666667)*(x -

2.5) + 122.33668142811212220522065763362*(x - 2.8333333333333333333333333333333)*(x 2.6666666666666666666666666666667)*(x - 2.5)

U_diff =

114.35612391200089676956963558041*x*(x 0.33333333333333333333333333333333) - 60.417057225002289477799877204234*x*(x 0.16666666666666666666666666666667) + 53.245999008315026301829675503541*(x 0.16666666666666666666666666666667)*(x - 0.33333333333333333333333333333333) 52.552931329631445311889592630905*x*(x - 0.5) - 113.66305623331731577962955270777*(x 0.16666666666666666666666666666667)*(x - 0.5) + 61.110124903685870467739960076869*(x 0.33333333333333333333333333333333)*(x - 0.5)
37.189291558697908257613562454935*(x - 0.83333333333333333333333333333333)*(x 0.66666666666666666666666666666667) + 291.20585136150102290031327356701*(x 0.83333333333333333333333333333333)*(x - 0.5) + 147.52456178617306203904036010499*(x 0.83333333333333333333333333333333)*(x - 1.0) - 147.28702520202859105324932897929*(x 0.66666666666666666666666666666667)*(x - 0.5) - 290.96831477735655191452224244131*(x 0.66666666666666666666666666666667)*(x - 1.0) - 36.951754974553437271822531329235*(x 0.5)*(x - 1.0)
194.58191499096063026286174135748*(x - 1.5)*(x - 1.3333333333333333333333333333333) 388.35533859543847512441061553545*(x - 1.5)*(x - 1.1666666666666666666666666666667) 12.902842470451975742662398261018*(x - 1.5)*(x - 1.0) +
12.881436288183330418632976943627*(x - 1.3333333333333333333333333333333)*(x 1.1666666666666666666666666666667) + 388.33393241316982980038119421806*(x 1.3333333333333333333333333333333)*(x - 1.0) - 194.60332117322927558689116267487*(x 1.1666666666666666666666666666667)*(x - 1.0)
10.058472227464772430494122090749*(x - 1.8333333333333333333333333333333)*(x 1.6666666666666666666666666666667) + 434.4163523137211893043740928988*(x 1.8333333333333333333333333333333)*(x - 1.5) - 217.74844205198850666249654750573*(x 1.6666666666666666666666666666667)*(x - 1.5) + 217.72442637586388691772754100384*(x 1.8333333333333333333333333333333)*(x - 2.0) - 434.44036798984580904914309940068*(x 1.6666666666666666666666666666667)*(x - 2.0) - 10.082487903589392175263128592633*(x 1.5)*(x - 2.0)
234.59698455071767675406135822413*(x - 2.5)*(x - 2.3333333333333333333333333333333) 467.96022493716666268426251917845*(x - 2.5)*(x - 2.1666666666666666666666666666667) 6.6128422211269111130604869686067*(x - 2.5)*(x - 2.0) +
6.5856163046708555697250631055795*(x - 2.3333333333333333333333333333333)*(x 2.1666666666666666666666666666667) + 467.93299902071060714092709531542*(x 2.3333333333333333333333333333333)*(x - 2.0) - 234.62421046717373229739678208716*(x 2.1666666666666666666666666666667)*(x - 2.0)

243.81852693958326661061164486455*(x - 3.0)*(x - 2.8333333333333333333333333333333)


- 486.14714107983012603142469743034*(x - 3.0)*(x - 2.6666666666666666666666666666667) 2.406983365583073464222252368927*(x - 3.0)*(x - 2.5) +
2.3758660407802292269252575351857*(x - 2.8333333333333333333333333333333)*(x 2.6666666666666666666666666666667) + 486.1160237550272817941277025966*(x 2.8333333333333333333333333333333)*(x - 2.5) - 243.84964426438611084790863969829*(x 2.6666666666666666666666666666667)*(x - 2.5)

dudx_r =

(75802571805425125*x^3)/2814749767108072 (126855265433737628830063288564415*x^2)/3119608899000834054019639934976 +
(108396595568312186272489881267505*x)/6239217798001668108039279869952 56873317228221958625800777197961/49913742384013344864314238959616
(753339013326251825*x^3)/1066350357082473088 (8554717007507696568850763736845*x^2)/6155439238700161385149614784512 (36674738663846536148987489073205*x)/24621756954800645540598459138048 +
42837296449935338790493127815969/12310878477400322770299229569024
(7341157905953026960215433999698002841862465*x^3)/18336705731462315260764552868370
786878358552 (39874908145552851532014995979907753193769335*x^2)/2200404687775477831291746344204
49442540302624 (2604958408736338170330911931138826351206767455*x)/8801618751101911325166985376817
97770161210496 +
2620687069848158858114218980915442722410326778325538511485/6451654773391884476532
77421778661559863999782927690891264
(799862640358850681582821309690860801325395*x^3)/137525292984980758364131997809513
956897424672 (68902969800308697212507163316504832983506005*x^2)/1650303515819769100369583973714
167482769096064 (326504567569256428009713275689773275970181725*x)/22004046877596921338261119649522
23310358794752 +
21317688405838307152923424139592918029157912379644696695195/217743348600414010870
53940777660640226385646943321056083968

(81337120763564480615557319800159592055805*x^3)/1146044108199897514994141689689621
2707129856 (14051145657869595247517625314309523076565135*x^2)/4125758789519631053978910082882
63657456674816 (89967857426886844561487528002353372231410905*x)/550101171935950807197188011051018
209942233088 +
1345689638394018849669239850754843848675601364295631278535/1360895928742760672780
192984041388044340555421409395867648
(730106081404517119631012978696112457*x^3)/93790327337722225707791894815319949056 (32594498243675222207692225519502326835*x^2)/1125483928052666708493502737783839388
672 (132069105194355344270731747974952010855*x)/75032261870177780566233515852255959244
8+
1236101360151818265516523432236110013245944762584235/1237482665768914042513295279
940621745065695454953472

x - 2.8333333333333333333333333333333) (x - 2.5) -...+ 122.33668142811212220522065763362 (x - 2.83333333333333333333333333333


2
0

-6

-4

-2

x
61061164486455 (x - 3.0) (x - 2.8333333333333333333333333333333) -...- 243.84964426438611084790863969829 (x - 2.666666666666666
3
2
1
-5

-5

5
10
x
x, y = -...+ 1236101360151818265516523432236110013245944762584235/1237482665768914042513295279940621745065695454953472
2
1
0
-1
5
x

10

Das könnte Ihnen auch gefallen