You are on page 1of 4

function graficar_Callback(hObject, eventdata, handles)

x=-5*pi:pi/40:5*pi;
y=sin(x);
plot(x,y)
salida{1}=sprintf('
x
for i=1:length(x)
salida{i+1}=sprintf('%18.8f%18.8f ',x(i),sin(x(i)));
end
set(handles.listbox1,'String',salida);
function listbox1_Callback(hObject, eventdata, handles)

sin(x)');

Entrada/salida
Cuando vamos a reservar un vuelo introducimos en el programa la fecha y
las ciudades de origen y destino. El programa informtico nos proporciona
las horas de partida del avin de la ciudad de origen y otra informacin
relevante para el viajero. Se selecciona la fecha en un control del
tipo date y las ciudades de origen y destino en un control de
tipo list desplegable ordenadas alfabticamente.
En MATLAB podemos cambiar el valor de los parmetros de entrada con
el editor de script, guardar de nuevo el script modificado y correrlo. Pero es
mucho ms fcil utilizar el comado input tal como hemos visto al final de la
pgina Variables.
a=input('primer coeficiente, a: ');
str=input('mensaje: ','s');

MATLAB imprime los resultados de los clculos y los guarda bien en una
variable o en ans, si no se especifica. En muchos casos esto es suficiente,
pero en programas ms largos es necesario identificar o describir el
resultado de un determinado clculo. MATLAB dispone de una
funcin fprintf muy verstil para mostrar distintos datos con formato,
alternativamente se puede utilizar la funcin disp.
La funcin disp
La funcin disp de MATLAB se utiliza para mostrar un escalar, un mensaje
(string), un vector o una matriz.
En la lnea de comandos escribimos
>> disp('resultado')
resultado
>> y=22;
>> disp(y)
22
>> x=1:0.5:3;
>> disp(x)

1.0000
1.5000
2.0000
>> A=[1 2 3; 4 5 6; 7 8 9];
>> disp(A)
1
2
3
4
5
6
7
8
9

2.5000

3.0000

La funcin disp imprime una matriz A, vamos a ver ahora como imprime
una tabla de valores (abscisa, ordenada). Creamos el script prueba.
x=0:5 %vector fila
y=3*x.^2-5 %vector fila
res(:,1)=x'; %columna 1 de la matriz
res(:,2)=y'; %columna 2 de la martiz
%esto es equivalente a poner res=[x' y']
disp('tabla funcin')
disp('abscisa
ordenada')
disp(res)

En la ventana de comandos corremos el script prueba


>> prueba
x =
0
1
2
y =
-5
-2
7
tabla funcin
abscisa
ordenada
0
-5
1
-2
2
7
3
22
4
43
5
70

22

43

70

La funcin fprintf
Es otra funcin para mostrar un mensaje o un resultado, pero que permite
mezclar texto y valores numricos de las variables y tambin se puede
ajustar el formato de los nmeros. Esta funcin tiene muchas posibilidades
por lo que empezaremos con las ms sencillas.
fprintf('texto %5.2f texto adicional', variable)
En medio del texto se ha intercalado un valor numrico que contiene una
variable con el formato %-5.2f,

% es el smbolo que indica formato

-, alinea el nmero hacia la izquierda

+, imprime el signo (+ si es positivo y - si es negativo)

0, aade ceros

5, indica cinco caracteres que es el ancho del campo donde ese imprime el
valor numrico, si el nmero es ms corto se aaden espacios o ceros
delante del nmero.

2, indica la precisin, indica el nmero de dicimales que se mostrarn a la


derecha del punto decimal

f, indica que se utilizar la notacin (entero.decimal) por ejemplo 17.09

e, indica que se utilizar la notacin exponencial, por ejemplo1.709e+001

i, indica entero

g, formato corto

Vamos a calcular el alcance de un proyectil disparado con velocidad de


46.325 m/s haciendo un ngulo de 32 mediante la siguiente frmula.
x=v20sin(2)g

Escribimos el script prueba para probar la funcin fprintf


ang=32;
v0=46.325;
x=v0*v0*sind(2*ang)/9.8;
fprintf('velocidad %2.4f m/s, ngulo de tiro %i, alcance %5.2f
m\n',v0,ang,x)

El carcter \n al final del texto en la funcin fprintf indica una nueva lnea,
probar el efecto al quitarlo. Las variables que guardan los
datos v0, ang y x se ponen al final en el mismo orden que se citan en el
texto separadas por comas. Se sugiere al lector que pruebe otros formatos
Corremos el script en la ventana de comandos
>> prueba
velocidad 46.3250 m/s, ngulo de tiro 32, alcance 196.82 m

La funcin sprintf
La funcin sprintf es similar a printf salvo que imprime en una variable. Se
utiliza en combinacin con la funcin grfica text para mostrar valores de
una variable en un grfico
%cdigo para dibujar un grfico
plot(Vr,Pr,'r')
text(1,1.35,sprintf('presin %1.3f',p))

Vamos a ver como funciona en la ventana de comandos. Guardamos el


valor que imprime sprintf en la variablestr.
>> str=sprintf('el valor de pi es %1.3f',pi)
str =
el valor de pi es 3.142

Al final de fprintf se pone el carcter \n que indica una nueva lnea, no es


necesario en la funcin sprintf

You might also like