Professional Documents
Culture Documents
function [m,p]=minpos(v)
%[m,p]=minpos(v)
%devuelve el minimo y la posicion
m=v(1); p=1; %supongo que el minimo es el primer valor
for i=2:length(v)
if v(i)<=m
m=v(i); %nuevo minimo
p=1;
end
end
ACABAR
NOTA: El bucle se ejecuta tantas veces como marcamos en i:[], y en un bucle anidado se ejecuta i
veces por j veces.
function suma=blackjack(valmax)
%version simplificada del blackjack o 21
%Hay que aproximarse a valmax sin pasarse
suma=0;
while suma<=valmax
disp(['Tu suma es ',num2str(suma),' y el maximo es
',num2str(valmax)]);
res=input('Quieres otra carta? 1=SI');
if res~=1 disp('TE HAS PLANTADO'); return; end
carta=ceil(10*rand);
disp(['Has sacado un ',num2str(carta)]);
suma=suma+carta;
end
disp('TE PASASTE!!!')
>> blackjack(30);
Tu suma es 0 y el maximo es 30
Quieres otra carta? 1=SI1
Has sacado un 10
Tu suma es 10 y el maximo es 30
Quieres otra carta? 1=SI1
Has sacado un 2
Tu suma es 12 y el maximo es 30
Quieres otra carta? 1=SI1
Has sacado un 10
Tu suma es 22 y el maximo es 30
Quieres otra carta? 1=SI1
Has sacado un 10
TE PASASTE!!!
25/10/17
Break : rompe un bucle
Continue: vuelve al principio del bucle
Return: vuelve al pricipio de la función
GRÁFICOS
Plot(x,y,’estilo’)
Utilizando el puntero dentro de la figura se puede cambiar el formato de la gráfica
Con el comando ‘’hold’’ se puede mantener una curva y crear otra en la misma figura
Xlabel(‘ ‘): le pone rotulo al eje x
Ylabel(‘ ‘): le pone rotulo al eje y
Title(‘ ‘): le pone titulo a la figura
Legend(‘ ‘) crea una leyenda con nombres para las curvas
Xlim([a a]): pone limites al eje x
Ylim([a a]): pone limite al eje y
Subplot(filas,columnas,graficoenelquetrabajo): crea una figura con varios graficos
Clf: bora una figura
Quiver(origen del vector x, origen del vector y, dirección x, dirección y, escala del vector
opcional)
>> x=linspace(-pi,pi);
>> y=x.*cos(x)-sin(x);
>> plot(x,y)
>> x=linspace(-pi,pi,5);
>> y=x.*cos(x)-sin(x);
>> figure
>> plot(x,y)
>> x=linspace(-pi,pi,25);
>> y=x.*cos(x)-sin(x);
>> plot(x,y,'r--^')
>> hold off
>> hold on
>> y2=x.*cos(x)-sin(x);
>> plot(x,y2,'b-x')
>> grid on
>> %añade una rejilla en la figura
>> hold on
>> plot(x,y2,'b-x')
>> y2=x.*sin(x)-cos(x);
>> plot(x,y2,'b-x')
>> xlim([-5 5])
>> ylim([-1 4])
>> title('mi figura')
>> xlabel('Eje X')
>> ylabel('Eje Y')
>> legend('Curva 1','Curva 2')
>> plot(x,y2,'b-x')
>> y=[1e-3 2 1 1e5 200 .00001];
>> hold off
>> plot(y,'b')
>> plot(log(y),'b')
>> semilogy(y,'bx')
>> hold on
>> plot(log(y),'r^')
>> %Cambia el orden de la escala para poder apreciar los valores
>> subplot(3,2,1)
>> subplot(3,2,5)
>> plot(x,y2,'b-x')
>> for=1:6; subplot(3,2,i); title(['grafico ',num2str(i)]); end
for=1:6; subplot(3,2,i); title(['grafico ',num2str(i)]); end
↑
Error: The expression to the left of the equals sign is not a valid
target for
an assignment.
x=linspace(-pi,pi,10);
y=linspace(-pi,pi,20);
[X Y]=meshgrid(x,y); %construye una matriz con todas las combinacines
de x y
z=X.*sin(Y);
surf(X,Y,z)
x=linspace(-pi,pi,10);
y=linspace(-pi,pi,20);
[X Y]=meshgrid(x,y); %construye una matriz con todas las combinacines
de x y
z=X.*sin(Y);
contour(X,Y,z,15)
%15 es el numero de lineas que quiero y con colourbar veo los niveles