Programación TOC
Borrar
tic
?n? es el número de cuadrículas divididas por filas y columnas. Hay n 2 divisiones para todo [0, 1]*[0, 1], y can es el parámetro k en la ecuación.
Aquí usamos 1, 2, 3 para representar los vértices de un triángulo en sentido antihorario.
?S es la matriz de correlación de n^2*10, s(i,1) representa el I-ésimo triángulo, S (I, 2), S (I, 3), S (I , 4 ) representan respectivamente los vértices correspondientes a 1, 2 y 3 del I-ésimo triángulo.
?s(i,5), s(i,6); s(i,7), s(i,8) y s(i,10) respectivamente; Representa las coordenadas representadas por los vértices 1, 2 y 3.
Generar matriz de correlación s
A es una matriz completamente rígida
¿Declarar variable simbólica x? y
n = 20
puede = 20
s=zeros(2*n^2, 10);
h = 1/n;
st=1/(2*n^2);
a=zeros((n 1)^2, (n 1)^2);
síntomas? ¿incógnita? y;
fork=1:1:2*n^2
s(k,1)= k;
q = arreglar(k/( 2 * n));
r=mod(k, (2 * n));
¿Si? (r~=0)
r = r
¿Y si? r = 2 * n; q = q-1;
Fin
Si? (r lt=n)
s(k, 2)= q *(n 1) r;
s(k, 3)= q *(n 1) r 1 ;
s(k, 4)=(q 1)*(n 1) r 1;
s(k, 5)=(r-1)* h;
s(k, 6) = q * h;
s(k, 7) = r * h
?
?¿Para qué? ¿incógnita? =?1:10
?Display(x)
?Fin
?
s(k, 8) = q * h;
s(k, 9) = r * h;
s(k, 10) = (q 1) * h
Otros
s(k, 2)= q *(n 1) r-n;
s(k, 3)=(q 1)*(n 1) r-n 1;
s(k, 4)=(q 1)*(n 1) r-n
s(k, 5)=(r-n-1)* h
s(k, 6)= q * h;
s(k, 7)=(r-n)* h
s(k, 8)=(q 1) * h;
s(k, 9)=(r-n-1)* h
s(k, 10)=(q 1)* h;
Fin
Fin
La función base L(i) generada a continuación representa la función base del vértice del punto I-ésimo.
Generar matriz Dangan d
Generar matriz Dangan y agregarla a la matriz principal.
d = cero(3, 3);
b = ceros((n 1)^2,
b = cero(3,); 1);
Generar la rigidez total de a.
¿Para qué? k=1:1:2*n^2
l(1)=(1/(2*ST))*((s(k,7)*s(k,10)-s (k,9)*s(k,8)) (s(k,8)-s(k,10))*x (s(k,9)-s(k,7))* y);
L(2)=(1/(2*st))*((s(k,9)*s(k,6)-s(k,5)*s(k,10) ) (s(k, 10)-s(k, 6))*x (s(k, 5)-s(k, 9))* y);
L(3)=( 1/(2*st))*((s(k,5)*s(k,8)-s(k,7)*s(k,6)) (s(k,6)-s(k , 8))*x (s(k, 7)-s(k, 5))* y);
¿Para qué? i=1:1:3
¿Para qué? j=i:3
d(i,j)=int(int(((((diff(l(i),x)))*(diff(l(j),x)) ) ((diff(l(i),y))*(diff(l(j),y))))-((can^2)*l(i)*l(j))),x,0 , 1), y, 0, 1);
d(j,i)=d(i,j);
Fin
Fin?
¿Para qué? i=1:1:3
¿Para qué? j=1:1:3
A(s(k,(i 1)),s(k,(j 1)))=A(s(k,(i 1)),s (k, (j 1)) d(I, j);
Fin
Fin
¿Para qué? p>
b(i) =int(int((L(i)),x,0,1),y,0,1);
B(s(k,(i) 1)), 1) = B (s(k, (i 1), 1) B(I);
Fin
Fin
Siguiente Resolver la ecuación de elementos finitos Mx=B según a las condiciones de contorno Las condiciones de contorno homogéneas omiten muchos términos
m=zeros((n 1)^2, n^2);
j=n^2; p>
¿Para qué? i=(n^2 n):-1:1
Si? = 1)
m(:,j)=A(: ,I);
j = j-1;
¿Y si?
p>Fin
Fin
preanswer es un punto desconocido con valor (n 1)2 *(n ^ 2)
preanswer = M. \B;
Obtiene los valores de todos los nodos.
answer=zeros((n 1)^2, 1);
j = 1;
¿Para qué? i=1:1:(n^2 n)
¿Y si? ((mod(i, (n 1))~ = 1)
Respuesta (I) = prerespuesta(j);
j = j 1;
¿Qué pasa si? Respuesta (I) = 0;
Fin
Fin
?
? ¿Para qué? =?1:10
?¿Para qué? =?1:10
>¿Para qué? (x)
?Fin
?
?Show (x)
?End
?
Generar el gráfico de solución
z = cero ((n 1), (n 1));
¿Para qué (n 1)^2
s = arreglar(I/(n 1) )) 1;
r=mod(i, (n 1));
Si (r==0)
r = n 1;
s = s-1;
Otros
Fin
Z(r, s)=Respuesta (I);
Fin
[X, Y]=meshgrid(1:-h:0,0: h: 1);
surf(X, Y, Z);
toc
t = toc