📄 youxianyuan.m
字号:
clear
clc
x=0:1:2;
y=0:0.5:2;
k=0;
N1=length(x);
N2=length(y);
eps=1e-5;
fprintf('选取节点的方案:\n');
for j=1:length(y)
for i=1:length(x)
k=k+1;
fprintf('第%d个节点坐标:\n',k);
vj(k,:)=[x(i),y(j)];
fprintf('(%0.2f,%0.2f)\n',x(i),y(j));
end
end
N=0;
for t=1:k
if vj(t,1)~=0&vj(t,2)~=0&vj(t,1)~=2&vj(t,2)~=2
N=N+1;
if rem(N,2)==0
continue;
end
fprintf('第%d个中心节点为%d,相应单元号的节点号为:\n',N,t);
q=1;
for i=t-N1-1:t-N1
fprintf('(%d,%d,%d)\n',t,i,i+1);
y=[vj(t,2),vj(i,2),vj(i+1,2)];
a(1)=y(2)-y(3);
a(2)=y(3)-y(1);
a(3)=y(1)-y(2);
A(q,:)=a;
x=[vj(t,1),vj(i,1),vj(i+1,1)];
b(1)=x(3)-x(2);
b(2)=x(1)-x(3);
b(3)=x(2)-x(1);
B(q,:)=b;
q=q+1;
end
fprintf('(%d,%d,%d)\n',t,t-1,t-N1-1);
y=[vj(t,2),vj(t-1,2),vj(t-N1-1,2)];
a(1)=y(2)-y(3);
a(2)=y(3)-y(1);
a(3)=y(1)-y(2);
A(q,:)=a;
x=[vj(t,1),vj(t-1,1),vj(t-N1-1,1)];
b(1)=x(3)-x(2);
b(2)=x(1)-x(3);
b(3)=x(2)-x(1);
B(q,:)=b;
q=q+1;
fprintf('(%d,%d,%d)\n',t,t+N1-1,t-1);
y=[vj(t,2),vj(t+N1-1,2),vj(t-1,2)];
a(1)=y(2)-y(3);
a(2)=y(3)-y(1);
a(3)=y(1)-y(2);
A(q,:)=a;
x=[vj(t,1),vj(t+N1-1,1),vj(t-1,1)];
b(1)=x(3)-x(2);
b(2)=x(1)-x(3);
b(3)=x(2)-x(1);
B(q,:)=b;
q=q+1;
for i=t+N1+1:-1:t+N1
fprintf('(%d,%d,%d)\n',t,i,i-1);
y=[vj(t,2),vj(i,2),vj(i-1,2)];
a(1)=y(2)-y(3);
a(2)=y(3)-y(1);
a(3)=y(1)-y(2);
A(q,:)=a;
x=[vj(t,1),vj(i,1),vj(i-1,1)];
b(1)=x(3)-x(2);
b(2)=x(1)-x(3);
b(3)=x(2)-x(1);
B(q,:)=b;
q=q+1;
end
fprintf('(%d,%d,%d)\n',t,t+1,t+N1+1);
y=[vj(t,2),vj(t+1,2),vj(t+N1+1,2)];
a(1)=y(2)-y(3);
a(2)=y(3)-y(1);
a(3)=y(1)-y(2);
A(q,:)=a;
x=[vj(t,1),vj(t+1,1),vj(t+N1+1,1)];
b(1)=x(3)-x(2);
b(2)=x(1)-x(3);
b(3)=x(2)-x(1);
B(q,:)=b;
q=q+1;
fprintf('(%d,%d,%d)\n',t,t-N1+1,t+1);
y=[vj(t,2),vj(t-N1+1,2),vj(t+1,2)];
a(1)=y(2)-y(3);
a(2)=y(3)-y(1);
a(3)=y(1)-y(2);
A(q,:)=a;
x=[vj(t,1),vj(t-N1+1,1),vj(t+1,1)];
b(1)=x(3)-x(2);
b(2)=x(1)-x(3);
b(3)=x(2)-x(1);
B(q,:)=b;
q=q+1;
end
end
%y=[vj(5,2),vj(1,2),vj(2,2)];
%a(1)=y(2)-y(3);
%a(2)=y(3)-y(1);
%a(3)=y(1)-y(2);
%A(1,:)=a;
%y=[vj(5,2),vj(2,2),vj(3,2)];
%a(1)=y(2)-y(3);
%a(2)=y(3)-y(1);
%a(3)=y(1)-y(2);
%A(2,:)=a;
%y=[vj(5,2),vj(4,2),vj(1,2)];
%a(1)=y(2)-y(3);
%a(2)=y(3)-y(1);
%a(3)=y(1)-y(2);
%A(3,:)=a;
%y=[vj(5,2),vj(7,2),vj(4,2)];
%a(1)=y(2)-y(3);
%a(2)=y(3)-y(1);
%a(3)=y(1)-y(2);
%A(4,:)=a;
%y=[vj(5,2),vj(9,2),vj(8,2)];
%a(1)=y(2)-y(3);
%a(2)=y(3)-y(1);
%a(3)=y(1)-y(2);
%A(5,:)=a;
%y=[vj(5,2),vj(8,2),vj(7,2)];
%a(1)=y(2)-y(3);
%a(2)=y(3)-y(1);
%a(3)=y(1)-y(2);
%A(6,:)=a;
%y=[vj(5,2),vj(6,2),vj(9,2)];
%a(1)=y(2)-y(3);
%a(2)=y(3)-y(1);
%a(3)=y(1)-y(2);
%A(7,:)=a;
%y=[vj(5,2),vj(3,2),vj(6,2)];
%a(1)=y(2)-y(3);
%a(2)=y(3)-y(1);
%a(3)=y(1)-y(2);
%A(8,:)=a;
y=[vj(11,2),vj(7,2),vj(8,2)];
a(1)=y(2)-y(3);
a(2)=y(3)-y(1);
a(3)=y(1)-y(2);
A(9,:)=a;
y=[vj(11,2),vj(8,2),vj(9,2)];
a(1)=y(2)-y(3);
a(2)=y(3)-y(1);
a(3)=y(1)-y(2);
A(10,:)=a;
y=[vj(11,2),vj(10,2),vj(7,2)];
a(1)=y(2)-y(3);
a(2)=y(3)-y(1);
a(3)=y(1)-y(2);
A(11,:)=a;
y=[vj(11,2),vj(13,2),vj(10,2)];
a(1)=y(2)-y(3);
a(2)=y(3)-y(1);
a(3)=y(1)-y(2);
A(12,:)=a;
y=[vj(11,2),vj(15,2),vj(14,2)];
a(1)=y(2)-y(3);
a(2)=y(3)-y(1);
a(3)=y(1)-y(2);
A(13,:)=a;
y=[vj(11,2),vj(14,2),vj(13,2)];
a(1)=y(2)-y(3);
a(2)=y(3)-y(1);
a(3)=y(1)-y(2);
A(14,:)=a;
y=[vj(11,2),vj(12,2),vj(15,2)];
a(1)=y(2)-y(3);
a(2)=y(3)-y(1);
a(3)=y(1)-y(2);
A(15,:)=a;
y=[vj(11,2),vj(9,2),vj(12,2)];
a(1)=y(2)-y(3);
a(2)=y(3)-y(1);
a(3)=y(1)-y(2);
A(16,:)=a;
A;
%x=[vj(5,1),vj(1,1),vj(2,1)];
%b(1)=x(3)-x(2);
%b(2)=x(1)-x(3);
%b(3)=x(2)-x(1);
%B(1,:)=b;
%x=[vj(5,1),vj(2,1),vj(3,1)];
%b(1)=x(3)-x(2);
%b(2)=x(1)-x(3);
%b(3)=x(2)-x(1);
%B(2,:)=b;
%x=[vj(5,1),vj(4,1),vj(1,1)];
%b(1)=x(3)-x(2);
%b(2)=x(1)-x(3);
%b(3)=x(2)-x(1);
%B(3,:)=b;
%x=[vj(5,1),vj(7,1),vj(4,1)];
%b(1)=x(3)-x(2);
%b(2)=x(1)-x(3);
%b(3)=x(2)-x(1);
%B(4,:)=b;
%x=[vj(5,1),vj(9,1),vj(8,1)];
%b(1)=x(3)-x(2);
%b(2)=x(1)-x(3);
%b(3)=x(2)-x(1);
%B(5,:)=b;
%x=[vj(5,1),vj(8,1),vj(7,1)];
%b(1)=x(3)-x(2);
%b(2)=x(1)-x(3);
%b(3)=x(2)-x(1);
%B(6,:)=b;
%x=[vj(5,1),vj(6,1),vj(9,1)];
%b(1)=x(3)-x(2);
%b(2)=x(1)-x(3);
%b(3)=x(2)-x(1);
%B(7,:)=b;
%x=[vj(5,1),vj(3,1),vj(6,1)];
%b(1)=x(3)-x(2);
%b(2)=x(1)-x(3);
%b(3)=x(2)-x(1);
%B(8,:)=b;
x=[vj(11,1),vj(7,1),vj(8,1)];
b(1)=x(3)-x(2);
b(2)=x(1)-x(3);
b(3)=x(2)-x(1);
B(9,:)=b;
x=[vj(11,1),vj(8,1),vj(9,1)];
b(1)=x(3)-x(2);
b(2)=x(1)-x(3);
b(3)=x(2)-x(1);
B(10,:)=b;
x=[vj(11,1),vj(10,1),vj(7,1)];
b(1)=x(3)-x(2);
b(2)=x(1)-x(3);
b(3)=x(2)-x(1);
B(11,:)=b;
x=[vj(11,1),vj(13,1),vj(10,1)];
b(1)=x(3)-x(2);
b(2)=x(1)-x(3);
b(3)=x(2)-x(1);
B(12,:)=b;
x=[vj(11,1),vj(15,1),vj(14,1)];
b(1)=x(3)-x(2);
b(2)=x(1)-x(3);
b(3)=x(2)-x(1);
B(13,:)=b;
x=[vj(11,1),vj(14,1),vj(13,1)];
b(1)=x(3)-x(2);
b(2)=x(1)-x(3);
b(3)=x(2)-x(1);
B(14,:)=b;
x=[vj(11,1),vj(12,1),vj(15,1)];
b(1)=x(3)-x(2);
b(2)=x(1)-x(3);
b(3)=x(2)-x(1);
B(15,:)=b;
x=[vj(11,1),vj(9,1),vj(12,1)];
b(1)=x(3)-x(2);
b(2)=x(1)-x(3);
b(3)=x(2)-x(1);
B(16,:)=b;
B;
T=[A,B];
m=size(T,1);
S=1/4;
for i=1
K=[[A(i,:)]',[B(i,:)]'];
Ke1=1/(4*S)*K*K';
end
Ke1
for i=2
K=[[A(i,:)]',[B(i,:)]'];
Ke2=1/(4*S)*K*K';
end
for i=3
K=[[A(i,:)]',[B(i,:)]'];
Ke3=1/(4*S)*K*K';
end
for i=4
K=[[A(i,:)]',[B(i,:)]'];
Ke4=1/(4*S)*K*K';
end
for i=5
K=[[A(i,:)]',[B(i,:)]'];
Ke5=1/(4*S)*K*K';
end
for i=6
K=[[A(i,:)]',[B(i,:)]'];
Ke6=1/(4*S)*K*K';
end
for i=7
K=[[A(i,:)]',[B(i,:)]'];
Ke7=1/(4*S)*K*K';
end
for i=8
K=[[A(i,:)]',[B(i,:)]'];
Ke8=1/(4*S)*K*K';
end
for i=9
K=[[A(i,:)]',[B(i,:)]'];
Ke9=1/(4*S)*K*K';
end
for i=10
K=[[A(i,:)]',[B(i,:)]'];
Ke10=1/(4*S)*K*K';
end
for i=11
K=[[A(i,:)]',[B(i,:)]'];
Ke11=1/(4*S)*K*K';
end
for i=12
K=[[A(i,:)]',[B(i,:)]'];
Ke12=1/(4*S)*K*K';
end
for i=13
K=[[A(i,:)]',[B(i,:)]'];
Ke13=1/(4*S)*K*K';
end
for i=14
K=[[A(i,:)]',[B(i,:)]'];
Ke14=1/(4*S)*K*K';
end
for i=15
K=[[A(i,:)]',[B(i,:)]'];
Ke15=1/(4*S)*K*K';
end
for i=16
K=[[A(i,:)]',[B(i,:)]'];
Ke16=1/(4*S)*K*K';
end
KK=zeros(15);
KK(5,5)=KK(5,5)+Ke1(1,1);
KK(1,1)=KK(1,1)+Ke1(2,2);
KK(2,2)=KK(2,2)+Ke1(3,3);
KK(1,5)=KK(1,5)+Ke1(2,1);
KK(5,1)=KK(5,1)+Ke1(1,2);
KK(1,2)=KK(1,2)+Ke1(2,3);
KK(2,1)=KK(2,1)+Ke1(3,2);
KK(5,2)=KK(5,2)+Ke1(1,3);
KK(2,5)=KK(2,5)+Ke1(3,1);
KK(5,5)=KK(5,5)+Ke2(1,1);
KK(2,2)=KK(2,2)+Ke2(2,2);
KK(3,3)=KK(3,3)+Ke2(3,3);
KK(2,5)=KK(2,5)+Ke2(2,1);
KK(5,2)=KK(5,2)+Ke2(1,2);
KK(2,3)=KK(2,3)+Ke2(2,3);
KK(3,2)=KK(3,2)+Ke2(3,2);
KK(5,3)=KK(5,3)+Ke2(1,3);
KK(3,5)=KK(3,5)+Ke2(3,1);
KK(5,5)=KK(5,5)+Ke3(1,1);
KK(4,4)=KK(4,4)+Ke3(2,2);
KK(1,1)=KK(1,1)+Ke3(3,3);
KK(4,5)=KK(4,5)+Ke3(2,1);
KK(5,4)=KK(5,4)+Ke3(1,2);
KK(4,1)=KK(4,1)+Ke3(2,3);
KK(1,4)=KK(1,4)+Ke3(3,2);
KK(5,1)=KK(5,1)+Ke3(1,3);
KK(1,5)=KK(1,5)+Ke3(3,1);
KK(5,5)=KK(5,5)+Ke4(1,1);
KK(7,7)=KK(7,7)+Ke4(2,2);
KK(4,4)=KK(4,4)+Ke4(3,3);
KK(7,5)=KK(7,5)+Ke4(2,1);
KK(5,7)=KK(5,7)+Ke4(1,2);
KK(7,4)=KK(7,4)+Ke4(2,3);
KK(4,7)=KK(4,7)+Ke4(3,2);
KK(5,4)=KK(5,4)+Ke4(1,3);
KK(4,5)=KK(4,5)+Ke4(3,1);
KK(5,5)=KK(5,5)+Ke5(1,1);
KK(9,9)=KK(9,9)+Ke5(2,2);
KK(8,8)=KK(8,8)+Ke5(3,3);
KK(9,5)=KK(9,5)+Ke5(2,1);
KK(5,9)=KK(5,9)+Ke5(1,2);
KK(9,8)=KK(9,8)+Ke5(2,3);
KK(8,9)=KK(8,9)+Ke5(3,2);
KK(5,8)=KK(5,8)+Ke5(1,3);
KK(8,5)=KK(8,5)+Ke5(3,1);
KK(5,5)=KK(5,5)+Ke6(1,1);
KK(8,8)=KK(8,8)+Ke6(2,2);
KK(7,7)=KK(7,7)+Ke6(3,3);
KK(8,5)=KK(8,5)+Ke6(2,1);
KK(5,8)=KK(5,8)+Ke6(1,2);
KK(8,7)=KK(8,7)+Ke6(2,3);
KK(7,8)=KK(7,8)+Ke6(3,2);
KK(5,7)=KK(5,7)+Ke6(1,3);
KK(7,5)=KK(7,5)+Ke6(3,1);
KK(5,5)=KK(5,5)+Ke7(1,1);
KK(6,6)=KK(6,6)+Ke7(2,2);
KK(9,9)=KK(9,9)+Ke7(3,3);
KK(6,5)=KK(6,5)+Ke7(2,1);
KK(5,6)=KK(5,6)+Ke7(1,2);
KK(6,9)=KK(6,9)+Ke7(2,3);
KK(9,6)=KK(9,6)+Ke7(3,2);
KK(5,9)=KK(5,9)+Ke7(1,3);
KK(9,5)=KK(9,5)+Ke7(3,1);
KK(5,5)=KK(5,5)+Ke8(1,1);
KK(3,3)=KK(3,3)+Ke8(2,2);
KK(6,6)=KK(6,6)+Ke8(3,3);
KK(3,5)=KK(3,5)+Ke8(2,1);
KK(5,3)=KK(5,3)+Ke8(1,2);
KK(3,6)=KK(3,6)+Ke8(2,3);
KK(6,3)=KK(6,3)+Ke8(3,2);
KK(5,6)=KK(5,6)+Ke8(1,3);
KK(6,5)=KK(6,5)+Ke8(3,1);
KK(11,11)=KK(11,11)+Ke9(1,1);
KK(7,7)=KK(7,7)+Ke9(2,2);
KK(8,8)=KK(8,8)+Ke9(3,3);
KK(7,11)=KK(7,11)+Ke9(2,1);
KK(11,7)=KK(11,7)+Ke9(1,2);
KK(7,8)=KK(7,8)+Ke9(2,3);
KK(8,7)=KK(8,7)+Ke9(3,2);
KK(11,8)=KK(11,8)+Ke9(1,3);
KK(8,11)=KK(8,11)+Ke9(3,1);
KK(11,11)=KK(11,11)+Ke10(1,1);
KK(8,8)=KK(8,8)+Ke10(2,2);
KK(9,9)=KK(9,9)+Ke10(3,3);
KK(8,11)=KK(8,11)+Ke10(2,1);
KK(11,8)=KK(11,8)+Ke10(1,2);
KK(8,9)=KK(8,9)+Ke10(2,3);
KK(9,8)=KK(9,8)+Ke10(3,2);
KK(11,9)=KK(11,9)+Ke10(1,3);
KK(9,11)=KK(9,11)+Ke10(3,1);
KK(11,11)=KK(11,11)+Ke11(1,1);
KK(10,10)=KK(10,10)+Ke11(2,2);
KK(7,7)=KK(7,7)+Ke11(3,3);
KK(10,11)=KK(10,11)+Ke11(2,1);
KK(11,10)=KK(11,10)+Ke11(1,2);
KK(10,7)=KK(10,7)+Ke11(2,3);
KK(7,10)=KK(7,10)+Ke11(3,2);
KK(11,7)=KK(11,7)+Ke11(1,3);
KK(7,11)=KK(7,11)+Ke11(3,1);
KK(11,11)=KK(11,11)+Ke12(1,1);
KK(13,13)=KK(13,13)+Ke12(2,2);
KK(10,10)=KK(10,10)+Ke12(3,3);
KK(13,11)=KK(13,11)+Ke12(2,1);
KK(11,13)=KK(11,13)+Ke12(1,2);
KK(13,10)=KK(13,10)+Ke12(2,3);
KK(10,13)=KK(10,13)+Ke12(3,2);
KK(11,10)=KK(11,10)+Ke12(1,3);
KK(10,11)=KK(10,11)+Ke12(3,1);
KK(11,11)=KK(11,11)+Ke13(1,1);
KK(15,15)=KK(15,15)+Ke13(2,2);
KK(14,14)=KK(14,14)+Ke13(3,3);
KK(15,11)=KK(15,11)+Ke13(2,1);
KK(11,15)=KK(11,15)+Ke13(1,2);
KK(15,14)=KK(15,14)+Ke13(2,3);
KK(14,15)=KK(14,15)+Ke13(3,2);
KK(11,14)=KK(11,14)+Ke13(1,3);
KK(14,11)=KK(14,11)+Ke13(3,1);
KK(11,11)=KK(11,11)+Ke14(1,1);
KK(14,14)=KK(14,14)+Ke14(2,2);
KK(13,13)=KK(13,13)+Ke14(3,3);
KK(14,11)=KK(14,11)+Ke14(2,1);
KK(11,14)=KK(11,14)+Ke14(1,2);
KK(14,13)=KK(14,13)+Ke14(2,3);
KK(13,14)=KK(13,14)+Ke14(3,2);
KK(11,13)=KK(11,13)+Ke14(1,3);
KK(13,11)=KK(13,11)+Ke14(3,1);
KK(11,11)=KK(11,11)+Ke15(1,1);
KK(12,12)=KK(12,12)+Ke15(2,2);
KK(15,15)=KK(15,15)+Ke15(3,3);
KK(12,11)=KK(12,11)+Ke15(2,1);
KK(11,12)=KK(11,12)+Ke15(1,2);
KK(12,15)=KK(12,15)+Ke15(2,3);
KK(15,12)=KK(15,12)+Ke15(3,2);
KK(11,15)=KK(11,15)+Ke15(1,3);
KK(15,11)=KK(15,11)+Ke15(3,1);
KK(11,11)=KK(11,11)+Ke16(1,1);
KK(9,9)=KK(9,9)+Ke16(2,2);
KK(12,12)=KK(15,15)+Ke16(3,3);
KK(9,11)=KK(9,11)+Ke16(2,1);
KK(11,9)=KK(11,9)+Ke16(1,2);
KK(9,12)=KK(9,12)+Ke16(2,3);
KK(12,9)=KK(12,9)+Ke16(3,2);
KK(11,12)=KK(11,12)+Ke16(1,3);
KK(12,11)=KK(12,11)+Ke16(3,1);
KK
u(1)=50;
u(2)=50;
u(3)=50;
u(13)=100;
u(14)=100;
u(15)=100;
u;
K11=KK(1:N1,1:N1);
K12=KK(1:N1,N1+1:15-N1);
K13=KK(1:N1,16-N1:15); %0
K21=KK(N1+1:15-N1,1:N1);
K22=KK(N1+1:15-N1,N1+1:15-N1);
K23=KK(N1+1:15-N1,16-N1:15);
K31=KK(16-N1:15,1:N1); %0
K32=KK(16-N1:15,N1+1:15-N1);
K33=KK(16-N1:15,16-N1:15);
Y=-K21*u(1:3)'-K23*u(13:15)';
X=inv(K22)*Y;
fprintf('边界结果为:\n')
n=size(K22,1);
for i=1:n
fprintf('u[%d]=%f\n',i,X(i));
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -