Académique Documents
Professionnel Documents
Culture Documents
Al resolver los problemas que siguen, siempre prepare sus respuestas con MATLAB
(1.2) Cree un archivo M de función, fun_es(x), que calcule la siguiente
función:
𝑦 = 0.5𝑒 𝑥/3 − 𝑥 2 sen x
El argumento debe aceptar tanto un escalar como un vector. Pruebe su función
tecleando en MATLAB
fun_es (3) y fun_es ([1 2 3])
function y = fun_(x)
y =0.5.*exp(x/3)- x.^2.*sind(x);
end
>> fun_(3)
ans =0.0891
>> fun_([1,2,3])
ans = 0.6804 0.8343 0.8881
function x=r_cuad(a,b,c)
a=input('a= ');
b=input('b= ');
c=input('c= ');
if a==0
x=-c./b
elseif b==0
x1=+sqrt(-c./a)
x2=-sqrt(-c./a)
elseif c==0
x1=(-b+sqrt(b.^2))./(2.*a)
x2=(-b-sqrt(b.^2))./(2.*a)
else
x1=(-b+sqrt(b.^2-4.*a.*c))./(2.*a)
x2=(-b-sqrt(b.^2-4.*a.*c))./(2.*a)
end
>> sal_asc
x= 1 2 3 4 5
y=
1
2
3
4
5
(1.8) Reescriba el guion del problema 1.7 utilizando while en lugar de for.
(1.10) Escriba un guion para una función de dado que pida al jugador teclear 0
o 1. Si el jugador teclea 1, el software obtendrá diez números al azar entre 1 y
10 los imprimirá en forma de vector de fila. Si la entrada del jugador es 0, el
programa se detendrá. Obtenga un numero aleatorio que sirva como semilla
aprovechando clock como siguiente:c=clock;
numsem= c(1)*c(2)*c(3)*c(4)*c(5)*c(6);
El script queda de la siguiente manera:
clear all
clc
c=clock;
numsem= c(1)*c(2)*c(3)*c(4)*c(5)*c(6);
rand('seed', numsem)
%disp('Teclee 1 para iniciar')
%a = input('o 0 para terminar ','s')
a=2;
while a~='1' & a~='0'
disp('Teclee 1 para iniciar')
a = input('o 0 para terminar ','s');
while a == '1'
for i=1:11
n(i,:)=ceil(6*rand(1));
end
disp('Números de dado sacados:')
disp(n)
disp(' ')
disp('Teclee 1 para repetir')
a = input('o 0 para terminar ','s');
end
end
function [y]=fun_xb(x,n)
i=0;
sfp=0;
sfn=0;
sfxi=0;
x=input('x= ');
n=input('n= ');
while 2
if i==n
fx =sfxi
break
else
i=i+1;
fxi=((-1)^(i+1))*(x^i)/i;
sfxi=sfxi+fxi;
end
end
end
Problemas: CAPÍTULO II “Gráficas con MATLAB”
2.1 Grafique las siguientes funciones en el dominio que se indica
𝒔𝒆𝒏(𝒙)
𝒚= , 𝟎 ≤ 𝒙 ≤ 𝟒𝝅
𝟏 + 𝐜𝐨𝐬(𝒙)
𝟏
𝒚= ,𝟎 ≤ 𝒙 ≤ 𝟒
𝟏 + (𝒙 − 𝟐)𝟐
𝒚 = 𝐞𝐱𝐩(−𝒙)𝒙𝟐 , 𝟎 ≤ 𝒙 ≤ 𝟏𝟎
2.3 Grafique las dos funciones que siguen en la misma gráfica con un solo comando plot:
(𝒙 − 𝟏)(𝒙 − 𝟐)(𝒙 − 𝟒)(𝒙 − 𝟓)
𝒚= ,𝟎 ≤ 𝒙 ≤ 𝟔
(𝟑 − 𝟏)(𝟑 − 𝟐)(𝟑 − 𝟒)(𝟑 − 𝟓)
𝒆𝒙𝒑(𝒙)
𝒚= ,𝟎 < 𝒙 ≤ 𝟏
(𝟏 − 𝒙𝟐 )𝟏/𝟐
𝒚 = 𝒙−𝒙 𝟎 < 𝒙 ≤ 𝟐
2.7
𝒇 = 𝒙𝟐 − 𝟖𝒙 + 𝒚𝟐 − 𝟔𝒚 − 𝟎. 𝟏𝒙𝒚 + 𝟓𝟎
2.13
2.15
2.17 elabore un programa grafico interactivo modificando el guion del listado 2.31 de modo
que (a) se acumulen múltiples puntos haciendo clic en el botón izquierdo del ratón hasta que
se oprima el botón central, y (b) conforme los puntos se acumulen, se marquen en la pantalla
con ‘x’ y se conecten mediante líneas. La gráfica se mostrara solo después de haber hecho clic
dentro del cuadro que está en la esquina inferior izquierda.
hold on
axis('square')
axis('off')
x0=-1;
x1=2;
y0=2;
y1=2;
Rarm1=10;Rarm2=30;
Larm1=30;Larm2=90;
Rleg1=30;Rleg2=90;
Lleg1=90;Lleg2=20;
Rarm2*2,Larm1,Larm2,Rleg1,Rleg2,Lleg1,Lleg2;
axis ('off')
[X,Y] = meshgrid(0:.2:5,0:.2:5);
Z =X.^2-8.*X+Y.^2-6.*Y-0.1.*X.*Y+50 ;
[C,h] = contour(X,Y,Z);
function r=fun_es(x)
y=0.5*exp(x/3)-x.^2.*sin(x);
disp(y);