Sunteți pe pagina 1din 10

*Media.

m
% Autor: Diego Viadero Lucas
% Descripcion: Programa que recoja nmeros del usuario hasta que se introduzca un 0
y despus devuelva la media de los nmeros introducidos.
% Fecha: 18102012
% Inicio
n=input('Dame un valor: ')
% Nombramos una variable que cuente el numero de veces que se realiza el
% ciclo (contador)
c=1;
% Nombramos una variable pra que se acumule n en cada ciclo
v=0;
while n~=0
c=c+1;
v=v+n;
n=input('Dame un valor: ')
end
% Calculamos la media y la imprimimos en pantalla
m=v/c;
disp('La media es: ')
disp(m)
% Fin
disp('Fin de programa')
*Decremento.m
% Autor: Diego Viadero Lucas
% Descripcion:programa que pida un nmero y vaya decrementando su
valor en una unidad hasta que llegue a cero
% Fecha: 18102012
% Inicio
n=input('Dame un valor: ')
% Crear un bucle que haga un decremento de una unidad por ciclo.
while n~=0

n=n-1;
disp(n)
end
% Fin
dips('Fin de programa')
*Primo.m
% Autor: Diego Viadero Lucas
% Descripcion:Programa que pida un numero y compruebe si ese
numero es primo
% Fecha: 18102012
% Inicio
n=input('Dame un valor: ');
% Introducir un valor por el cual empezar a dividir el numero n
c=n/2;
% Operar y comprobar si n es primo
while mod(n,c);
c=c-1;
end
% Ahora al salir del bucle debemos diferenciar si c es 1 o no
if c==1
disp('Es primo')
else
disp('No es primo')
end
disp('Fin del programa')
*NumeroCorrecto.m
% Autor: Diego Viadero
% Descripcion:Programa que pida un nmero hasta que este nmero sea mayor que
cero, indicando con un mensaje que el nmero introducido no es mayor de cero
% Fecha: 18102012
% Inicio
n=input('Dame un valor: ');
% comprobar que el numero introducido es menor que cero

if n>=0
disp ('El numero introducido es mayor que cero o es cero')
else
while n<0
n=input('Reintroduce el valor correcto: ');
end
disp('El numero introducido es mayor que cero')
end
disp('Fin del programa')

*CalcularSucesionFibonacci.m

%Descripcion: realizar un programa que pida un numero y que calcule la


%
sucesion de Fibonacci
%Autor: Diego Viadero Lucas
%Fecha: 20121019

%Inicio
N=input('Dame un numero de N: ');
X=0;
Y=1;
C=0;
while C<N
C=X+Y;
disp(C)
Y=X;
X=C;
end
dis('Fin de programa')
*CalcularFactorial.m

%Descripcion: realizar un programa que calcule el factorial de un numero X


%Autor: Diego Viadero Lucas
%Fecha: 20121019
%Inicio
%Pedir un valor y guardarlo en la variable N
N=input ('Dame un numero para hayar su factotial');
T=1;
S=1;
while S<=N
T=T*S;
S=S+1;

end
disp ('El factorial es: ')
disp (T)
disp ('Fin de programa');
*CombinacionesDeNumeros.m

%Descripcion: realizar un programa que pida un numero y que combinando


%
otros dos numero te de el valor del numero que se pidio
%Autor: Diego Viadero Lucas
%Fecha: 20121019
%Inicio
N=input ('Dame un valor');
M=0;
while M<=N
S=0;
while S<=N
if N==M+S;
fprintf('Combinacion: %d=%d+%d\n',M+S,M,S)
%disp(M)
%disp(S)
end
S=S+1;
end
M=M+1;
end
disp ('Fin de programa')
*TablaDeMultiplicar.m

%Descripcion: realizar un programa que despliegue la tabla de multiplicar


%
de un nmero X
%Autor: Diego Viadero Lucas
%Fecha: 20121019
%Inicio
%Pedir un valor y guardarlo en la variable N
N=input ('dame un numero para multiplicar ');
S=0 ;
%Dar un valor para que realice la multiplicacion en forma de bucle
while S<=10
A=N*S;
disp (A)
S=S+1;

end
disp ('Fin de programa');

Diagrama de Interaccin de Columnas con Matlab


Cdigo para dibujar el diagrama de interaccin de una columna rectangular, con cuantillas
distribuidas.
1) Cdigo MatLab:
% PROGRAMA PARA DIBUJAR EL DIAGRAMA DE INTERACCIN DE UNA COLUMNA
% COLUMNAS RECTANGULARES DE CONCRETO ARMADO
disp('CDIGO PARA DIBUJAR EL DIAGRAMA DE INTERACCIN DE COLUMNAS RECTANGULARES')
disp('CODDISA INGENIEROS S.A.C.')
disp('INGRESO DE DATOS')
fc=input ('Resistencia del Concreto Kg/cm2:');
fy=input ('Resistencia del Acero Kg/cm2:');
b=input ('Base de Columna cm:');
h=input ('Altura de Columna cm:');
nvs=input ('Numero de Varilla Superior:');
dvs=input ('Dimetro de Varilla Superior Pulg:');
nvm=input ('Numero de Varilla Medio:');
dvm=input ('Dimetro de Varilla Medio Pulg:');
nvi=input ('Numero de Varilla Inferior:');
dvi=input ('Dimetro de Varilla Inferior Pulg:');
Ass=nvs*(dvs*2.54)^2*pi/4;
Asm=nvm*(dvm*2.54)^2*pi/4;
Asi=nvi*(dvi*2.54)^2*pi/4;
Ast=Ass+Asm+Asi;
Eu=input ('Deformacin ltima del concreto Eu:');
Ey=input ('Deformacin ltima del acero Ey:');
Es=input ('Mdulo de elasticidad del acero Es:');
% SE CALCULAS LOS MOMENTOS Y CARGAS NOMINALES
disp('CLCULOS')
disp('1) Fuerza Neta en Ton')
P0=(0.85*fc*(b*h)+Ast*fy)/1000
M0=0
e0=M0/P0
disp('2) Falla Balanceada')
d=h-(4+dvi*2.54/2);
Cb=(Eu*d)/(Ey+Eu)
a=0.85*Cb
% Condicionante para ver que aceros estn en traccin y compresin
if Cb>h/2
disp('2.1) Acero en Traccin')
As1=Asi; % rea en Traccin
Es1=Eu*(d-Cb)/Cb;
fs1=Es*Es1;
if fs1<fy
fs1;
else

fs1=fy;
end
disp('2.1) Acero en Compresin')
As2=Asm; % rea en Compresin
Es2=Eu*(Cb-h/2)/Cb;
fs2=Es*Es2;
if fs2<fy
fs2;
else
fs2=fy;
end
As3=Ass; % rea en Compresin
Es3=Eu*(Cb-h+d)/Cb;
fs3=Es*Es3;
if fs3<fy
fs3;
else
fs3=fy;
end
Pb=(0.85*fc*a*b+As2*fs2+As3*fs3-As1*fs1)/1000
Mb=(0.85*fc*a*b*(h/2-a/2)+As3*fs3*(d-h/2)+As1*fs1*(d-h/2))/1000
eb=Mb/Pb
else
disp('2.1) Acero en Traccin')
As1=Asi; % rea en Traccin
Es1=Eu*(d-Cb)/Cb;
fs1=Es*Es1;
if fs1<fy
fs1;
else
fs1=fy;
end
As2=Asm; % rea en Traccin
Es2=Eu*(h/2-Cb)/Cb;
fs2=Es*Es2;
if fs2<fy
fs2;
else
fs2=fy;
end
disp('2.1) Acero en Compresin')
As3=Ass; % rea en Compresin
Es3=Eu*(Cb-h+d)/Cb;
fs3=Es*Es3;
if fs3<fy
fs3;
else

fs3=fy;
end
Pb=(0.85*fc*a*b+As3*fs3-As1*fs1-As2*fs2)/1000
Mb=(0.85*fc*a*b*(h/2-a/2)+As3*fs3*(d-h/2)+As1*fs1*(d-h/2))/1000
eb=Mb/Pb
end
for i=1:1:49
C(i)=h-d+(2*d-h)*i/50;
a=0.85*C(i);
if C(i)>h/2
disp('2.1) Acero en Traccin')
As1=Asi; % rea en Traccin
Es1=Eu*(d-C(i))/C(i);
fs1=Es*Es1;
if fs1<fy
fs1;
else
fs1=fy;
end
disp('2.1) Acero en Compresin')
As2=Asm; % rea en Compresin
Es2=Eu*(C(i)-h/2)/C(i);
fs2=Es*Es2;
if fs2<fy
fs2;
else
fs2=fy;
end
As3=Ass; % rea en Compresin
Es3=Eu*(C(i)-h+d)/C(i);
fs3=Es*Es3;
if fs3<fy
fs3;
else
fs3=fy;
end
P(i)=(0.85*fc*a*b+As2*fs2+As3*fs3-As1*fs1)/1000
M(i)=(0.85*fc*a*b*(h/2-a/2)+As3*fs3*(d-h/2)+As1*fs1*(d-h/2))/1000
eb(i)=M(i)/P(i)
else
disp('2.1) Acero en Traccin')
As1=Asi; % rea en Traccin
Es1=Eu*(d-C(i))/C(i);
fs1=Es*Es1;
if fs1<fy
fs1;
else

fs1=fy;
end
As2=Asm; % rea en Traccin
Es2=Eu*(h/2-C(i))/C(i);
fs2=Es*Es2;
if fs2<fy
fs2;
else
fs2=fy;
end
disp('2.1) Acero en Compresin')
As3=Ass; % rea en Compresin
Es3=Eu*(C(i)-h+d)/C(i);
fs3=Es*Es3;
if fs3<fy
fs3;
else
fs3=fy;
end
P(i)=(0.85*fc*a*b+As3*fs3-As1*fs1-As2*fs2)/1000
M(i)=(0.85*fc*a*b*(h/2-a/2)+As3*fs3*(d-h/2)+As1*fs1*(d-h/2))/1000
eb(i)=M(i)/P(i)
end
end
Pn=[P P0];
Mn=[M M0];
dint=plot(Mn,Pn,'marker','o'); % Grafica El diagrama de Interaccin
text(Mb/3,1.5*Pb,'Falla a Compresin');
text(2*Mb/3,Pb/4,'Falla a Traccin');
xlabel('Mn(Ton-m)');
ylabel('Pn(Ton)');
title('DIAGRAMA DE INTERACCIN DE COLUMNA RECTANGULAR');
hold on
fbal=plot(Mb,Pb,'marker','o'); % Grafica el Punto de la Falla Balanceada
x=0:100:Mb;
y=(Pb/Mb)*x;
recta=plot(x,y); % Grafica la Recta de la Falla Balanceada
legend('Diagrama de Interaccin','Falla Balanceada','Lmite de Falla');
set(dint,'LineWidth',2,'LineStyle','-','Color','g','MarkerEdgeColor','r');
set(fbal,'LineWidth',2,'LineStyle','o','Color','b','MarkerFaceColor','b');
set(recta,'LineWidth',1,'LineStyle','-','Color','b');
grid on
disp('FIN DE PROGRAMA')
2) INGRESO DE DATOS:
DIAGRAMA DE INTERACCIN DE COLUMNAS RECTANGULARES

CODDISA INGENIEROS S.A.C.


INGRESO DE DATOS
Resistencia del Concreto Kg/cm2:210
Resistencia del Acero Kg/cm2:4200
Base de Columna cm:30
Altura de Columna cm:50
Numero de Varilla Superior:3
Dimetro de Varilla Superior Pulg:1
Numero de Varilla Medio:2
Dimetro de Varilla Medio Pulg:1
Numero de Varilla Inferior:3
Dimetro de Varilla Inferior Pulg:1
Deformacin ltima del concreto Eu:0.003
Deformacin ltima del acero Ey:0.0021
Mdulo de elasticidad del acero Es:2E+6
3) RESULTADO:

Fig. 1.0: Resultado final, diagrama de interaccin de columna rectangular.

S-ar putea să vă placă și