Beruflich Dokumente
Kultur Dokumente
Mtodos Numricos
Tarea 1
Problema 1
Los nmeros de Fibonacci quedan definidos por la ecuacin:
Partiendo de los dos primeros valores predeterminados
.
Construye en Scilab una funcin que reciba como dato de entrada un nmero entero positivo x, y cuya
salida sea un vector que contenga los nmeros de Fibonacci menores que x. Muestra el resultado que
arroja tu funcin para al menos 3 valores distintos de x.
Observaciones:
Primero se definieron las variables, en este caso i=3 y j=2 que funcionarn como contadores, la variable
n=[1,1] porque es el punto de partida, es decir son los dos primeros valores predeterminados.
La variable r es el valor de x al que le desea encontrar sus nmeros de fibonacci.
El comando while es el que usaremos debido a que se cicla hasta cumplir la condicin. Dentro del while
tenemos la funcin de fibonacci pero como este se ejecutaba una vez ms de las deseadas, se recortaron
los valores haciendo un segundo vector y omitiendo el ltimo valor, esto con el ciclo for y se genero el
vector m en forma de columna usando (m) que transpone los valores creando un vector fila (esto
ltimo solo para ahorrar espacio).
Solucin 1:
Cdigo cuando x=50
r=50;
function m=f(r)
i=3;
j=2;
n=[1,1];
while n(j)<r
n(i)=n(i-2)+n(i-1);
j=j+1;
i=i+1;
end
for k=1:i-2
m(k)=n(k);
end
endfunction
m=f(r)'
Resultado
1. 1. 2. 3. 5. 8. 13. 21. 34.
Solucin 2:
Cdigo cuando x=330
r=330;
function m=f(r)
i=3;
j=2;
n=[1,1];
while n(j)<r
n(i)=n(i-2)+n(i-1);
j=j+1;
i=i+1;
end
4FM1
Mtodos Numricos
for k=1:i-2
m(k)=n(k);
end
endfunction
m=f(r)'
Resultado
1. 1. 2. 3. 5. 8. 13. 21. 34. 55. 89. 144. 233.
Solucin 3
Cdigo cuando x= 7310
r=7310;
function m=f(r)
i=3;
j=2;
n=[1,1];
while n(j)<r
n(i)=n(i-2)+n(i-1);
j=j+1;
i=i+1;
end
for k=1:i-2
m(k)=n(k);
end
endfunction
m=f(r)'
Resultado
1. 1. 2. 3. 5. 8. 13. 21. 34. 55. 89. 144. 233. 377. 610. 987. 1597. 2584. 4181. 6765.
Problema 2
La matriz de Hilbert es una matriz de n n cuya entrada i, j corresponde a
Usando Scilab crea una funcin que tome el argumento de entrada n e imprima en la consola la matriz
de Hilbert correspondiente.
Observaciones
Para este cdigo se utilizo un for anidado, y las variables i y j que representan a las filas y a las
columnas respectivamente, empezando de 1 hasta n, dnde n es la variable que representa el
tamao de la Matriz (Matriz_H), y los parmetros i=1:n y j=1:n son iguales porque as se asegura que la
matriz resultante sea cuadrada.
Cdigo
Cuando n=3
n=3;
function Matriz_H=f(n)
for i=1:n
for j=1:n
Matriz_H(i,j)=(1)/(i+j-1);
end
end
endfunction
4FM1
Resultado
Cdigo
Cuando n=5
n=5;
function Matriz_H=f(n)
for i=1:n
for j=1:n
Matriz_H(i,j)=(1)/(i+j-1);
end
end
endfunction
Matriz_H=f(n)
Resultado
Cdigo
Cuando n=8
n=8;
function Matriz_H=f(n)
for i=1:n
for j=1:n
Matriz_H(i,j)=(1)/(i+j-1);
end
end
endfunction
Matriz_H=f(n)
Resultado
Mtodos Numricos
4FM1
Mtodos Numricos
Problema 3
Considere la siguiente funcin de dos variables,
Construye en Scilab una funcin que reciba como datos de entrada a las variables x e y, y cuya salida sea
el valor de f. Como valor de a, utiliza el nmero de vocales que contiene tu nombre completo (con
apellido); para b, el nmero de consonantes.
Prueba tu funcin para al menos 5 pares ordenados (x, y) y resume tus resultados en una tabla.
Cdigo
x=800;
y=12;
function [z, caso]=f(x, y)
a=16;
b=17;
if x>=a
if y>=b
z=x-a+y-b;
caso=1
end
end
if x>=a
if y<=b
z=x-a+b-y;
caso=2
end
end
if x<=a
if y>=b
z=a-x+y-b;
caso=3
end
end
if x<=a
if y<=b
z=a-x+b-y;
caso=4
end
end
endfunction
[z,caso]=f(x,y)
Resultado
4FM1
Mtodos Numricos
x>a , y>b
x-a + y-b
16
16
16
16
16
17
17
17
17
17
800
7
40
0
16
12
3
1000
8740
17
1007
x>a , y<b
x-a + b-y
789
x<a , y>b
a-x + y-b
x<a , y<b
a-x + b-y
23
8739
0
Problema 4
Grafica 1
Cdigo
function y=f(x)
y=((2*x**3)-(6*x)-1)
endfunction
x=-10:0.01:10;
y=f(x);
plot(x,y)
Observaciones
Para hacer las grficas se escribe la function y=f(x) en el SciNotes, se le da un enter y
automticamente aparece endfunction entonces entre ambos renglones se escribe la
funcin. Posteriormente hasta el final se escribe el rango en los extremos y el tamao de paso
en el centro que se desean para graficar, en este caso fue x=-10:0-01:10, despus se indica la
funcin y el comando plot (x,y) que es el que se utiliza para realizar las graficas.
Resultado
Grafica 2
Cdigo
clc
clear
function y=f(x)
y=%e**(x-2)+x**3-x;
endfunction
x=-4:0.05:4;
4FM1
Resultado
Grfica 3
Cdigo
clc
clear
function y=f(x)
y=1+5*x-6*x**3-(%e**(2*x))
endfunction
x=-20:0.3:20;
y=f(x);
plot(x,y)
Resultado
Mtodos Numricos
4FM1