
crear varias matrices con un lazo for
Publicado por Angel (2 intervenciones) el 02/12/2016 17:27:16
Hola necesita ayuda de quien conozca de tema soy nuevo en matlab y necesito crear varias matrices con un lazo for por ejemplo:
los datos los leo de un archivo excel son 28 datos, pero al momento de crear 28 matrices con los valores de k me sale error
mas o menos asi deberia de quedar
kstl(1) = [valor k11(1) valor k21 (1) valor k31(1) valor k41(1)...
valor k21(1) valor k22 (1) valor k23(1) valor k24(1)...
valor k31(1) valor k32 (1) valor k33(1) valor k34(1)...
valor k41(1) valor k42 (1) valor k43(1) valor k44(1)]
kstl(2) = [valor k11(2) valor k21 (2) valor k31(2) valor k41(2)...
valor k21(2) valor k22 (2) valor k23(2) valor k24(2)...
valor k31(2) valor k32 (2) valor k33(2) valor k34(2)...
valor k41(2) valor k42 (2) valor k43(2) valor k44(2)]
y asi 28 matrices
Espero me puedan ayudar
los datos los leo de un archivo excel son 28 datos, pero al momento de crear 28 matrices con los valores de k me sale error
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
clear all; clc
lshaft = xlsread('data.xlsx','Finite elements','B4:B31'); %Longitud total del eje propulsor
Dstl = (xlsread('data.xlsx','Finite elements','C4:C31'))/1000; %Diametro del eje de cola
Dsth = (xlsread('data.xlsx','Finite elements','D4:D31'))/1000; % Diametro del eje de empuje
n_e =33; %Numero de elementos presentes en el sistema
g_l = (n_e+1); %Numero de grados de libertad
E = (2.1*(10^8));%Modulo de Young del material(acero 1045)
for i =1:28;
Istl(i) = (pi*(Dstl(i)^4))/64; %Inercia del eje de cola
Isth(i) = (pi*(Dsth(i)^4))/64; %Inercia del eje de empuje
lstl(i)=lshaft(i)*0.5564; %Longitud del eje de cola
lsth(i)=lshaft(i)*(1-0.5564); %Longitud del eje de empuje
k11(i) = (E*Istl(i)/(lstl(i)^3))*12;
k12(i) = (E*Istl(i)/(lstl(i)^3))*(6*lstl(i));
k13(i) = (E*Istl(i)/(lstl(i)^3))*-12;
k14(i) = (E*Istl(i)/(lstl(i)^3))*(6*lstl(i));
k21(i) = (E*Istl(i)/(lstl(i)^3))*(6*lstl(i));
k22(i) = (E*Istl(i)/(lstl(i)^3))*(4*(lstl(i)^2));
k23(i) = (E*Istl(i)/(lstl(i)^3))*(-6*lstl(i));
k24(i) = (E*Istl(i)/(lstl(i)^3))*(2*(lstl(i)^2));
k31(i) = (E*Istl(i)/(lstl(i)^3))*-12;
k32(i) = (E*Istl(i)/(lstl(i)^3))*(-6*lstl(i));
k33(i) = (E*Istl(i)/(lstl(i)^3))*(12);
k34(i) = (E*Istl(i)/(lstl(i)^3))*(-6*lstl(i));
k41(i) = (E*Istl(i)/(lstl(i)^3))*(6*lstl(i));
k42(i) = (E*Istl(i)/(lstl(i)^3))*(2*(lstl(i)^2));
k43(i) = (E*Istl(i)/(lstl(i)^3))*(-6*lstl(i));
k44(i) = (E*Istl(i)/(lstl(i)^3))*(4*(lstl(i)^2));
kstl(i) =[k11(i) k12(i) k13(i) k14(i);...
k21(i) k22(i) k23(i) k24(i);...
k31(i) k32(i) k33(i) k34(i);...
k41(i) k42(i) k43(i) k44(i)];
end
mas o menos asi deberia de quedar
kstl(1) = [valor k11(1) valor k21 (1) valor k31(1) valor k41(1)...
valor k21(1) valor k22 (1) valor k23(1) valor k24(1)...
valor k31(1) valor k32 (1) valor k33(1) valor k34(1)...
valor k41(1) valor k42 (1) valor k43(1) valor k44(1)]
kstl(2) = [valor k11(2) valor k21 (2) valor k31(2) valor k41(2)...
valor k21(2) valor k22 (2) valor k23(2) valor k24(2)...
valor k31(2) valor k32 (2) valor k33(2) valor k34(2)...
valor k41(2) valor k42 (2) valor k43(2) valor k44(2)]
y asi 28 matrices
Espero me puedan ayudar
Valora esta pregunta


0