View
690
Download
18
Category
Preview:
DESCRIPTION
Ejercicios de MATLAB Resueltos
Citation preview
14/8/2015
Inicio
EjerciciosdeMATLAB.Partebsica
MATLAB
Bsico
Ejercicios
ClculosaritmticosVariablesescalares
1.Variables
VectoresymatricesEntrada/salidaGrficosbidimensionalesFuncionesSentenciascondicionales
1.1.Evaluarlassiguientesexpresionesparaelvalordadodexy =y =y =
1
5
x3
2
x x6
tan xsin xxsin x12(1 x)
, x = 2
, x =
6
13
3(1 x)
, x = 3
Solucin
SentenciasiterativasEjemplos
>>x=2>>y=1/(x3)5/(x^2x6)y=0.2500>>x=pi/6>>y=(tan(x)sin(x))/(xsin(x))y=3.2777>>x=3>>y=1/(2*(1sqrt(x)))1/(3*(1nthroot(x,3)))y=0.0707
1.2.Lalongituddelarcodeparboladelafiguraes
1s =
22b + 16a +
2
224a + b + 16a
2
b
ln (8a
)b
Calcularsparaa=12yb=8Solucin>>a=12b=8>>s=sqrt(b^2+16*a^2)/2+b^2*log((4*a+sqrt(b^2+16*a^2))/b)/(8*a)s=25.9922
1.3.Unproyectilsedisparaconunnguloyunavelocidadinicialv0.Calcularelalcancehorizontal,laalturamximayeltiempodevuelodelproyectil,desdequesalehastaqueimpactaconelsuelo=60,v0=600m/s,g=10m/s2.v
xmax =
v
ymax =
20
g
sin(2)
20
2g
tvuelo = 2
2
sinv0g
sin
Solucin>>th=60v0=600g=10>>x_max=v0^2*sind(2*th)/g
http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/ejercicios/basico/ejercicios_1.html
1/20
14/8/2015
EjerciciosdeMATLAB.Partebsicax_max=3.1177e+004>>y_max=v0^2*sind(th)^2/(2*g)y_max=1.3500e+004>>t_vuelo=2*v0*sind(th)/gt_vuelo=103.9230
1.4.LeydelenfriamientodeNewtonT = T s + (T 0 T s ) e
kt
LatemperaturaambienteesTs=20,latemperaturainicialdelcuerpoT0=5.CalcularlatemperaturaTdelcuerpoenelinstantet=3,sabiendoquek=0.45.Solucin>>Ts=20T0=5k=0.45>>T=Ts+(T0Ts)*exp(k*3)T=16.111396090311629
2.Vectoresymatrices2.1.Crearelvectorquecontengalosnmerosparesentre10ycero.Crearunvectorquecontengalosmltiplosde3entre6y36,ambosinclusive.Solucin>>x=10:2:0x=1086420>>x=6:3:36x=69121518212427303336
2.2.Crearunamatriz32yotrade23conlosvectoresu=[1,0,3]v=[4,1,2]Calcularelproductou.*vycocienteu./velementoaelementodelosdosvectoresCalcularelproductoescalardelosdosvectoresyelnguloentreellosu v = uv cos
Solucin>>u=[1,0,3]v=[4,1,2]>>A=[u',v']A=140132>>A=[uv]A=103412>>u.*vans=406>>u./vans=0.250001.5000>>p=u*v'p=10>>th=acosd(p/(norm(u)*norm(v)))th=46.3647
2.3.Seaelvectoru=2:3:18AccederalostresprimeroselementosdelvectoruAccederalsegundo,cuartoysextoelementosdelvectoruAccederalsexto,cuartoysextoelementodelvectoruAccederalostresltimoselementosdelvectoruAccederalprimero,terceroycuartoelementosdelvectoruSolucin
http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/ejercicios/basico/ejercicios_1.html
2/20
14/8/2015
EjerciciosdeMATLAB.Partebsica>>u=2:3:18u=258111417>>u(1:3)ans=258>>u(2:2:6)ans=51117>>u(end2:end)ans=111417>>u([1,3,4])ans=2811
2.4.CrearlamatrizA=[10:1:4ones(1,7)2:2:14zeros(1,7)]conlpizypapelyluego,comprobarconMATLABObtenerlamatrizB=A([1,3],[1,3,5:7])conlpizypapelyluego,comprobarconMATLABSolucin>>A=[10:1:4ones(1,7)2:2:14zeros(1,7)]A=10987654111111124681012140000000>>B=A([1,3],[1,3,5:7])B=10865426101214
2.5.CrearestasdosmatricesAyBsininicializarcadaelementodelamatriz,enunasolalneaenlaventanadecomandos1
0
6
234
0
4 2 0
00
5
0
1
3
5
7
9
0
5
10
15
20
20
30
40
50
6
4
2
0
2
10
2
11
25 60 4
EliminarlaltimafiladelaprimeramatrizylaterceracolumnadelasegundamatrizSolucin>>A=[(1:5)',zeros(5,1),(6:2:2)']A=106204302400502>>B=[1:2:110:5:2510:10:606:2:4]B=13579110510152025102030405060642024>>A(end,:)=[]A=13579110510152025102030405060>>B(:,3)=[]B=13791105152025102040506064024
2.6.CrearlamatrizBde56apartirdeunvectorAde30elementosutilizandoelcomandoreshape,yaccederaloselementosmarcadosencolorrojo
http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/ejercicios/basico/ejercicios_1.html
3/20
14/8/2015
EjerciciosdeMATLAB.Partebsica
Nota:reshape(A,m,n)creaunamatrizmnapartirdeloselementosdelamatrizAquedebetenermnelementos.Solucin>>A=1:30>>B=reshape(A,5,6)B=161116212627121722273813182328491419242951015202530>>B([3,4,5],[4,5])ans=182319242025>>B(2:4,3:5)ans=121722131823141924>>B(2:end,end)ans=27282930>>B(end,3:5)ans=152025
2.7.Sealamatriz
0
2
0
2
3
4
2
3
1
5
1
2
4
3
1
Crearunvectorcolumnadenueveelementosquecontengaloselementosdelaprimera,terceraycuartacolumnaCrearunvectorfiladeochoelementos,quecontengaloselementosdelasugundafilaydelaterceracolumnaCrearunvectorfiladecincoelementosquecontengalosdosltimoselementosdelaltimacolumnaylostresprimeroselementosdelaprimerafila.Solucin>>A=[0,2,3,4,22,3,1,5,10,2,4,3,1]A=023422315102431>>u=[A(:,1)A(:,3)A(:,4)]u=020314453>>u=[A(2,:),A(:,3)']u=23151314>>u=[A(end1:end,end)',A(1,1:3)]
http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/ejercicios/basico/ejercicios_1.html
4/20
14/8/2015
EjerciciosdeMATLAB.Partebsicau=11023
2.8.Crearunatabladevaloresdelcosenodelosnguloscomprendidosentre0y180,de30en30gradosngulo03060...
coseno
Solucin>>ang=0:30:180>>y=cosd(ang)>>[ang',y']ans=01.000030.00000.866060.00000.500090.00000120.00000.5000150.00000.8660180.00001.0000
2.9.SeanlasmatricesA = (
1
0
1
4
2
3
) B = (
1
2
3
1
1
2
)
RealizarlassiguientesoperacionesconlpizypapelycomprobarluegoconMATLABA*BT(elsuperndiceTindicatraspuesta)AT*BA.*B(productoelementoaelemento)A./BSolucin>>A=[1,0,14,2,3]A=101423>>B=[1,2,31,1,2]B=123112>>A*B'ans=2110>>A'*Bans=5611224459>>A.*Bans=103426>>A./Bans=1.000000.33334.00002.00001.5000
2.10Seanlasmatrices2
4
1
2
5
0
0
3
5
A = 3
1
5 B = 3
2
7 C = 2
1
0
6
9
6
3
0
1
4
1
4
Comprobarsisonverdaderasofalsasestasafirmaciones:A+(B+C)=(A+B)+C,propiedadasociativa2(A+B)=2A+2Bhttp://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/ejercicios/basico/ejercicios_1.html
5/20
14/8/2015
EjerciciosdeMATLAB.Partebsica
A*(B+C)=A*B+A*C,propiedaddistributivaA*B=B*A,propiedadconmutativa(A*B)T=BT*AT(A*B)*C=A*(B*C)(A+B)T=AT+BT2.11.ResolverelsistemadetresecuacionesmediantelaoperacinX=A\b.dondeAeslamatrizdeloscoeficientes,beselvectordelostrminosindpendientesyXeselvectordelasincgnitas. 4x 2y + 6z = 8 2x + 8y + 2z = 46x + 10y + 3z = 0
4
2
6
2810
6
x
8
2y = 43
z
0
Solucin>>A=[4,2,62,8,26,10,3]A=4262826103>>b=[840]b=840>>X=A\bX=1.80490.29272.6341>>A*Xans=8.00004.00000
2.12.Dadoelvectordedatosu=[5,9,2,4,1,12,7,6,5,8]ElvalormximoyelndicededichoelementoenelvectoruElvalormnimoyelndicededichoelementoenelvectoruLasumadetodosloselementosElproductodetodosloselementosElvalormedioCrearunvectorvapartirdeluperoconloselementosordenadosenordenascendente,utilizandolafuncinsortSolucin>>u=[5,9,2,4,1,12,7,6,5,8]u=59241127658>>[m,k]=max(u)m=12k=6>>[m,k]=min(u)m=1k=5>>sum(u)ans=59>>prod(u)ans=7257600>>mean(u)ans=5.9000>>v=sort(u)v=12455678912
2.13.Crearunatabladevaloresdelafuncin2
2http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/ejercicios/basico/ejercicios_1.html
6/20
14/8/2015
EjerciciosdeMATLAB.Partebsica2
x
2
y =x + 4
paralossiguientesvaloresdex:3,2,1,0,1,2,3Solucin>>x=3:3>>y=(x.^22)./(x+4)>>[x',y']ans=3.00007.00002.00001.00001.00000.333300.50001.00000.20002.00000.33333.00001.0000
2.14.Comprobarquesin xlim
= 1x
x0
Establecerelformatolargoparaexpresarlosnmeroscon15decimales(formatlong)Crearunvectorxcuyoselementosson1,0.1,0.01,0.001,...ycalcularelcocientesin(x)/x.Regresaralformatopordefecto(formatshort)Solucin>>formatlong>>n=0:5>>x=1./10.^n>>y=sin(x)./x>>[x',y']ans=1.0000000000000000.8414709848078970.1000000000000000.9983341664682820.0100000000000000.9999833334166660.0010000000000000.9999998333333420.0001000000000000.9999999983333330.0000100000000000.999999999983333>>formatshort
2.15.Comprobarquelasuma
1
n=1
n
= 1
2
Establecerelformato,15decimales(formatlong).Calcularlasuma(a)n=10,(b)n=20,(c)n=40.Crearelvectorn,luegoelvectory=1/2n,ysumarloselementosdelvectoryconlafuncinsumdeMATLABRestaurarelformatopordefectoSolucin>>formatlong>>n=1:10>>y=1./2.^n>>sum(y)ans=0.999023437500000>>formatshort
2.16.Comprobarquelasuma
n
(3) 12 2n + 1
=
n=0
Calcularlasuma(a)n=10,(b)n=20,(c)n=40.Solucin>>formatlong>>n=0:10>>y=sqrt(12)*(3).^(n)./(2*n+1)>>sum(y)
http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/ejercicios/basico/ejercicios_1.html
7/20
14/8/2015
EjerciciosdeMATLAB.Partebsicaans=3.141593304503082>>pians=3.141592653589793>>formatshort
2.17.Comprobar
1= 1
4
1+
3
1
5
1+
7
+ ...9
Solucin>>n=1:4:10001>>sum(1./n1./(n+2))ans=0.7853>>pi/4ans=0.7854>>n=1:2:10001>>sum((1).^((n1)/2)./n)ans=0.7854
3.Grficos3.1LapoblacindeEstadosUnidossepuedemodelarmediantelasiguienteformulay =
1972730001 + e
0.03134(t1913.25)
dondeteseltiempoenaos.HacerungrficoquemuestrelapoblacindeUSAcada10aosdesdeelao1790hastael2000.Crearunscript
Solucin3.2Dibujarlafunciny=3x326x+10,suderivadaprimeraysuderivadasegunda,enelintervalo2x4,enlamismagrficaycondistintoscoloresyestilodelnea.Crearunscript
http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/ejercicios/basico/ejercicios_1.html
8/20
14/8/2015
EjerciciosdeMATLAB.Partebsica
Solucin3.3Dibujarunacurvacicloide,queenecuacionesparamtricasesx=r(tsint),y=r(tcost),Tomarr=1.5y0t4
Solucin3.4.Dibujarlasuperposicinx1+x2dedosMovimientosArmnicosSimplesdelamismadireccinydistintafrecuenciaenelintervalo0t4,x1=sin(t)x2=sin(2t)Superponerenelmismogrficolaamplitudmodulada(envolvente)encolordiferenteycongrosordelnea1.5
http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/ejercicios/basico/ejercicios_1.html
9/20
14/8/2015
EjerciciosdeMATLAB.Partebsica
Solucin3.5.Tiroparablico
Uncuerposelanzadesdelaalturay0convelocidadv0,quehaceunnguloconlahorizontal.Lasecuacionesdelmovimientoson:x = v0 cos ty = y0 + v0 sin t +
12
(g)t
2
Laecuacindelatrayectoriadelmviles2
gy = y0 + x tan
x2
2
2
2 v cos
= y0 + x tan x
0
g
2
2
(1 + tan )
2v
0
Dadoslosdatosdelaalturainicialy0,lavelocidadinicialv0yelngulodetirocalcularelalcancehorizontalyeltiempodevuelodelproyectil,cuandollegaalsueloy=0.Escribirelscriptparabolicoqueproduzcaunagrficasemejantealadelafigura(msabajo)yquerealicelassiguientestareas:1. Establezcamediantecomandosinput,losvaloresdelaalturay0,velocidadinicialv0yngulodetiro2. Determineeltiempodevuelocalculandounadelasracesdelaecuacindesegundogrado3. Calcularelalcance,conocidoeltiempodevuelo4. Representelatrayectoriayladecoreconttulo,etiquetasenelejeXyenelejeY.UtiliceelcomandoaxisparaestabecernuevosvaloresmximosymnimosparaelejeXyparaelejeYdistintosdelosqueMATLABestablecepordefecto5. Utiliceelcomandotext,paraqueaparezaenalgnlugardelagrfica,losdatosdeltiempodevueloydelalcanceEjemplo:Uncandisparaunabaladesdeloaltodeunacantiladode100mdealturaconunavelocidadde46m/shaciendounngulode30porencimadelahorizontal.Tomarg=10m/s2http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/ejercicios/basico/ejercicios_1.html
10/20
14/8/2015
EjerciciosdeMATLAB.Partebsica>>parabolicoaltura:100velocidadinicial:46ngulo:30
Solucin3.6.Tiroparablico3DSedisparaunproyectilconvelocidadde60m/shaciendounngulode30,desdelaventanadelvagndeuntrenenmovimientoalolargodelejeXconvelocidadde20m/s.Tmeseg=10m/s2RepresentarlatrayectoriadelproyectilEcuacionesdelmovimientoay = 0
v = 20 y
y = 20t
ax = 0 vx = 30 3 x = 30 3t2a z = 10vz = 30 10tz = 30t 5t
ComprobarqueElproyectilalcanzalamximaalturacuandovz=0,enelinstantet=3s,laalturaesdezmax=45m.Elproyectilimpactacontraelsuelocuandoz=0,enelinstantet=6s.Enesteinstantelascoordenadasdelpuntodeimpactoson:x=120m,y=311.8m
http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/ejercicios/basico/ejercicios_1.html
11/20
14/8/2015
EjerciciosdeMATLAB.Partebsica
Solucin3.7.Dibujaralfuncinz =
xy2
2
x +y
2
1 x 31 y 4
Solucin3.8.Dibujarlafuncinz = r0 3600 r 2
Utilizarlafuncinpol2cartparaconvertircocordendaspolaresacoordenadasrectangulares.
http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/ejercicios/basico/ejercicios_1.html
12/20
14/8/2015
EjerciciosdeMATLAB.Partebsica
Solucin
4.Funciones4.1.EscribirunafuncinqueconviertagradosF(Fahrenheit)agradosC(Celsius)deacuerdoconlasiguientefrmula5C =
(F 32)9
>>gradosF_C(32)ans=0>>gradosF_C(212)ans=100
LadefinicindelafuncingradosF_CesSolucinfunctiongC=gradosF_C(gF)gC=5*(gF32)/9end
Otraforma>>gradosF_C=@(x)5*(x32)/9>>gradosF_C(32)ans=0>>gradosF_C(212)ans=100
4.2.Lasnuevascoordendas(X,Y)deunpunto(x,y)delplanoqueesgiradoalrededordelejeZunngulo(enelsentidodelasagujasdelreloj)vienedadoporX = x cos y sin {Y = x sin + y cos X(
cos
sin
sin
cos
) = (Y
x)(
)y
Utilizarelcomandocompassparadibujarelvectorposicinr=xi+yjycorrespondienteelvectorgiradoR=Xi+Yjunngulo.>>u=[sqrt(3)1]>>ang=120>>v=rotacion(ang,u)v=1.7321
http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/ejercicios/basico/ejercicios_1.html
13/20
14/8/2015
EjerciciosdeMATLAB.Partebsica1.0000>>holdon>>compass(u(1),u(2))>>compass(v(1),v(2))>>holdoff
DefinimoslafuncinrotacionSolucinfunctionv=rotacion(ang,u)R=[cosd(ang),sind(ang)sind(ang),cosd(ang)]v=R*uend
5.Sentenciascondicionales5.1.Seaelvectorx=[4,0,5,3,0,3,7,1,6]Contarcuantoselementosdelvectorsonpositivos,negativosonulosSolucin>>x=[4,0,5,3,0,3,7,1,6]>>ne=sum(x>pos=sum(x>0)pos=4>>cero=sum(x==0)cero=2
5.2.Unaempresapagalossiguientestiposdesalarioanual:12000,15000,18000,24000,35000,50000y70000.Elnmerodeempleadosencadaunadelascategorases:3000,2500,1500,1000,400,100y25.Calcular:ElnmerototaldeempleadosElnmerodeempleadosdelaempresacuyossalariossonsuperioresa32000einferioresadichacantidadElsalariomedioporempleadoenlaempresa(mediaponderada)Solucin>>salario=[12000,15000,18000,24000,35000,50000,70000]>>empleados=[3000,2500,1500,1000,400,100,25]>>n_empleados=sum(empleados)n_empleados=8525>>u=salario>32000
http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/ejercicios/basico/ejercicios_1.html
14/20
14/8/2015
EjerciciosdeMATLAB.Partebsicau=0000111>>u.*empleadosans=000040010025>>n_alto=sum(u.*empleados)n_alto=525>>n_bajo=n_empleadosn_alton_bajo=8000>>salario_medio=sum(empleados.*salario)/n_empleadossalario_medio=1.7038e+004
5.3.Crearunscriptquerealicelasiguientetarea:cuandoseproporcionaunamedidadelongitudexpresadaenmm,cm,dm,m,kmseobtienelarespuestadedichamedidaconvertidaam(metros).Porejemplo,medida=50yunidad='cm'aparece0.5m
ElscripteselsiguienteSolucinmedida=50unidad='cm'switch(unidad)case{'km','kilmetro'}y=1000*medidacase{'m','metro'}y=medidacase{'dm','decmetro'}y=medida/10case{'cm','centmetro'}y=medida/100case{'mm','milmetro'}y=medida/1000otherwisedisp(['Unidaddesconocida:',unidad])enddisp([num2str(y),'m'])
5.4.Elrecibodelaelectricidaddelosresidentesenunadeterminadaciudadsecalculadelsiguinetemodo:1. Siseconsumen500Kwhomenoselcosteesde2cntimosporKwh2. Siseconsumenmsde500Kwhyperonomsde1000elcostees10eurosporlosprimeros500Kwhy5cntimosporKwhparaelconsumoqueexcedalos500Kwh3. Siseconsumenmsde1000Kwhelcostees35eurosporlosprimeros1000Kwhy10cntimosporKwhparaelconsumoqueexcedalos1000Kwh4. Lacompaaelctricaincluyeungastofijode5euros,independientedelconsumo.Laslecturasdelcontadordeelectricidaddecincofamiliashasidoelsiguiente:200,500,700,1000,1500Kwh,respectivamente.Mostrarlosresultadosdelclculoendoscolumnas,unadelcosumoylaotradelcostedelaelectricidadconsumida.20095001570025100040150090
Solucinconsumo=[200,500,700,1000,1500]coste=5+10*(consumo>500)+25*(consumo>1000)coste=coste+0.02*(consumo500&consumo1000).*(consumo1000)disp([consumo',coste'])
5.5.Escribirunafuncinqueconviertalascoordendasrectangularesxeyapolaresr,.>>[r,ang]=r_polar(sqrt(3),1)r=2.0000ang=0.5236>>[r,ang]=r_polar(sqrt(3),1)r=2.0000ang=3.6652>>[r,ang]=r_polar(sqrt(3),1)
http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/ejercicios/basico/ejercicios_1.html
15/20
14/8/2015
EjerciciosdeMATLAB.Partebsicar=2.0000ang=5.7596
Ladefinicindelafuncinr_polaresSolucinfunction[r,ang]=r_polar(x,y)r=sqrt(x^2+y^2)ang=atan2(y,x)ifang>formatlong>>serie_sin(2,pi/6)ans=0.499674179394364>>serie_sin(5,pi/6)
http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/ejercicios/basico/ejercicios_1.html
17/20
14/8/2015
EjerciciosdeMATLAB.Partebsicaans=0.500000000020280>>sin(pi/6)ans=0.500000000000000>>formatshort
Ladefinicindelafuncinserie_sineslasiguienteSolucinRepetiresteejercicioperoconlafuncincosenoN
cos(x) =
limN
(1)n=0
2n
n
x
(2n)!
6.5.Generarunnmeroaleatorioenteroentre1y10mediantelafuncinrandi.Esteeselnmerosecretoquehayqueadivinar.Utilizarelbuclewhiledelquesesalecuandoelusuariointroducemedianteelcomandoinputelnmerocorrecto.OrientaralusuariosielnmeroquepruebaesmayoromenorqueelnmerosecretoCuleselnmerosecreto?:3EsmspequeoCuleselnmerosecreto?:2EsmspequeoCuleselnmerosecreto?:1Hasacertado
Elscripteselsiguiente:Solucin6.6.Ordenarunalistadenmeros
Paraordenarunalistadenmerosemplearemoselmtododelaburbuja,unmtodotansimplecomopocoeficaz.Secomparaelprimerelemento,ndice0,contodoslosdemselementosdelalista,sielprimerelementoesmayorqueelelementoj,seintercambiansusvalores,siguiendoelprocedimientoexplicadoenlafigura.Secontinuaesteprocedimientocontodosloselementosdelarraymenoselltimo.Lafiguraexplicadeformagrficaesteprocedimiento.CrearunafuncindenominadaordenarquedevuelvaunvectorordenadoenordenascendentecuandoselepasaunvectordedatosdesordenadoLlamamosalafuncinordenarylepasamoselvectordedatosdesordenados:1.651.821.721.751.731.851.901.741.761.77>>ordenar([1.651.821.721.751.731.851.901.741.761.77])ans=1.65001.72001.73001.74001.75001.76001.77001.82001.85001.9000
LadefinicindelafuncinordenaresSolucinMATLABdisponedeunafuncindenominadasortquerealizalamismatarea>>sort([1.651.821.721.751.731.851.901.741.761.77])
Enelcasodetablasbidimensionalesomultidimensionales,podemoselaborarnuestrapropiaversindelafuncinordenar,peroMATLABdisponedelafuncinsortrowsquerealizaestatarea.Porejemplo,queremosodenarlasiguientetablaprimeropordasydespusportemperaturasDa15
Temperatura21
http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/ejercicios/basico/ejercicios_1.html
18/20
14/8/2015
EjerciciosdeMATLAB.Partebsica
317218
32151935
>>a=[152133217152119835]a=152133217152119835>>sort(a,1)ans=315819152117322135>>sortrows(a,1)ans=332835152117152119>>sortrows(a,2)ans=171521191521332835
Fijarseenlaimportantediferenciaentrelosresultadosdelasllamadasasort(a,1)ysortrows(a,1)6.7.LosprimerospolinomiosdeLegendreylafrmuladerecurrenciason,respectivamenteP 0 (x) = 1P 1 (x) = xP 2 (x) =P 3 (x) =P 4 (x) =P 5 (x) =P 6 (x) =
12121818
2
(3x
1)
3
(5x
3x)4
(35x
5
(63x
116
2
30x
3
70x6
(231x
+ 3)+ 15x)4
315x
2
+ 105x
5)
...(n + 1)P n+1 = (2n + 1)xP n nP n1
Defineunafuncinrecursivalegendre(n,x)pararepresentargrficamenteloscincoprimerospolinomiosdeLegendrepara1x1.Utilizarlafuncinplotpararepresentarcadaunodelospolinomiosconlasiguientesopcionesplot(x,y,color(n),'displayName',num2str(n))....legend('DynamicLegend','location','Best')Definirunvectordecincocolores,color(n)eselelementondedichovector.Losotrosdosparmetrosnospermitenidentificarcadaunadelascurvasmedianteelcomandolegend.
http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/ejercicios/basico/ejercicios_1.html
19/20
14/8/2015
EjerciciosdeMATLAB.Partebsica
Solucinfunctionres=legendre(n,x)ifn==0res=1elseifn==1res=xelseres=((2*(n1)+1)*x*legendre(n1,x)(n1)*legendre(n2,x))/nendend
ElscriptpararepresentarlospolinomiosdeLegendrex=1:0.05:1y=zeros(length(x),1)color=['b''g''r''m''k']holdonforn=1:5fori=1:length(x)y(i)=legendre(n,x(i))endplot(x,y,color(n),'displayName',num2str(n))endtitle('PolinomiosdeLegendre')xlabel('x')ylabel('y')legend('DynamicLegend','location','Best')gridonholdoff
EnergasRenovablesEUITIdeEibar
http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/ejercicios/basico/ejercicios_1.html
20/20
Recommended