Sie sind auf Seite 1von 25
118 Anexo 1 Distribucién del estadistico de Kolmogorov-Smirnov » | a=02 | a=o1 | @=005 | @ 1 [090 [09s [098 [099 o«s | 078 | oss | 093 3 [ose | oo: [on 083 4 [oa | oss | 062 | 073 s_|oas | osi_ | 056 | 057 6 [oa | oa [052 | 002 7 [oss | os | oso | oss s_[ 030 | oa | o4o | ose 9 | 034 | o39 | 043 | ost wo | 032 | 037 | oat a9 u [om [03s | 030 | 047 2 | 030 | 034 | 03s | os 3 | ozs | 032 | 036 | 043 4 | 027 | 031 | 03s | 042 is_| 027 | 030 | 034 | 040 1s | 026 | 030 | 033 | 039 w | ozs | 029 | 032 | 038 is_| o24 | 028 | 031 037 19 | 024 | 027 | 030 | 036 20 | 023 | 02s | 020 | oss 25 | oat 026 | 032 30 | ois [oz | 024 [029 3s | ois [ot | 023 | 027 4o | 017 | ow | om 025 as {oie [| ore | 020 | 024 pas [07/5 [822 | 1367 — | 6a Anexo2 119 Tabla de distribucién Chi-Cuadrado n| a=02 | a=01 | a=0,05 | a=001 1 | 1eaoa | 27055 | a.sais | 66349 2 | 32189 | 4.6052 | 5.9015 | 92104 3 | aoaio | o2si4 | 7.8147 | 113449 4 | soss6 | 7.6704 | 9.4877 | 13.2767 5 | 72803 | 9.2363 | 11.0705 | 15.0863 6 | sssei_[ 10.6146 | 12,5016 | 16.8119 7_| 98032 | 12,017 | 140671 | 18.4753, 8 | 11.0301 | 13.3616 | 15.5073 | 20,0902 9 | 12.2001 [14.6837 | 16919 | 21.666 wo | 13.442 | 15,0852 | 18,307 | 23,2003 1 | raat | 17275 | 19.6752 | 24.725 12 | 15.812 | 18.s493 | 21,0261 | 26.217 13 | 16,9848 | 19,8119 | 22.362 14 | 18,1508 | 21,0641 | 23.6848 | 20,1412 15 | 19,3107 | 22.3071 | 24.9958 | 30.578, 16 | 20.4651 | 23.5418 | 26.2962 | 31,9999 17 | 21,6146 | 24.769 | 27.5871 | 33,4087 1s | 22,7505 | 25,9804 | 28,9503 | 34,8052 19 | 23,9004 | 27.2036 | 30.1435 | 36,1908 20 [25,0375 | 28.412 | 31.3404 | 37.5003 21 | 261711 32,6706 | 38,9322 22 [97.3015 33,9245 | 40,2404 23 | 28.4288 35.1725 | 41,6383 24 [ 29,5533 30415 | 42,9798 25 | 30,6752 | 34. 37,6525 | 44.314 26 | 31,7146 | 35.5632 | se.ssi | 45.0416 27 [32.0117 | 36.7412 | 40.1133 | 46908 28 | 34,0260 | 37,9159 | 40.3372 | 48,2782 29 [35,1394 | 39,0875 | 42,5509 | 49.5978 120 Anexo 3 Forma en que deben estar los datos para su anélisis mediante el software desarrollado m4 mz m3 ms Ms me my Ms w]e [sfoliafalulr[— my 10 M0 En la primera columna se ubican el orden de los datos, los cuales van desde 1 hasta n coincidiendo con el total de datos registrados, En la segunda columna se ubican los datos registrados para su andlisis, estos van desde m; a m, coincidiendo con la cantidad de filas de la columna 1. Cabe indicar que el orden de los datos de la columna 2 no interesa, ya que el programa se encarga de ordenarlos automaticamente. Este mismo ordenamiento aplica a la tabla de potencias del acrogenerador. 121. Anexo 4 El texto en color verde corresponde a comentarios y no tiene ninguna influencia en el funcionamiento del cédigo. Cédigo de programacién interfaz andlisis de fallas y confiabilidad function varargout = programaweibull (varargin) % PROGRAMANEIBULL MATLAB code for progzaaweibull. fig 3 PROGRANAWEIBULL, by itself, creates a new PROGRANAWETBULL oz raises the existing s singlecon*. 5 5 H = PROGRANAWEIBULL recurns the handle to 2 new PROGRAMAMEIBULL or the handle to . the existing singleton*. 5 PROGRAMANETBULL (‘ CALLBACK", hObject, eventDava,handles, ...) calls the local 5 function named CALLBACK in PROGRAMANETBULL.M with the given input arguments. 8 PROGRANAWETBULL(‘Property', 'Value',...) creates 2 new PROGRAMANETBULL or raises the 5 existing singleton*. Starving from the left, property value pairs are 5 applied to the GUI before programaweibull_Opening¥en gets called. an % unrecegnized property name or invalid value makes property application 8 stop. All inputs are passed to programaweibull_OpeningFen via vararg : ‘See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one 8 instance to run (singleton) 8 8 See also: GUIDE, GUIDATA, GUIHANDLES Bal 1 above xt to modify the response to help programaweibull Lai Modified by GUIDE v2.5 02-Nov-2013 17:01:09 % Begin initialization code - Do NoT EDIT. gui_Singleton = 1; gui_State = struct (‘gui_Wane', filename, ‘gui_Singleton', gui_Singleton, ‘gui_Openingfcn', @programaweibull_OpeningFen, ‘guioutpucfen', @programaweibull_outputFen, ‘quiltayourFen', [] ‘guicallback',’ [])}? if margin && ischar(varargin(1}) gui_Stace.gui_Callbacs = str2func(varargin(1}); 122 end Lf nargout [varargout(1:nargout}] = gui_mainfen(gui_state, varargin(:})¢ else gui_mainfen (gui_s end End initialization code - Do No? EDIT 1) varargin{:})> SMend desplegable tipo de datos function interfaces Callback (hObject, eventdata, handles) valor _interfaces=get (handles. interfaces, 'Valus'); swizch valor_interfaces case 2 clear all; close allele; Vientos; ends SRotén abrir function botonabrir Callback (hObject, eventdata, handles) Sbuscar y cargar archivo con los datos [BileName Path]~uigetfile({'*.x1sx'},'Abrir Documenzo'); Sguarda datos para usarlos en otras funciones handles.archivo = xlsread(fullfile(Path, FileName) ); guidata (hObject, handles); SMeni desplegable Nivel Sensibilidad function ns Callback (hObject, eventdata, handles) valoz a handles.ns, ‘Value') Wivel= swizch valor_ns; case 1 ns=0.05 Nivel=as; handles. nivel=Nivel; guidata (hObject, handles) ; 123 case 2 ns = 0.01; Mivel=ns; handles.nivel=Nivel; guidata (hObject, handles); case 3 ns=0.05; Mive handles. nivel=Nivel; guidata (hObject,handles) ; case 4 ns=0.1; Nivel-ns; handles.nivel-Nivel; guidata (hObject, handles) ; SBoton Calcular parametros function calcula Callback(hObject, eventdata, handles) NUMERIC*handles archivo; size (NUMERIC, 1); x = (NUMERTC(1,1))¢ Ks = zeros(i,1)7 xxl; while xx <= i, y = (NUMERIC (xx, 2)) 5 Ks(xx,L)= ys KS = sort ({Ks(:))); 30rdena de menor = mayor xx = xx + ly end SParémetros por Maxima Verosimilitud 124 parmhat = wolfic (ks); AlfaMV = parmhat (1,1); $parémetro cta BetaMV = parmbat (1,2); tpardmesro beva [M,V] = wblstat(Alfamy, Bezaty) ; AlfaMy; Betanv ; M; 8 Media Vi $Varianza alfaa-alfamy betaa=Betanv handles.alfaasal faa; guidata (hObject, handles); handles betaa-betaa; guidata (hObject, handles); handles. Ks=K3; guidata (hObject, handles); set (handles.alfa, 'String',AlfaMv); set (handles.beta, ‘String’, BetaMv) 7 set (handles.media, 'String',M); set (handles. varianza, 'Scring',W)s scAlcules para graficas KS = sort ((Ks(:))); %Ordena de menor a mayor n=; FW-zeros (i, 1)+ FCUM=zeros (i, 1) PIWEXP=zeros (i, 1) FCUMEXP=zeros (1,1) KS; handles. KS=kaese; guidata (hObject, handles); while newi, = = (KS (nD) 5 Few = ((B > (BetaMv-1))) /(AlfaMv*BetaMy))* (exp (-_(¢/Al fav) * (Betamyy )) 5 FTW (n,1) Foun © (1 - (exp(-(t/ALfaMv)* (BecaMv)))); FCUM(n,1) = Feum; Conf = (exp (~(z/Al£aMv) * (BetaMv))) CONF (n,1) = Conf; n= ntl; end ed =F CUM; handles, FCUM=ca, guidata (hObject, handles); 125 confiabilidad-conr handles. CONE=confiabilidad; (hobject, handles) ; Linspace (0,max (KS) , 100) (st) (Betanv/alfaky) * ((ct/ALfamv) .* (BetaMv-1) ).texp (- (=t/Alfamv) ."Bezaky) ¢ axes (handles.graf); cla rescts xomin (KS) :0.1:max (KS) ; £ = whlpdt (x, ALfakv, BetaMv) ; LOE (4) £, "213 plot (et, £2 (zt), "©") hold off set(handles.graf, ‘xgrid', ‘on', 'ygrid'y ton")s 8 % Pruebas bondad de ajus Seratamiento de datos Numericl = handles.archivos Numeric? = sort (Numericl) ; Datosfrecszeros(n2,2); Datosfrec (n2,1) = n2z if iiia—-1, Datosfrec (n2,2) = Numeric? (iii2,2)+ LLi2eiii241; ng=n2+L; Datosfrec (n2,1) = n2z ends while idi2cii2, if Numeric? (iii2,2) else Datesfrec (n2,2) Datosfree (n2,1) nd=n2+1; ends AA2444241; ends Numeric? (iii2-1,2); Numeric? (4142,2)¢ 2s Datosfrecl=Datosfree (1,2); pd = fitdist (Datosfrecl, 'Welbull'); 126 & segin nivel de sensibilidad seleccionado Mivel=handles. nivel; Le Nivel==0.2, Ns=0.2, ends ends ends ends ends SKolmogorov-smirnoy kolmogorov = kstest (Datosfrecl, 'CDF',pd, "Alpha! ,NS) if kelmogorov=-0, "La Hipétesis se acepta! else ‘La Hipétesis se rechazat ends set (handles.hipol, 'String',ans) ; % Chi-cuadrado chicuadradoo = chi2gof (Datosfrecl, 'CDP", pd, ‘Alpha, NS) Lf chicuadradoo=: "La Hipétesis se aceptat else ‘La Hipdtesis se rechaza’ ends set (handles.hipo2, 'String',ans) ; ends 127 ‘Recuadro calculus Sopeiones function wipanel9_SelectionChangefen (hObject, eventdata, handles) handles. conf. guidata (hObject, handles); elseif hObject == handles.probf op=27 handles. op-op; guidata (hObject, handles); elseif hObject -> handles. tiempe guidata (hObject, handles); elseif hObject == handles. tiempf op=47 handles. op-op; guidata (hObject, handles); elseif hObject == handles.tasa op: handles. op=op; guidata (hObject, handles); elseif hObject == handles.mcbf op=67 handles. ep=op; guidata (hObject, handles); ends Shovén calcular del recuadro function calcules Callback (h0pject, handles) opcion= handles. op; AlfaMvshandles.alfaa BetanV=handles.betaa; if opcion==1, get (handles .dato, ‘5 nun = scr2double (ge Conf = (exp(-(t/AlfaMv) * (BetaMv) )) ; set (handles. resultade, 'String', Conf); ing") + handles dato, 'String')); 128 fhandles.date, 'String')); (1 = (exp (= (2/Alfamy) * (Beran) )) + set (handles. resultado, 'String', Foun) get (handles.dato, 'String'); nun = scr2double (get (handles.daco, 'String')); Conf-num; t=AL£aMV* ( (Log (Conf) )*(1/BetaMv)) set (handles. resultado, 'String', £)7 ends get (handles .dato, 'Scing') ‘2double (get (handles.dato, 'String'))+ Foum-numy EeALEaMV* ((-Log (1-Feum) )*(1/BetaMv)) set (handles. resultado, 'String', ends Stasa de fallas if opcion==5, get (handles .dato, 'String'); handles.dato, 'String')); (Betamv-1))) /(AlfaMv*BetaMv) )* (exp (- (c/AL £alv) * (BetaMv} ))) / (exp (= (t/AlfaMv) * (BetaMy) )) + set (handles.resulzado, 'String',h)s end LEAMV* (gamma (1+ (1/BetaMv)))3 set (handles. resultado, 'String', MTBF) ends Ament desplegable graficas function graficos Callback (hObject, eventae valor grafico handles.graficos, 'Valuc'); handles) jandLes.KS; FCUM*handles.. FCUM CONF=handles..CONF; 129 switch valor_graficos case 1 c inspace (0,max (KS) ,100) ¢ £2=@ (xt) (BetaMv/AlfaMv) * ( (t/Al£aMv) .* (BetaMV-1)) . *exp (> (st/Alfamy) .*BecaMy) ; ‘Grafica PDF axes (handles.graf); cla reset; xemin (KS) :0.L:max (KS) ; £ = wolpdf (x,AlfaMV, Betamv) ; hold on plot (x, feeds plot (st, £2 (tt), '=") hold off set(handles.graf, ‘xgrid', ‘on', 'ygria', ton); case 2 SGrafica CDF axes (handles.graf) cla reset; hold on xomin (KS) :L:max (KS) 5 £ = whledf (x,AlfaMV,Betamv); ?1inea ee 7 plot (KS, FCUM,'x') 7 Spuntos hold off set(handles.graf, ‘xgrid', ‘on', 'ygrid', ‘on')s case 3 Grafica confiabilidad axes (handles.graf) cla reset; hold on plot (min (KS) : 1:max (KS) ,1- cdf (‘whl min (KS) :1:max (KS) ,AlfaMV, BetaMV)}; SLinea plot (KS, CONE, 'x'); | Spuntes hold off set (handles.graf, ‘xgrid', ont, tygrid', ton')s case 4 SGrafica tasa de fallas he (pdf. /CONF) axes (handles.gzaf) cla reset; hold on plot (KS,h) hold off set(handles.graf, ‘xgrid', ‘on', 'ygrid', ‘on')s 130 ‘Cédigo de programacién interfaz andl function varargout = Vientos (varargin) % VIENTOS MATLAB code for Vientos.fig * VIENTOS, by itself, creates a new VIENTOS or raises the existing 8 singleton*. 8 5 HH = VIENTOS returns the handle to a new VIENTOS or the handle to. : the existing singleton*. % 8 VIENTOS (‘ CALLBACK’, hObject, eventData,handles,...) calls the local 5 function named CALLBACK in VIENTOS.M with the given input arguments. % VIENTOS("Property', 'Value',...) creates a new VIENTOS or raises the 8 existing singleton*. Starting from the left, property value pairs are % applied to the GUI before Vientos OpeningFen gets called. an * unrecognized property name cr invalid value makes property applicazion 8 stop. All inputs are passed to Vientos_OpeningFen via varargin. “See GUI Options on GUIDE's Tools menu. Choose "GUI allows nly one instance to run (singleton)". See also: GUIDE, GUIDATA, GUIHANDLES 8 Edi 1@ above xt to modify the response to help Vientos Last Modified by GUIDE v2.5 03-Nov-2013 23:24:43 % Begin initialization code - Do NoT EDIT. gui_Singleton = 1; gui_State = struct (‘gui Wane", mfilename, ‘gui Singleton‘, gui_Singleton, ‘gui_openingFcn', @Vientos_OpeningFen, ‘gui_outputFen', @Vientos_outputFen, tguiltayoutFen', [] + ‘quiCallbace',’ (1)+ if nargin && ischar(varargin(1}) gui_Stace.gui_Callback = str2func(varargin(1}) + end if nargout [varargout(1:nargout}] = gui_mainfen(gui_state, varargin(:})+ else gui_mainfen(gui_s 131 end % End initialization code - Do NOT EDIT % --- Executes just before Vientos is made visible. function Vientos_OpeningFen (hObject, eventdata, handles, varargin) % This function fas no output args, see OutpucFen. hObject handle to figure eventdata reserved - to be defined in a future version of MATLAB handles structure with handles and user data (see GUIDATA) varargin command line arguments to Vientos (see VARARGIN) % Choose default command line cutpur for Vienzes handles.cutput = hObjec & Update handles structure guidata (hObject, handles); % UINAIT makes Vientos wait for user response (see UIRESUMZ) % uiwaiz (handles. figurel); § --- outpucs from chis function are returned to the command line. function varargout = Vientos_Outputfen (hObject, eventdata, handles) S varargout cell array for Feturning output args (see VARARGOUT); 8 hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB S handles structure with handles and user data (see GULDATA) % Get default command line output from handles structure varargout(1) = handles.output; 3 --- Executes during object cre: function popupmenul_CreateFen (hObject, eve % hObject handle to popupmenul (see GCBO) S eventdata reserved - to be defined in a fu: on, after setting all properties. lata, handles) re version of MATLAB S handles empty - handles not created until after all Createfcns called § Hint: popupmenu controls usually have a white background on Windows. 8 See ISPC and COMPUTER if ispe && isequal (get (hObject, 'BackgroundColoz'), get (0, 'defaulVicon=rolBackgroundColor')) set (hObject, "BackgroundColor", 'white'); end 8 8 Smeni desplegable tipo de datos function interfaces Callback (hObject, eventdata, handles} valor_interfaces=get (handles. interfaces, 'Valus'); swisch valor interfaces case 2 clear all; close =ll;cle; programaweibull; end; 132 Sbotén abrir function pushbutton3_Callback (hObject, eventdata, handles) [FileName Path]=vigetfile(('*.x1sx'},'Abrir documento"); Sbu gar archivo con los dazos handles.archivo = xlsread(fullfile(Path, FileName)); Syuarda datos para usarlos en otras funciones guidata (hObject, handles) meng desplegable nivel sensibilidad function ns Callback(hObject, eventdata, handles) valoz a fhandles.ns, ‘Value') Nive: switch valor_ns; case 1 ns=0.05 Nivel=ns; handles. nivel=Nivel; guidata (hObject, handles); case 2 ns = 0.01; Nivel=ns; handles.nivel-Nivel; guidata (hObject, handles); case 3 ns=0.05; Nivel=ns; handles. nivel=Nivel; guidata (hObject, handles); case 4 ns=0.1; Nivel=as; handles.nivel=Nivel; guidata (hObject, handles); case 5 ns-0.2; Nivel=as; handles.nivel=Nivel; guidata (hObjec:, handles); 133 function calcula Callback (hObject, eventdata, handles) NUMFRTC+handles.archivos NS=4; i = size (NUMERIC, 1); x = (NUMERIC (1,1) 5 zeros (i,1)s yy: handles. isyy? guidata (hObject, handles); while xx <= 4, y = (NUMERIC (xx, 2))5 Ks (xx,1)= ys KS = Sort({Ks(:)))# 4Ordena de menor = mayor xx = xx +1; end SParémetros por Maxima Verosimilitud parmhat = welfiz (Ks); Alfamy Betany [M,V]_ = wolstat (AlfaMv, Bex: AlfaMV § Parémezro con’ MV BetaMV $ Parametro M; & Media Ve Sarianza owed mediaa=M; handles. Menediaa; (hopject, handles) ; handles.alfaa=alfaa; guidata (hObject, handles); betaa=Betamy, handles. betaasbetaa; guidata (hObject, handles); handles. Ks=Ks? guidata (hObject, handles); set (handles. alfa, ‘String! Al£aMv); set (handles beta, 'Scring!, Besa) 7 set (handles.media, 'String',M)z 134 set (handles .varianza, 'Scring’,Wt KS = sort ((ks ai FIW=zeros (i, 1); FcuM=zeros (i, 1)7 PIWEX=zeros (i, 1); ECUMEXP=zeros (i, 1) ))e #Ordena de menor a mayor kaese-KS; handles. KS~xaese, guidata (hObject, handles); while n<=i, t= (KS(n,1)); = ((BetaMv* (t* (BetaMV-1) )) / (A1faMV*BetaMv) } * (exp (~ ‘ALfaMV) * (BetaMV))) PIW(n,1)=Btw; Foun = (1 = (exp(- FCUuM(n,1) = Feum Conf = (exp(-(t/AlfaMv) * (BetaMV) )) 7 CONF (n,1) = Conf; n= ntl: end ‘AL faMV)* (BetaMv)))) ed =FCUM; handles. FCUM=cdf; guidata (hObject, handles); confiabilidad-ConF; handles. CONE=confiabilidad; (hobject, handles) ; guia SGrafica PDF © histograma 0. 5:1:max (KS) ; ff-bist (KS, ctc)7 heff / sum(ff); Linspace (0,max (KS) ,100) (ct) (BetaMv/Al fam) * ( (2t/AL£aMV) .* (BetaMv-1)) . texp (- (ct/ALfamy) .*Betaky) ¢ Scrafica PDF axes (handles.graf) ; cla reset; \in (KS) :0.1:max (KS) ; wblpa (x, AL£aMV, BetaMly) + £ bar(tet,h); hold on 135 PZ (cE), EG hold off set(handles.graf, ‘xgrid', ‘on', tygrid', ton"); % sBuebas de Bondad Numericl = handles.archivo; Numeric? = sort (Numericl); ii2 = size (Numericl,1); n2=1; Datosfrec-zeros (n2, 2); Datosfree (n2,1) = n2; ie idi2—-1, Datosfrec (n2,2) = Numeric? (iii2,2)¢ BAA24442415 n2=n241; Datosfree (n2,1) = n2z ends while L1i2z<-ii2, if Numeric2 (4142/2) else Datosfrec (n2,2) = Numeric? (iii2,2)¢ Datosfree (n2,1) = n2; ng=n2+1; end: ALi2-11i241; ends Numeric? (1442-1,2)5 Datosfrecl=Datosfrec(t,2); pd = fitdist (Datosfrecl, ‘Weibull'); & segin seleccion nivel de sensibilidad Mivel=handles.nivel; if Nivel--0.01, NS#0.01; else Kolmogorov-smirnoy 136 kolmegorev = kstest (Datosfrecl, 'Cb¥', pd, if kolmogorov=-0, ‘La Hipétesis se else "La Hipétesis se rechazat ends set (handles.hipol, 'String',ans) ; % Chi-cuad chicuadradoo = chi2gof (Datosfrecl, if chicuadradoo--0, "La Hipétesis se aceptat else ‘La Hipétesis se rechazat end set (handles.hipo2, 'String',ans) ; end Srecuadro célculos Sopciones *alpha', NS) "CDF" pd, ‘Alpha’ ,NS) function uipanel9_SelectionChangeFen (hObject, eventdata, if hobjec op=ly handles. op=op; guidata (hObject, handles); elseif hObject == handles.probf op=2: handles. cont : ww aivev) handles) 137 handles. op=op; guidata (hObject, handles); elseif hobject == handles.tasa ¢(potencia media dispenible) op=3; handles. op-op; guidata (hObject, handles); end: Sbotén caleular function caleulos Callback (hObject, epeion= handles. op, AlfaMV-handles.alfaa; BetaMV-handles bi KS-handles-KS; wean (KS) handles) Lf opeion==1, get (handles. dato, ' nun ‘2double (ge: tenum; Conf = (exp(-(t/A1faMv) * (BetaMV) )) 7 set (handles. resultado, 'String', Conf) ¢ handles dato, 'String')); get (handles.dato, ' pun ‘2double (get (nandles.dato, 'String'))+ tenums Boum = (1 - (exp (~(z/AlfaMv) *(BetaMv)))); set (handles. resultado, 'String', Feum) ; potenciam=0,5*1.225*M*3*ganma (143/BetaMv) / (gamma (1+1/BetaMv) *3) set (handles. resultado, 'String', potenciam) ; end: SCAlculo potencia aerogenerador Sbotén cargar datos generador functien pushbutton6 Callback (hObject, eventdata, handles) (FileName Path]=vigetfile(('*.xlsx'},'Abrir Docunenco'); handles.datosgenerador = xlsread(fullfile(Path, FileName)); guidata (hObject, handles); Sbotén calcular function pushbutton? Callback (hObject, eventdata, handles) 138 i = size (potencia, 1); (porencia (1,1))5 Ks = zeros(i,1)7 axeL, y= (Dy Rs (xx, 1)= ys KS = sort ({Ks(:)))# ¥0rdena de menor = mayor xx sxx ty ax (KS) ¢ get (handles.v0, 'String'); v0 = str2double (get (handles.v0, get (handles.vr,'Scring'); vr = str2double (get (handles. vr, get (handles.v1, 'Sczing'); v1 = str2double (get (handles.v1, xemin (KS) :0.5:x1; poteKS (x>=x0 6 xcexE) axes (handles.gzaf) ; cla reset; hold on 0:0.5:xr7 plot (x, pot, "ro", 'markersize',2,'markerfacecolor','r')+ axis ([0 15 -10 1550]); grid on olyfit (x,pot',3); Sajuste a un polinomic de tercer grado olyval (b,x) PLOe (xy YPy<)7 hold off Scdloulo de 1a potencia media aerogenerador (x) (BetaMV/AL£aMV) * ( (x/AL£aMV) .* (BetaMV-1)) . *exp (~ (x/ALfaMV) .*BetaMV); $funcién de Weibull (x) £(x) *polyval (px); power=quad (h, x0, xr) +Pr*quad(£, xr, x1) 7 set (nandles.potenciag, 'String', power); 139 mend desplegable graficas function graficos Callback (hObject, eventdata, handles) valor_grafice: fhandles.graficos, Value"); AlfaMV-handles alfa; BetaMV=handles hetaa; KS-handles.KS; FCUM=handles.PCUM; nad; Pezeros(i,1); c-Linspace (0, max (KS) ,100) rt) (BetaMv/AL£aMy) *( (ct/Al£amv) .*Betakly) ¢ rt/AlfaMV) .* (BetaMV-1)) . *exp(- switch valer_graficos case 1 SGrafica PDF treLinspace (0,max (KS) , 100) ¢ £2-8(ct) (BetaMV/ALfaMV) * ( (zt /Al£aMV) .* (BetaMV-1)) .* exp (-(tt/ALfaMV) .“BetaMv) : axes (handles.graf); cla reset; xemin (KS) :0.1:max (KS) f= wolpdt (x, AlfaMy, BetaMv) 5 hold on ploz (x), "247 plot (st, £2 (tt), "2") hold off set (handles.graf, ‘xgrid', ont, tygrid', ton')s case 2 Grafica CDF axes (handles.graf) cla reset; hold on xemin (KS) :1smax (KS) £ = whledf (x, ALfaMv,BetaMV); Lines plot (x, £); plot (KS, FCUM,'x'); — Spuntos hold off set (handles.graf, ‘xgrid', ‘on', 'ygrid', ton')s case 3 SGrafica CDF complemetaria axes (handles.gra£) ela reset; hold on plot (min (Ks) edt (‘wb min (KS: pmax (KS), 1- max (KS) ,AlfaMV, BetaMv)}; SLinea end: 140 plot (KS, CONF, 'x'); Spuntos hold off set(handles.graf, ‘xgrid', ‘on', tygria', ton')s 4 cla reset; potencia=cp; velocidad x, potencia, 'b') ylim({710 1550]) xlabel (‘velocidad") ylabel (‘potencia") grid on hold off 141 Anexo 5 Tabla y curva de potencia aerogenerador Acciona AW 70-1500 Class | entregadas por el fabricante. Wind Speed m/s_] Power Output kw 0 0 Os 0 T 0 15 0 2 0 25 0 3 0 35 10 4 8 43 8 3 119 35 167 6 220 65 284 7 358, 75 a2, 8 538 85 3 9 77 95 836 10 942, 10.5 1,061.00 TT 1,163.00 ns 1272.00 2 1,358.00 125 1,419.00 1,461.00 1489.00 1,500.00 145 1,500.00 iB 1,500.00 155 1,500.00 16 1,500.00 165 1,500.00 7 1,500.00 142 175 1,500.00 18 1,500.00 18.5) 1,500.00 19 1,500.00 19.5 1,500.00 20 1,500.00 20.5 1,500.00 21 1,500.00 215 1,500.00 22, 1,500.00 22.5 1,500.00 23 1,500.00 235 1,500.00 1,500.00 1,500.00 24.99 1,500.00 Acciona AW 70-1500 Class |

Das könnte Ihnen auch gefallen