Modelo para los ejercicios de la práctica 1 y 2
En este documento se recogen alguna de las soluciones de los ejercicios propuestos para las sesiones I y II. Puede utilizarse como apoyo y éste es su fin.
Recuerda no obstante que hay que ser cuidados con las definiciones, los paréntesis, no utilizar nada que no haya sido declarada, etc.
Desde un punto de vista práctico, resulta a menudo mucho más útil empaquetar las instrucciones en un fichero script. Así es más fácil editar para corregir errores o adaptar lo escrito a problemas similares.
La salida que devuelve Matlab está en gris claro.
Comandos utilizados en esta práctica factor, simple, syms, disp, pretty, limit, symsum, sum, plot
Contents
- Eleccción: ans o disp
- Ejercicio 1.4 Qué es mayor e^pi o pi^e?
- Ejercicio 1.7 Factorizaciones
- Ejercicio 1.11 Simplificaciones
- Ejercicio 1.13 Comprobar que son polinomios
- Ejercicio 1.13 Algunos límites
- Ejercicio 1.14 Suma de algunas series
- Ejercicio 1.15: dibujo de algunas sucesiones
- Ejercicio 1.16: dibujo de algunas series
- Ejercicio 1.17 Constante de Euler-Macheroni
- Ejercicio 1.18 calculamos la serie de forma numérica
Eleccción: ans o disp
Si molesta el "|ans|" se puede utilizar disp para mostrar los resultados más concisos.
cos(pi-sin(0.5))+atan(exp(0.4))
ans = 0.093008672856389
disp(cos(pi-sin(0.5))+atan(exp(0.4)))
0.093008672856389
o bien
res=cos(pi-sin(0.5))+atan(exp(0.4)); % la variable "res" con el resultado
disp(res)
0.093008672856389
Ejercicio 1.4 Qué es mayor e^pi o pi^e?
definimos e con el número e=2.718182....
e=exp(1);
comprobamos su valor
exp(pi), pi^e
ans = 23.140692632779267 ans = 22.459157718361052
exp(pi)-pi^e
ans = 0.681534914418215
Si se quiere más precisción utilizar format long. En cualquier caso concluimos que
Ejercicio 1.7 Factorizaciones
Factoriza
Simplemente
syms x % definimos x como variable simbólica factor(x^2-4*x+3)
ans = (x-1)*(x-3)
factor(x^4-10*x^2+9)
ans = (x-1)*(x+3)*(x-3)*(x+1)
Ejercicio 1.11 Simplificaciones
Simplifica
syms x % definimos x simbólica (no es necesario si ya lo es) simp=simple((x^4+2*x^3-25*x^2-2*x+24)/(x^4+13*x^3+46*x^2+12*x-72))
simp = (x+1)*(x-4)/(x+6)/(x+2)
pretty(simp) % lo muestra algo más elegante
(x + 1) (x - 4)
---------------
(x + 6) (x + 2)
simp2= simple(sin(4*x)/(cos(2*x)^2-sin(2*x)^2)); % no queremos la salida
simp2
simp2 = sin(4*x)/cos(4*x)
Observa que Matlab no se da cuenta que aún se puede simplificar más. Aplicamos una vez más simple
simple(simp2)
simplify: sin(4*x)/cos(4*x) radsimp: sin(4*x)/cos(4*x) combine(trig): sin(4*x)/cos(4*x) factor: sin(4*x)/cos(4*x) expand: 8/(8*cos(x)^4-8*cos(x)^2+1)*sin(x)*cos(x)^3-4/(8*cos(x)^4-8*cos(x)^2+1)*sin(x)*cos(x) combine: sin(4*x)/cos(4*x) convert(exp): -1/2*i*(exp(4*i*x)-1/exp(4*i*x))/(1/2*exp(4*i*x)+1/2/exp(4*i*x)) convert(sincos): sin(4*x)/cos(4*x) convert(tan): tan(4*x) collect(x): sin(4*x)/cos(4*x) mwcos2sin: sin(4*x)/cos(4*x) ans = tan(4*x)
Ahora sí es satisfactorio
Ejercicio 1.13 Comprobar que son polinomios
syms x
p=cos(2*acos(x));
simple(p)
simplify: cos(2*acos(x)) radsimp: cos(2*acos(x)) combine(trig): cos(2*acos(x)) factor: cos(2*acos(x)) expand: 2*x^2-1 combine: cos(2*acos(x)) convert(exp): 1/2*(x+i*(1-x^2)^(1/2))^2+1/2/(x+i*(1-x^2)^(1/2))^2 convert(sincos): cos(2*acos(x)) convert(tan): (1-tan(acos(x))^2)/(1+tan(acos(x))^2) collect(x): cos(2*acos(x)) mwcos2sin: cos(2*acos(x)) ans = 2*x^2-1
Ejercicio 1.13 Algunos límites
syms n
limit(((n^2-1)/(n^2+n))^(4*n-3),n,inf)
ans = exp(-4)
limit((n+4)*tan(sin(cos(1/n^2)-1)),n,inf)
ans = 0
Sé bien cuidadoso con los paréntesis: cuando uno se abre, otro se cierra. Observa de que el seno se escribe con sin
Ejercicio 1.14 Suma de algunas series
syms n suma=symsum(n*2^(1-n),n,1,inf) pretty(suma) %mismo resultado de forma más elegante
suma =
4
4
symsum(log((n+2)/n),n,1,inf)
ans = Inf
obtenemos el resultado: infinito
Ejercicio 1.15: dibujo de algunas sucesiones
f=vectorize(inline('(n^2+3*n-1)/((n+1)^3-(n+2)^3)')) n=1:50; % dibujamos 50 valors plot(f(n),'r.:')
f =
Inline function:
f(n) = (n.^2+3.*n-1)./((n+1).^3-(n+2).^3)
vemos que el límite parece ser -0.333... que es 1/3
g=vectorize(inline('((n^2-1)/(n^2+n))^(4*n-3)')) n=1:50; % dibujamos 50 valores plot(g(n),'mo-.')
g =
Inline function:
g(n) = ((n.^2-1)./(n.^2+n)).^(4.*n-3)
si queremos las podemos ver juntas. Simplemente hay que "añadir" n en el el comando plot para indicar donde se mueve la variable
plot(n,f(n),'r.:',n,g(n),'mo-.')
Ejercicio 1.16: dibujo de algunas series
f=vectorize(inline('(-1)^n/sqrt(n)','n')) n=1:100; % dibujamos 100 sumas parciales primera plot(cumsum(f(n)),'k.:') f2=vectorize(inline('n^9*3^(-n)','n')) n=1:100; % dibujamos 100 sumas parciales primeras plot(cumsum(f2(n)),'k.:') % Observa que en el último ejemplo la suma es considerable, pero se % estabiliza pronto ($3^{-n}$ decrece a cero mucho más rápidamente que el % crecimiento a infinito de $n^9$).
f =
Inline function:
f(n) = (-1).^n./sqrt(n)
f2 =
Inline function:
f2(n) = n.^9.*3.^(-n)
vemos que el límite parece ser -0.333... que es 1/3
g=vectorize(inline('((n^2-1)/(n^2+n))^(4*n-3)')) n=1:50; % dibujamos 50 valores plot(g(n),'mo-.') %
g =
Inline function:
g(n) = ((n.^2-1)./(n.^2+n)).^(4.*n-3)
Ejercicio 1.17 Constante de Euler-Macheroni
Evaluamos $$\sum_{j=1}^n\frac{1}{j}-log(n) $$ para varios valores de $n$
f=vectorize(inline('1/n','n')); format long % vemos todos los dígitos posibles n=10; gamma10=sum(f(1:n))-log(n); disp('Aprox para n=100') disp(gamma10) n=1000; gamma10000=sum(f(1:n))-log(n); disp('Aprox para n=1000') disp(gamma10000) n=100000; gamma100000=sum(f(1:n))-log(n); disp('Aprox para n=10000') disp(gamma100000) % % Podemos dibujar una gráfica con esos valores % % Definimos la funcion f2=vectorize(inline('cumsum(1/n)-log(n)','n')); n=1:150; plot(f2(n),'o') % vemos en la gráfica claramente que la diferencia entre suma parcial % y logaritmo tiende a un número fijo que es aprox 0.57721566490153...
Aprox para n=100 0.626383160974208 Aprox para n=1000 0.577715581568206 Aprox para n=10000 0.577220664893106
Ejercicio 1.18 calculamos la serie de forma numérica
s1=vectorize(inline('(101/100)^n')); n=1:50; % tomamos 5 términos sum(s1(n)) % los sumamos
ans = 65.107814006232090
Parece que es infinito. Nos aseguramos
n=1:200; % 200 terminos sum(s1(n)) % los sumamos
ans =
6.379178030348247e+002
Si queremos podemos ver la suma acumulativa, es decir, la sucesción de sus sumas parciales
cumsum(s1(n))
ans = 1.0e+002 * Columns 1 through 5 0.010100000000000 0.020301000000000 0.030604010000000 0.041010050100000 0.051520150601000 Columns 6 through 10 0.062135352107010 0.072856705628080 0.083685272684361 0.094622125411205 0.105668346665317 Columns 11 through 15 0.116825030131970 0.128093280433289 0.139474213237622 0.150968955369999 0.162578644923699 Columns 16 through 20 0.174304431372936 0.186147475686665 0.198108950443532 0.210190039947967 0.222391940347447 Columns 21 through 25 0.234715859750921 0.247163018348430 0.259734648531915 0.272431995017234 0.285256314967406 Columns 26 through 30 0.298208878117080 0.311290966898251 0.324503876567233 0.337848915332906 0.351327404486235 Columns 31 through 35 0.364940678531097 0.378690085316408 0.392576986169572 0.406602756031268 0.420768783591581 Columns 36 through 40 0.435076471427496 0.449527236141771 0.464122508503189 0.478863733588221 0.493752370924103 Columns 41 through 45 0.508789894633344 0.523977793579678 0.539317571515474 0.554810747230629 0.570458854702935 Columns 46 through 50 0.586263443249965 0.602226077682465 0.618348338459289 0.634631821843882 0.651078140062321 Columns 51 through 55 0.667688921462944 0.684465810677574 0.701410468784349 0.718524573472193 0.735809819206915 Columns 56 through 60 0.753267917398984 0.770900596572974 0.788709602538703 0.806696698564091 0.824863665549731 Columns 61 through 65 0.843212302205229 0.861744425227281 0.880461869479554 0.899366488174349 0.918460153056093 Columns 66 through 70 0.937744754586654 0.957222202132520 0.976894424153846 0.996763368395384 1.016831002079338 Columns 71 through 75 1.037099312100131 1.057570305221133 1.078246008273344 1.099128468356077 1.120219753039638 Columns 76 through 80 1.141521950570035 1.163037170075735 1.184767541776492 1.206715217194257 1.228882369366200 Columns 81 through 85 1.251271193059862 1.273883904990460 1.296722744040365 1.319789971480769 1.343087871195577 Columns 86 through 90 1.366618749907532 1.390384937406608 1.414388786780674 1.438632674648480 1.463119001394965 Columns 91 through 95 1.487850191408915 1.512828693323004 1.538056980256234 1.563537550058796 1.589272925559384 Columns 96 through 100 1.615265654814978 1.641518311363128 1.668033494476759 1.694813829421527 1.721861967715742 Columns 101 through 105 1.749180587392899 1.776772393266829 1.804640117199497 1.832786518371492 1.861214383555207 Columns 106 through 110 1.889926527390759 1.918925792664666 1.948215050591313 1.977797201097226 2.007675173108199 Columns 111 through 115 2.037851924839281 2.068330444087673 2.099113748528550 2.130204886013836 2.161606934873974 Columns 116 through 120 2.193323004222714 2.225356234264941 2.257709796607590 2.290386894573666 2.323390763519403 Columns 121 through 125 2.356724671154597 2.390391917866143 2.424395837044805 2.458739795415253 2.493427193369405 Columns 126 through 130 2.528461465303099 2.563846079956131 2.599584540755692 2.635680386163249 2.672137190024881 Columns 131 through 135 2.708958561925130 2.746148147544381 2.783709629019825 2.821646725310024 2.859963192563123 Columns 136 through 140 2.898662824488755 2.937749452733643 2.977226947260979 3.017099216733589 3.057370208900925 Columns 141 through 145 3.098043910989934 3.139124350099833 3.180615593600832 3.222521749536840 3.264846967032208 Columns 146 through 150 3.307595436702530 3.350771391069556 3.394379104980251 3.438422896030054 3.482907124990355 Columns 151 through 155 3.527836196240259 3.573214558202661 3.619046703784688 3.665337170822535 3.712090542530760 Columns 156 through 160 3.759311447956068 3.807004562435628 3.855174608059985 3.903826354140584 3.952964617681991 Columns 161 through 165 4.002594263858811 4.052720206497399 4.103347408562373 4.154480882647997 4.206125691474476 Columns 166 through 170 4.258286948389221 4.310969817873113 4.364179516051845 4.417921311212363 4.472200524324487 Columns 171 through 175 4.527022529567732 4.582392754863409 4.638316682412042 4.694799849236163 4.751847847728524 Columns 176 through 180 4.809466326205810 4.867660989467868 4.926437599362546 4.985801975356171 5.045759995109734 Columns 181 through 185 5.106317595060831 5.167480771011440 5.229255578721554 5.291648134508770 5.354664615853858 Columns 186 through 190 5.418311262012396 5.482594374632519 5.547520318378845 5.613095521562633 5.679326476778259 Columns 191 through 195 5.746219741546042 5.813781938961503 5.882019758351118 5.950939955934628 6.020549355493976 Columns 196 through 200 6.090854849048916 6.161863397539405 6.233582031514799 6.306017851829947 6.379178030348247
Mejor si lo dibujamos
plot(cumsum(s1(n)),'k.')
Puedes hacer zooms para observar la figura más de cerca. Para el segundo ejemplo procedemos igual
s2=vectorize(inline('log(n)/n^2')); n=1:200; % tomamos 200 t?rminos sum(s2(n)) % los sumamos
ans = 0.906122796485680
Observamos la sucesión de sus sumas parciales
cumsum(s2(n))
ans =
Columns 1 through 5
0 0.173286795139986 0.295354827214221 0.381998224784214 0.446375741281578
Columns 6 through 10
0.496146837649024 0.535859289670561 0.568350563759308 0.595476793109138 0.618502644039079
Columns 11 through 15
0.638319960343197 0.655576256522281 0.670753471655189 0.684218049867512 0.696253828539077
Columns 16 through 20
0.707084253235326 0.716887759616144 0.725808660103478 0.733965000765989 0.741454331449874
Columns 21 through 25
0.748358010446979 0.754744461796893 0.760671672034944 0.766189126601520 0.771339327921310
Columns 26 through 30
0.776158997356253 0.780680035581224 0.784930296436040 0.788934215377759 0.792713323579606
Columns 31 through 35
0.796286671347021 0.799671179064598 0.802881929809747 0.805932414692633 0.808834739640787
Columns 36 through 40
0.811599800550090 0.814237432334344 0.816756536323074 0.819165189607841 0.821470739266662
Columns 41 through 45
0.823679883863155 0.825798744190980 0.827832924891734 0.829787568297683 0.831667401625965
Columns 46 through 50
0.833476778467406 0.835219715362702 0.836899924134798 0.838520840543840 0.840085649746011
Columns 51 through 55
0.841597308966590 0.843058567738254 0.844471986005806 0.845839950356480 0.847164688599532
Columns 56 through 60
0.848448282888669 0.849692681555285 0.850899709798610 0.852071079360203 0.853208397294154
Columns 61 through 65
0.854313173930588 0.855386830118165 0.856430703820960 0.857446056136233 0.858434076791830
Columns 66 through 70
0.859395889175215 0.860332554940283 0.861245078232925 0.862134409571845 0.863001449417161
Columns 71 through 75
0.863847051455852 0.864672025630045 0.865477140931443 0.866263127982795 0.867030681425201
Columns 76 through 80
0.867780462128159 0.868513099237597 0.869229192075646 0.869929311904594 0.870614003566262
Columns 81 through 85
0.871283787006998 0.871939158697549 0.872580592956193 0.873208543182787 0.873823443010674
Columns 86 through 90
0.874425707382802 0.875015733557812 0.875593902051417 0.876160577517865 0.876716109575931
Columns 91 through 95
0.877260833583480 0.877795071364322 0.878319131890759 0.878833311924968 0.879337896622098
Columns 96 through 100
0.879833160097735 0.880319365962174 0.880796767823760 0.881265609763371 0.881726126781970
Columns 101 through 105
0.882178545222990 0.882623083171210 0.883059950829635 0.883489350875783 0.883911478798700
Columns 106 through 110
0.884326523217898 0.884734666185359 0.885136083471636 0.885530944837028 0.885919414288746
Columns 111 through 115
0.886301650324889 0.886677806166032 0.887048029975156 0.887412465066600 0.887771250104661
Columns 116 through 120
0.888124519292466 0.888472402551638 0.888815025693297 0.889152510580884 0.889484975285244
Columns 121 through 125
0.889812534232419 0.890135298344535 0.890453375174158 0.890766869032483 0.891075881111671
Columns 126 through 130
0.891380509601652 0.891680849801693 0.891976994226981 0.892269032710508 0.892557052500475
Columns 131 through 135
0.892841138353468 0.893121372623589 0.893397835347780 0.893670604327506 0.893939755206981
Columns 136 through 140
0.894205361548121 0.894467494902367 0.894726224879533 0.894981619213839 0.895233743827238
Columns 141 through 145
0.895482662890181 0.895728438879945 0.895971132636621 0.896210803416886 0.896447508945657
Columns 146 through 150
0.896681305465723 0.896912247785440 0.897140389324600 0.897365782158524 0.897588477060484
Columns 151 through 155
0.897808523542516 0.898025969894700 0.898240863222966 0.898453249485507 0.898663173527835
Columns 156 through 160
0.898870679116561 0.899075808971945 0.899278604799257 0.899479107319024 0.899677356296181
Columns 161 through 165
0.899873390568199 0.900067248072209 0.900258965871178 0.900448580179173 0.900636126385744
Columns 166 through 170
0.900821639079472 0.901005152070702 0.901186698413510 0.901366310426917 0.901544019715396
Columns 171 through 175
0.901719857188687 0.901893853080953 0.902066036969306 0.902236437791714 0.902405083864331
Columns 176 through 180
0.902572002898262 0.902737222015776 0.902900767766006 0.903062666140146 0.903222942586161
Columns 181 through 185
0.903381622023030 0.903538728854545 0.903694286982672 0.903848319820503 0.904000850304800
Columns 186 through 190
0.904151900908156 0.904301493650781 0.904449650111930 0.904596391440982 0.904741738368188
Columns 191 through 195
0.904885711215096 0.905028329904659 0.905169613971047 0.905309582569173 0.905448254483928
Columns 196 through 200
0.905585648139156 0.905721781606360 0.905856672613163 0.905990338551516 0.906122796485680
Y nuevamente, es mejor si lo dibujamos
plot(cumsum(s2(n)),'b*')