Академический Документы
Профессиональный Документы
Культура Документы
n=0 ;
while (n<10)
n=n+1 ;
a=input ( ' Ingrese un valor mayor que 0 : ' ) ;
if (a<=0)
disp ( ' Debe ingresar un número positivo ' )
disp ( ' Intente de nuevo ' )
continue
end
disp( ' El log natural de este número es:' )
disp(log(a))
end
n=0 ;
while (n<10)
n=n+1 ;
a=input ( ' Ingrese un valor mayor que 0 : ' ) ;
if (a<=0)
disp ( ' Debe ingresar un número positivo ' )
disp ( ' Este programa terminará ' )
break
end
disp( ' El log natural de este número es:' )
disp(log(a))
end
n=1;
while prod(1:n)<1.e100,
n=n+1;
end,
n
Utilice un bucle while para calcular factorial(10).
n = 10;
f = n;
while n > 1
n = n-1;
f = f*n;
end
disp(['n! = ' num2str(f)])
Ejercicio 1: Mostrar los números del 1 al 10 en forma ascendente, diseñar el algoritmo
tanto con la estructura while como la for.
a) Con while
disp('Numeros del 1 al 10 ascendente')
numero = 1;
while numero <= 10
disp(numero)
numero = numero + 1; % contador que incrementa el numero
inicial
end
disp('Fin del ejercicio')
b) Con for
c) disp('Numeros del 1 al 10 ascendente')
d) for numero = 1 : 1 : 10
e) disp(numero)
f) end
g) disp('Fin del ejercicio')
con for
b) disp('Numeros del 1 al 10 descendente solo impares')
c)for numero = 10 : -1 : 1
d)if mod(numero, 2) ~= 0
e) disp(numero)
f) end
g) end
h) disp('Fin del ejercicio')
a) contador=0;
b) n=input('Introduce un numero=');
c) sumatorio=0;
d) while(n~=0)
e) sumatorio=sumatorio+n;
f) contador=contador+1;
g) n=input('Intoduce un numero=');
h) end
i) med=sumatorio/contador;
j) fprintf('La media vale %f',med)
PROBLEMA N°7: Realizar un programa que sume una serie de números ingresados por el usuario.
Dicha suma se realizara cuando el usuario introduzca el número 0.
PROBLEMA N°5: Hacer un programa que pida un número hasta que este número sea mayor
que 0 indicando con un mensaje que el número introducido es mayor que 0.Caso contrario
que pida reintroducir otro valor.
a) n=input('Dame un valor: ');
b) if n>0
c) disp ('El numero introducido es mayor que cero')
d) else
e) while n<=0
f) n=input('Reintroduce el valor correcto: ');
g) end
h) disp('El numero introducido es mayor que cero')
i) end
j) disp('Fin del programa')
12: este algoritmo permite introducir valores y este calcula si el numero
introducido es menor o mayor a 10.
a) i=input('Escribe un numero ');
b) if i>10
c) disp('Es mayor que 10')
d) elseif i==10
e) disp('Es igual a 10')
f) else
g) disp('Es menor que 10')
h) end
13; este algoritmo permite introducir la edad de un usuario y por medio de
esa le asignara un tipo de licencia mientras estos tenga una edad mayor o
igual a 16 años.
a) age = input('Ingrese su edad: ') ;
b) if age<16
c) disp('no ni vergas puto')
d) elseif age<18
e) disp('Puede obtener un permiso provisional para conducir')
f) elseif age<70
g) disp('Puede obtener una licencia estándar')
h) else
i) disp('Los mayores de 70 requieren una licencia especial ')
j) end
14: algoritmo calcula el costo de un boleto según sea la ciudad de destino.
a) ciudad = input('Ingrese el nombre de una ciudad entre comillas
simples: ');
b) switch ciudad
c) case 'Veracruz'
d) disp('Costo del boleto: $345 ')
e) case 'Puebla'
f) disp('Costo del boleto: $150')
g) case 'Oaxaca'
h) disp('Costo del boleto: $100')
i) otherwise
j) disp('No hay servicio de transporte a esa ciudad.')
k) end
suma =
440
>> norma
norma =
20.9762
function [r1,r2]=comprobar_raices(a,b,c)
x1=calcula_raiz1(a,b,c);
x2=calcula_raiz2(a,b,c);
r1=x1+x2;
r2=x1*x2;
end
function raiz=calcula_raiz1(a,b,c)
raiz=(-b+sqrt(b*b-4*a*c))/(2*a);
end
[b_a,c_a]=comprobar_raices(1,-1,-6)
function [m,b]=mincuadlin(X)
n=length(X(1,:));
A=0;
B=0;
C=0;
D=0;
for i=1:n;
A=A+X(1,i);
B=B+X(2,i);
C=C+(X(1,i))^2;
D=D+X(1,i)*X(2,i);
end
m=(n*D-A*B)/(n*C-A^2);
b=(C*B-D*A)/(n*C-A^2);
for i=1:n;
hold on;
plot (X(1,i),X(2,i),'*','MarkerEdgeColor','r','LineWidth',1);
end
x=X(1,1):1:X(1,n);
y=m*x+b;
plot(x,y,'b');
title('Aproximación lineal por mínimos cuadrados.');
>>X=[1 2 3 4 5 6 7 8 9; 0 3 4 -6 2 4 0 4 3];
>>[m,b]=mincuadlin(X)
m = 0.2833
b = 0.1389
algorirmo para calcular si un numero es par o impar
if rem(a,2)==0
disp('El número es Par')
else
disp('El número es Impar')
end
<x>=n∑1xinσ=
function [med,des]=estadistica(x)
n=length(x);
med=sum(x)/n;
des=sqrt(sum((x-med).^2/(n-1)));
end
>> x=[1.65 1.82 1.72 1.75 1.73 1.85 1.90 1.74 1.76 1.77];
>> mean(x)
ans = 1.7690
>> std(x)
ans = 0.0713
a) multiplicación rusa
Bucles iterativos
Uno de los procesos más comunes en la programación es realizar una tarea una cantidad "n" de
veces. Por ejemplo, imaginemos que queremos sumar los números enteros que hay entre el 1 y el
1000, podemos sumar el 1 con el siguiente, el 2, luego al resultado le sumamos el siguiente número,
el 3, al resultado le sumamos el siguiente, el 4, etc. Para esto disponemos de los bucles iterativos. El
diagrama para un bloque iterativo típico es el siguiente:
Se trata de colocar una condición que dependa de un parámetro (por ejemplo "i"), mientras que
la Condición sea cierta se ejecuta una vez (primera iteración) el bloque de Comandos indicado, a
continuación el flujo del programa vuelve una segunda vez (segunda iteración)a comprobar
la Condición, y si ésta sigue siendo cierta ejecuta nuevamente Comandos, y lo vuelve a ejecutar una
y otra vez mientras la condición sea verdadera. Sólo en el caso de que la condición sea falsa el flujo
salta el bloque de comandos y sigue con el resto del programa.
Por supuesto, tenemos que tener cuidado y no colocar una condición verdadera "per se", como
podría ser: 2 < 5, pues entonces habríamos metido al programa en un bucle sin fin, algo que si nos
ocurriera deberíamos interrumpir el programa. Matlab dispone de dos posibilidades equivalentes
para realizar esta acción, son el bucle while y el bucle for.
while condición
comandos;
end
Siendo la condición algo así como: i < 100, por ejemplo, lo que obliga al programa a recorrer el
ciclo 99 veces, siempre que tengamos la doble precaución de: a) colocar antesdel bucle la variable
iterativa "i" con un valor inicial de 1; b) colocar dentro del bucle while el comando, i = i + 1, que
nos asegura que la iteración va recorriendo los valores desde el 1 hasta el 99. En el momento de que
"i" pasa a tener el valor de 100, la condición deja ya de cumplirse y el bucle finaliza.
Este bucle nos mostraría en pantalla todos los números pares que hay entre el 1 y el 200.
* Bucles "for" anidados:
Se pueden colocar dos, o incluso más, ciclos for, unos en el interior de otros, lo cual es
muy útil en la programación. La estructura de dos ciclos for, por ejemplo, es:
for i = rango_numérico1
for i = rango_numérico2
comandos;
end ;
end;
0 -1 -2 -3 -4
1 0 -1 -2 -3
2 1 0 -1 -2
Operadores relacionales:
< Menor
> Mayor
== Igualdad
~= Desigualdad
Grafica sofisticada
a) >> t=0:0.001:0.009;
b) v=900:1025;
c) [T V]=meshgrid(t,v);
d) aux1=16*pi^2*(T.^2).*((V-918).^2).*((V-1011).^2);
e) aux2=aux1+(2*V-1929).^2;
f) w=T./aux2;
g) z=35000000*w;
h) surfl(t,v,z) % Dibuja la superficie creada mediante las órdenes anteriores.
i) shading interp % Este comando y el siguiente sirven para modificar el dibujo obtenido.
j) colormap(pink)
k) rotate3d % Sirve para girar la figura mediante el ratón.
l) Ejemplo 1: Calcular la suma de los n primeros términos de la sucesión 1,
2x, 3x^2, 4x^3, ...
m) n=input('¿Cuántos términos quieres sumar? ');
x=input('Dame el valor del numero x ');
suma=1;
for i=2:n
suma=suma+i*x^(i-1);
end
disp('El valor pedido es')
disp(suma)
n) Ejemplo 2: Decidir si un número natural es primo.
La entrada y la salida puede ser una o varias variables, cada una de ellas puede
ser un escalar, un vector o una matriz de cualquier tamaño.
Definición de una función
Las funciones se crean del mismo modo que un script seleccionado en el
menú New/Function y se guardan en un fichero que tiene el mismo nombre que
la función y extensión .m
function variables_salida=nombre_funcion(variables_entrada)
sentencias
end
function nombre_funcion(variables_entrada)
Cuando una funcion no precisa de variables de entrada se define
function variables_salida=nombre_funcion
Cuando una función devuelve una solo resultado y se puede escribir, de dos
maneras
function [y1,y2]=nombre_funcion(a,b,c)
Una función se llama del mismo modo que las funciones predefinidas. Las
funciones se pueden llamar desde la ventana de comandos, desde un fichero script
o desde otra función.
Todas las variables en una función son locales a dicha función, incluyendo las de
entrada y las de salida.
Ejemplos
Definición de la función
El fichero que guarda la función tiene el mismo nombre que la función, tal como
vemos al seleccionar en el Editor File/Save as...
Llamada a la función
>> suma(2,3)
ans = 5