07-scilab-funciones

Anuncio
Matemática D - SciLab
Funciones
Funciones
function [salidas]=nombre(entradas)
//Se desarrolla la función de manera que se puedan
// calcular todas las salidas a partir de los valores
// de entrada.
endfunction
●
Sintaxis de función con valor de retorno:
function variable_retornada = nombre_funcion (lista_argumentos)
cuerpo_de_función
endfunction
Se pueden retornar más de una variable e inclusive un vector o
matriz:
function [var1,var2,vector,matriz] = nombre_funcion(lista_argumentos)
cuerpo_de_función
endfunction
Sintaxis de función sin valor de retorno
function nombre_funcion (lista_argumentos o vacio)
cuerpo_de_función
endfunction
●
Ejemplo 1: Función que retorna la suma de dos números
●
function s=suma(a,b)
s=a+b;
●
●
●
endfunction
Ejemplo 2: Función que muestra un menú, no recibe
argumentos y no retorna valores.
function menu()
disp('Opcion1')
disp('Opcion2')
disp('Opcion3')
●
endfunction
Ejemplo 3: Función que retorna el promedio de los elementos de un vector
function [media]=media_aritmetica(x)
//Calcula la media aritmetica del vector ingresado
nelementos=length(x)
suma=0
for i=1:nelementos
suma=suma+x(i)
end
media=suma/nelementos
endfunction
x=1:2:10
Prom_x=media_aritmetica(x)
disp(Prom_x,'Promedio de los valores de x=')
z=abs(sin(0:%pi/20:2*%pi))
Prom_z=media_aritmetica(z)
disp(Prom_z,'Promedio de los valores de z=')
Funciones
f  x   x 2  cos  x 
function y=f1(x)
//funcion de ejemplo
y=x.^2-cos(x);
endfunction
//ejemplo que llama a la f1
clc
clear
xdel(winsid())
z=[-10:0.1:10]
g=f1(z)
plot(z,g,'r')
Funciones
function g=f2(z)


//funcion de ejemplo
f x 
if z < 0


g=-sqrt(-z);
else
g=sqrt(z);
Función pensada para z escalar
end
Endfunction
 
// ejemplo que llama a la f2
x=[-10:0.1:10]
f=zeros(size(x))
for i=1:length(x)
f(i)=f2(x(i))
end
plot(x,f,'r')
x
x0
x
x0
Funciones

  x
f  x  

 x
function g=f2(z)
//funcion de ejemplo
nele_z=length(z)
g=zeros(size(z))
Función pensada para z vector
for i=1:nele_z
if z < 0
g(i)=-sqrt(-z(i))
else
g(i)=sqrt(z(i))
end
end
endfunction
//ejemplo que llama a la f2
x=[-10:0.1:10]
plot(x,f2(x),'r')
x0
x0
Función para multiplicar matrices
3 1 7 2
4 8 0 4
6 2 1 6
41
1 2 5
7 6 7
3 8 4
1 3 6
Pij 
3
A
p 1
ip
B pj
Función para multiplicar matrices
A=[1
7
3
1
B=[3
4
6
2
6
8
3
1
8
2
5
7
4
6];
7 2
0 4
1 6];
[m p]=size(A)
[q n]=size(B)
for i=1:m
for k=1:n
suma=0;
for j=1:p
suma=suma + A(i,j)*B(j,k)
end
P(i,k)=suma
end
end
Función para multiplicar matrices
function P=Pmatriz(A,B)
[m p]=size(A);
[q n]=size(B);
if p==q
for i=1:m
for k=1:n
suma=0;
for j=1:p
suma=suma + A(i,j)*B(j,k);
end
P(i,k)=suma;
end
end
else
disp('las dimensiones no son correctas');
end
endfunction
Descargar