
Ayuda con Matlab
Publicado por Catalina (1 intervención) el 24/06/2016 06:58:13
Hola !
Estoy a prontas de un examen de ansisísmica y necesito con urgencia ayuda en la programación de el Método de Diferencias Centradas y el Método de Nemarks.
Estoy hace días haciendo un código y no se porqué me tira error al plotear, me sale un nan en varias variables
les dejo el código para ver si alguien me puede ayudar.
Además si alguno tiene un código con alguno de estos métodos que corra bien para poder ingresar valores de sismos reales, por favor enviar, estaría muy agradecida.
Saludos
Catalina Muñoz
Acá les dejo el código, los datos fueron sacados de http://terremotos.ing.uchile.cl/registros/164
40 Archivo Procesado Concepción.V2 (2,5 mb)
Estoy a prontas de un examen de ansisísmica y necesito con urgencia ayuda en la programación de el Método de Diferencias Centradas y el Método de Nemarks.
Estoy hace días haciendo un código y no se porqué me tira error al plotear, me sale un nan en varias variables
les dejo el código para ver si alguien me puede ayudar.
Además si alguno tiene un código con alguno de estos métodos que corra bien para poder ingresar valores de sismos reales, por favor enviar, estaría muy agradecida.
Saludos
Catalina Muñoz
Acá les dejo el código, los datos fueron sacados de http://terremotos.ing.uchile.cl/registros/164
40 Archivo Procesado Concepción.V2 (2,5 mb)
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
% Diferencias Centradas
clear all
close all
clc;
%DATOS DEL PROBLEMA ------------------------------------------------------
wn=pi; % wn = [1/s]
chi=0.02; % Adimencional
m=10602; % m = kg
k=(wn^2)*m; % k= [m/s^2]
c=2*chi*m*wn; % c=[kg/s],
um1=0;
dt=0.005;
to=0;
uo=0; % uo = [m]
upo=0; % upo = [m/s]
%AGREGAR DATOS DE SISMO --------------------------------------------------
ugpp=xlsread('conce terremoto.xml',2); % colocar el nombre del archivo, hoja a usar. (el archivo debe estar guardado en la carpeta MATLAB)
[a,b]=size (ugpp);
c=a*b; % cantidad de aceleraciones que tiene el sismo
ugpp=reshape(ugpp',c,1); %Ordena los datos
t=(0:0.005:c*dt-dt); % tiene que restarse el dt para que así queden iguales y se pueda graficar.
plot (t,ugpp) %grafica el sismo con su respectivo tiempo
% 1.0 CÁLCULOS INICIALES -------------------------------------------------
kton = (m/(dt^2))+ (c/(2*dt));
a = (m/(dt^2))-(c/(2*dt));
b = k - (2*m/(dt^2));
% 2.0 CALCULOS CON TIEMPO i ----------------------------------------------
for i=1:length(t)
p(i)= -m*ugpp(i);
end
p=[0,p];
up(2)= upo;
u(2)=uo;
upp(2)= (p(2) - c*up(2) - k*u(2))/m;
u(1)= u(2) - dt*up(2) + (((dt^2)*upp(2))/2);
for i=2:length(t)
pton(i)= p(i) - a*u(i-1) - b*u(i);
u(i+1)=pton(i)/kton;
end
Valora esta pregunta


0