Documente Academic
Documente Profesional
Documente Cultură
ParallevaracaboloscomandosescritosenunarchivolasesindeMatlab
debede estarubicada en lamismacarpetaenlaqueestnuestroarchivo.
Prestemos atencin al rea del lado izquierdo de la pantalla que tiene
como nombre Directorio Actual. En esta se muestra el contenido de la
carpetadondeseencuentralasesindematlab.
EntradaySalidaBsica(BasicI/O)
Cuando ejecutamos cdigodentrode unarchivo,esteseejecutacompleto
automticamente. Lo nico que podemos saber de lo quhizo esel valor
que tienen las variables al final de la ejecucin de ese cdigo. Muchas
veces esto no es suficiente, ms que nada cuando el cdigo no est
calculando lo que nosotros deseamos calcular y tenemos que corregir
errores dentro de ste (debuggear). Lo que hacemos en estos casos es
usar funciones para que se impriman en la terminal cadenas de texto o
valores de funciones que describa lo queesthaciendoelcdigomientras
lohace.Aspodemosvisualizarconclaridaddndeestelproblema.
X=6.8
Y=4.2
Z=[37215]
disp(LavariableXcontiene)
disp(X)
disp(LavariableYcontiene:)
disp(Y)
disp(strcat(ElvectorZcontiene,num2str(Z)))
Tambinenlaltimalneaconcatenvariascadenasyvariablesdentrodel
parmetro de disp. Para concatenar una variable numrica, vectorial o
matricial a una cadena, hay que convertirla en una cadena primero. Esto
se hace con la funcin
num2str . Tambin existe la funcin mat2str para
convertirespecficamentevectoresomatricesenunformatodistinto.
X=4.6
Y=5
S=ejemplodecadena
fprintf(ElvalordeXes:%f.ElvalordeYes%d.ElvalordeSes%s\n,X,Y,S)
fprintfyvectores
>>U=[17158]
>>V=[61825]
>>fprintf('valordeV=%d.ValordeU=%d\n',V,U)
valordeV=6.ValordeU=1
valordeV=8.ValordeU=2
valordeV=5.ValordeU=1
valordeV=7.ValordeU=1
valordeV=5.ValordeU=8
>>
M=[372851]
fprintf('valorenmatriz=%d',M)
valor en matriz = 3valor en matriz = 8valor en matriz = 7valor en matriz = 5valor en
matriz=2valorenmatriz=1>>
Input
El parmetro que recibe input es el mensaje que muestra en la lnea de
comandos antes de esperar que el usuarioingrese el valor. Este mensaje
no tiene saltode lnea ni espacioal final.input interpretar loqueescribas
comoun valor enmatlab,entonces se pueden ingresar nmeros,cadenas
entrecomillassimplesonombresdeotrasvariablesyadeclaradas.
functionnombre()
%comandosqueseejecutarncuandoseactivelafuncin
end
functionfunciones()
funcion1()
funcion2()
end
functionfuncion1()
x=5
end
functionfuncion2()
y=9
end
Al escribir en la lnea de comandos funciones() se ejecutar la funcin
funcionesdelarchivo.Estafuncinejecutaasuvezlafuncion1yfuncion2.
Lanicafuncinquedebellamarseigualqueelarchivoeslaprimera.
Parametros
functionejemplo(param1,param2,param3)
%Elcuerpodelafuncinutilizalosparmetros
%comosifueranvariables
ans=param1+param2param3
end
De esta manera podemos ejecutar la funcin con los parametros con los
valores que queramos usar para el clculo. En este caso se llama a la
funcin desde la lnea de comandos de la siguiente manera:
ejemplo(4,7,1). Tambin pueden irvariables existentes enlasesindentro
delosparmetros.egejemplo(4,X,2)
Funcionesconresultado
Las funciones que hemos hecho hasta ahora solo procesan parmetrosy
realizan comandos.Losresultados delosclculosrealizadosdentrodelas
funciones los hemos podido ver reflejados en los valores de las variables
quesedeclaranosemodificandentrodelcuerpodelafuncin.
Hay una manerams estandarizada y ordenada de obtener los resultados
que una funcin calcule: haciendo que la funcin regrese un resultado.
Ya hemos visto funciones que regresan resultados, como las
trigonomtricas. Estas funciones reciben un parmetro (el ngulo) y
devuelven el valor de la funcin trigonomtrica evaluada en ese ngulo.
Como ya hemos visto, ese valor lo podemos guardar en una variable que
nosotrosdeclaremos o,sinolaasignamos,seguardaautomticamenteen
ans.egX=sen(pi/2)
functionres=ejemploConResultado(param1,param2)
param1=param1*2
res=param1+param2
end
Funcionesquedevuelvenvariosresultados.Struct
Un struct nos permite agrupar varias variables en una sola. Escomo una
caja de variables que podemos pensar en ella como otra variable. Las
variables dentro del struct son independientes y podemos usarlas y
asignarlas por separado. De igual manera podemos tratar al struct como
una sola variable y asignarla como parmetro en una funcin o como
resultadodeunafuncin.
Paradeclararunstructseusalasiguientesintaxis:
nombre_del_struct=struct(nombre_var_1,valor_1,nombre_var_2,valor_2,...)
Ejemploconcreto
estructura1=struct(var1,2,var2,8.4,var3,HolaQueHace,var4,[4173.5])
functionres=funcionConEstructura(param1,param2,param3)
res=struct(var1,param1+4,var2,param2*8,var3,param3+param3)
end
Esta funcin va a calcular unos valores usando los parmetros, agrupar
esos valores en una estructura y regresarla. Entonces al momento de
ejecutarlafuncinyusarsuresultadodebemosdeusaralgocomoesto:
resultadoMultiple=funcionConEstructura(5,7,hola)
resultadoMultiple.var1+2
sin(resultadoMultiple.var2)