Você está na página 1de 123

AnaIsabelCoelhoBorges

InterfaceComparaodeCurvasdeCrescimento:
AplicaoInformticaparaoauxlonacomparaodeCurvasde
Crescimentodepopulaesdepeixes

DepartamentodeMatemticaPura
FaculadedeCinciasdaUniversidadedoPorto
2008

AnaIsabelCoelhoBorges

InterfaceComparaodeCurvasdeCrescimento:
AplicaoInformticaparaoauxlonacomparaodeCurvasde
Crescimentodepopulaesdepeixes

DissertaosubmetidaFaculdadedeCinciasdaUniversidadedoPorto
paraobtenodograudeMestreemEnsinodaMatemtica,soba
orientaodaDoutoraMariaCarvalhoedoDoutorPauloSantos.

DepartamentodeMatemticaPura
FaculadedeCinciasdaUniversidadedoPorto
2008
1

NDICE

ndicedeFiguras

ndicedeTabelas

1.Introduo

2.EnquadramentoTerico

2.1ModelosMatemticosdeCurvasdeCrescimentoComprimentoIdadedePeixes
ePrincipaisDiferenas

2.1.1.ModelodeVonBertalanffy

2.1.2.ModeloLogstico

11

2.1.3.ModelodeGompertz

13

2.2. MtododosMnimosQuadradosNoLinearcomomtododeajustede
dadosidadecrescimentoaosmodelosdecrescimento

17

2.3. ComparaodecurvasdecrescimentoOTestedarazodeverosimilhana
deKimura(1980)

19

3.Metodologia

24

3.1.

PrimeiraparteAjusteaModelosdeCrescimento

28

3.2.

SegundaParteTestedaRazodeVerosimilhana

37

3.3.

TerceiraParteComparaoPontual

42

4.ResultadoseDiscusso

54

5.Concluso

62

6.RefernciasBibliogrficas

64

7.Anexos

65

7.1.Anexo1MacrosDesenvolvidasnaInterfaceComparaodeCurvasde
CrescimentonocampoModules.

65

7.2.Anexo2InterfaceComparaodeCurvasdeCrescimento.

116

NDICEDEFIGURAS

Figura2.1RepresentaogrficadeumacurvadecrescimentodeVonBetalanffy.

Figura2.2RepresentaogrficadeumacurvadecrescimentoLogstica.

12

Figura2.3RepresentaogrficadeumacurvadecrescimentodeGompertz.

14

Figura3.1CaixadeTextocomaIntroduodaInterface.

25

Figura3.2AspectoInicialdaInterface.

26

Figura3.1.1AspectodaprimeirapartedainterfaceAjusteaModelosdeCrescimento.

27

Figura3.1.2CaixadeTextorelativaaobotodeAjudadareaModeloaAjustar.

28

Figura3.1.3CaixadeTextorelativaaobotodeAjudadareaValoresIniciaisdos
Parmetros.

28

Figura3.1.4CaixadeTextorelativaaobotodeAjudadareaResultados.

32

Figura3.1.5Aspectodajanelacomogrficodacurvaajustadaerespectivosdados
introduzidospeloUtilizador.

33

Figura3.1.6readeTransfernciadeResultados.

34

Figura3.1.7CaixadeTextorelativaaobotodeAjudadareaTransfernciade
Resultados.

35

Figura3.2.1AspectodasegundapartedainterfaceTestedeVerosimilhana.

36

Figura3.2.2Aspectodajanelacomogrficodeduascurvasajustadaserespectivosdados. 37
Figura3.2.3readeresultadosdotestedaRazodeverosimilhana.

38

Figura3.2.4InformaoapresentadapelobotodeajudanareaTestedaRazode
Verosimilhana.

39

Figura3.3.1AspectodaterceirapartedainterfaceComparaoPontual.

41

Figura3.3.2PrimeirasderivadasdosmodelosdeCrescimento,emcomprimento,em
ordemat.

44

Figura3.3.3readecomparaodeTaxas.

46

Figura3.3.4readecomparaodeComprimentoemidadeteidadeemcomprimentoc.

46

Figura3.3.5AspectodaJanelacomoGrficodasDuasCurvasemComparao.

50

Figura3.3.6InformaoapresentadapelobotodeajudanareaComparao.

51

Figura3.3.7InformaoapresentadapelobotodeajudanareaComparaodeTaxas. 52

Figura4.1Resultadosdoajustedoconjuntodedadosrelativossfemeasaomodelode
VonBertalanffy.

55

Figura4.2Resultadosdoajustedoconjuntodedadosrelativosaosmachosaomodelode
VonBertalanffy.

56

Figura4.3RepresentaogrficadomodelodeVonBertalanffyajustadoaosdadosda
populaofmeaedorespectivoconjuntodedados.

56

Figura4.4RepresentaogrficadomodelodeVonBertalanffyajustadoaosdadosda
populaomachoedorespectivoconjuntodedados.

57

Figura4.5Representaogrficadasduascurvasdecrescimentoajustadasedos
respectivosconjuntosdedados.

58

Figura4.6Resultadosparaotestedarazodeverosimilhanadeambasascurvas.

59

Figura4.7Resultadosparaumacomparaopontualentreambasascurvas.

60

Figura4.8Resultadosparaumacomparaodetaxadevariaomdiaetaxaabsolutade
CrescimentoporIdadeentreambasascurvas.

61

NDICEDETABELAS

Tabela4.1Dadosestudadosrelativosaosdoisgnerosdeumaespciedepeixes.

54

1. RESUMO

O principal objectivo deste trabalho assenta na elaborao de uma Interface


amigvel que visa auxiliar o investigador marinho na comparao de duas curvas de
crescimento. No contexto de investigao marinha de crescimento em comprimento
de espcies de peixes, tornase, por vezes, necessria a comparao de curvas de
crescimentoentrepopulaesousubpopulaes.Umametodologiausualnoestudo
docrescimentocentrasenoajuste,pelomtododosmnimosquadradosnolinear,
dos dados idadecomprimento observados a modelos matemticos de crescimento,
(facilitadoassimadescriodocrescimentoedadinmicadaspopulaesemestudo),
eposteriorcomparaoestatsticasobreosparmetrosestimados.
A Interface, intitulada Comparao de Curvas de Crescimento, tratase de uma
aplicao em Excel elaborada na liguagem deprogramao Visual Basic Applications,
constituda por trs partes: Uma primeira parte, denominada Ajuste a Modelos de
Crescimento,quepermiteaoutilizadoroajustedosseusdadosIdadeComprimento,
aumdostrsmodelosdecrescimentoVonBertalanffy,LogsticoouGompertz;uma
segundapartedesignadaTestedeVerosimilhanaondeoutilizadorpoderealizaro
teste estatstico da razo de verosimilhana sobre os parmetros de duas curvas de
crescimentodistintas,quesigamummesmomodelodecrescimento,podendointuir
sobreasemelhanadestes;eumaterceirapartedenominadaComparaoPontual
quepermiteaoutilizadorcompararpontualmente(emtermosdecomprimentomdio
numa determinada idade ou idade para um determinado comprimento mdio, taxas
devariaomdiasemdeterminadosintervalosdetempoetaxasabsolutaserelativas
de crescimento num determinado intervalo) dois conjuntos de dados comprimento
idadequesigammodelosiguaisoudistintos.
O estudo apresentado sugere apontar na direco que a Interface criada,
inovadora pelo facto de implementar funcionalidades inexistentes em programas
usualmente utilizados pelos investigadores marinhos, ser um instrumento til e de
utilizao acessvel para a investigao no campo da comparao de curvas de
crescimentodeduaspopulaes.
5

2. INTRODUO

Ecologicamente, a importncia do estudo do crescimento de uma espcie de


peixes, como refere Haddon (2001), est no facto de poder permitir a percepo de
comoessaespcieinteragecomoseuambiente.
Ocrescimentodeumindivduopodeserinterpretadocomoalteraesnoseu
comprimento,larguraouatpeso.Opresenteestudovairecairsobrealteraesem
comprimento,ouseja,nadeterminaodotamanhodocorpoemfunodaidade,em
particularnocomprimentomdioemclassesdeidade.
Nocontextodeanliseecomparaodepopulaesdepeixestornase,muitas
vezes, necessria a existncia de uma expresso matemtica para o crescimento
mdio em comprimento individual do peixe, ou seja, de um modelo matemtico
descritivodocrescimentomdiodepeixes.
Dessa forma, perante a existncia de um modelo matemtico baseado em
assumpesrealistas,tornasemaissimplesexplicaroudescrevermatematicamenteo
processodecrescimentoe,tambm,aformacomoestedifereentreduaspopulaes
diferentes (onde se pode considerar como populaes diferentes duas espcies de
peixesdiferentes,amesmaespcieemlocaisdiferentesouatmesmoosdiferentes
gnerosdeumamesmaespcie).
SegundoKatsanevakis(2006)aabordagemmaiscomumnaanlisededadosde
crescimentoidade de peixes ajustar os dados a um nico modelo, usualmente o
modelodeVonBertallanfy,eestimarosparmetroseasuaprecisotendoporbase
somenteessemodelo.
No entanto, perante a existncia de outros modelos matemticos de
crescimento, concordase com a ideia defendida por Katsanevakis (2006) de que o
estudo do crescimento de peixes no se pode basear somente na escolha de um
modelo e a estimao dos parmetros para esse modelo, sem considerar outras

alternativas,massimnaescolhadevriosmodeloseposteriorinfernciaeestimao
dosparmetrosparacadamodelo.
AelaboraodaInterface,intituladaComparaodeCurvasdeCrescimento,
temcomobaseacrenaqueacomparaodecurvasdemodelosdecrescimentode
doisconjuntosdedadosdevepassarporduasfases:aescolhadomodeloquemelhor
se adequa a cada um dos conjuntos de dados em estudo de entre um conjunto de
modelos com parmetros diferentes, e, caso ambas as curvas de crescimento sigam
um mesmo modelo, a aplicao de um teste estatstico que permita estudar as
diferenasnosparmetroscasocontrriooestudodepontosbiolgicoscomotaxasde
crescimentoabsolutas,relativasoutaxasmdiasdecrescimento.
Ideia essa baseada em Quinn II e Deriso (1999) quando estes referem que
existem dois tipos de comparao quando se aplicam modelos de crescimento a
dados, um mtodo que permita escolher o melhor modelo para um determinado
conjunto de dados, de entre um conjunto de modelos que podem ter parmetros
diferentes, e um segundo mtodo, uma das maiores necessidades em investigao
populacional,queoestudodediferenasnocrescimentoentre,porexemplo,sexos
oureas.
Com o objectivo facilitar os Bilogos marinhos na comparao de curvas de
crescimento em comprimento para diferentes populaes, criouse uma Interface
Amigvelquepermiteverificaratquepontodiferemosmodelosdecrescimentode
duaspopulaes,atravsdarealizaodeumtesteestatstico,otestedarazode
verosimilhana proposto por kimura (1980) que testa as diferenas entre as
estimativas dos seus parmetros para populaes que sigam um mesmo modelo
matemtico,eaanlisedecaractersticasbiolgicascomoataxadevariaomdia,
taxasabsolutasetaxasrelativasparaduaspopulaesquesigamummesmomodelo
matemtico,oumodelosdistintos.
AInterfacepermite,tambm,queoutilizadorajusteprimeiramenteoconjunto
de dados idadecomprimento de uma populao ao modelo adequado (a adequao
do modelos tem de ser conhecida antes de se utilizar a Interface) de entre os trs
7

modelos de crescimento usualmente utilizados o modelo de Von Bertalanffy, o


modeloLogsticoeomodelodeGompertzdevolvendoosvaloresdasestimativasdos
parmetrosdomodelo,osrespectivosdesviospadroeovalordeR2ajustado.
Noentanto,necessriorealarqueaprimeirapartedainterfacenotemo
objectivo de ser um instrumento para a escolha dos modelos mais adequado ao
conjunto de dados (apesar de devolver os valores do desvio padro dos parmetros
estimados e o valor de R2Ajustado) mas sim um mero suporte para a comparao
estatstica de duas curvas de crescimento que sigam um mesmo modelo (segunda
parte da interface) ou a comparao de pontos biolgicos de curvas que sigam
modelos de crescimento diferentes (terceira parte da interface), uma vez que, para
essasduasfases,necessrioqueoutilizadorintroduzapartedosvaloresobtidosno
Outputdafasedoajustamento.
essencialqueseretenhaessaideiaumavezque,concordandoumavezmais
com o estudo de Katsanevakis (2006), para permitir a escolha do modelo mais
adequadoserianecessrioincluirumtestedebondadedoajustecomoporexemploo
CritriodeInformaodeAkaike.
A escolha de se permitir que a comparao recaia sobre modelos de
crescimento para alm do extensamente estudado modelo de crescimento de Von
Bertalanffypartiudesesentiranecessidadedenosecairnoerrodecingiraanlise
de crescimento de uma populao num s modelo de crescimento negando
possibilidadedaexistnciadeumoutromodeloquemelhorseajustariaaosdadose
cujos pressupostos biolgicos de que parte podero ser distintos entre os dois
modelos.
Estes trs modelos matemticos nolineares desenvolvidos para relacionar o
comprimentoeidadeforamescolhidosporseremfacilmenteinterpretados,umavez
que so modelos de apenas trs parmetros que, apesar de terica tm uma
interpretaobiolgica.ComoreferemQuinnIIeDeriso(1999),aescolhadomodelo
decrescimentoquemelhorseadequadeverecairtambmnaescolhadomodeloque
seajustedeumaformaaceitvelcomomenornmerodeparmetros.
8

Refirase, entretanto, a existncia de certas aplicaes informticas utilizadas


pelosinvestigadoresmarinhosnoauxilodoestudodocrescimentodepopulaesde
animais marinhos, entre elas a vastamente utilizada FISHPARM. Tratase de um
programa,paramicrocomputadores,paraaestimaodeparmetrosdemodelosno
lineares.
Como referem os criadores Prager et al (1989) o programa FISHPARM tem
como objectivo estimar os parmetros, pelo mtodo no linear dos mnimos
quadrados, de vrios modelos comuns utilizados na investigao pesqueira.
Devolvendo,nofinaldaestimaoosvaloresdeR2edeR2ajustado,semelhanada
InterfaceComparaodeCurvasdeCrescimento

3. ENQUADRAMENTOTERICO

3.1. Modelos Matemticos de Curvas de Crescimento ComprimentoIdade de


PeixesePrincipaisDiferenas

A modelao matemtica tem sido utilizada na rea de Biologia como auxlio no


estudoeinterpretaodeprocessosbiolgicos,deformaatentarentenderadinmica
depopulaesexploradas.

Os modelos matemticos de crescimento de peixes podem ser definidos como


modelos matemticos que utilizam parmetros constantes para descrever o
crescimentomdiodepeixes.

Tm sido propostos inmeros modelos para estimar o crescimento mdio dos


peixese,comorefereKatsanevakis(2006),enquantounstmumabaseemrelaes
meramenteempricasoutrostmumabasetericaesodeterminadasporequaes
diferenciaisqueligamosprocessosdeanabolismoecatabolismo.
O modelo de crescimento de peixes vastamente estudado e aplicado , como
refereumgrandenmerodeautores,omodelodecrescimentodeVonBertallanfy.No
entanto, existem outros, tambm comummente utilizados, tais como o modelo de
LogsticoeomodelodeGompertz.
3.1.1. ModelodeVonBertalanffy
OmodelodecrescimentodeVonBertalanffypartedopressupostoqueataxade
crescimento(instantnea),oincrementodotamanhoporunidadedetempo,decresce
medidaqueotamanhodopeixeaumentaequeessedecrscimolinear,ouseja,
taxadecrescimentoumafunolineardocomprimentodopeixequedecrescecom
otempo.
Poroutraspalavras,ataxadecrescimentoinstantneadopeixeproporcionalao
comprimentoquefaltaparaatingirumcomprimentomximoassimpttico(medida
10

queopeixevaiatingindoocomprimentomximoassimptticoataxadecrescimento
tendeparazero)
ComoexplicamQuinnIIeDeriso(1999)omodelomaissimplesparadescreveresse
decrscimolineardataxadecrescimento(emcomprimento)comaidade,sendoL(t)o
comprimentoetaidade,umaequaodiferenciallinearnohomogneacomdois
parmetroswek econdioinicial L(t0) = L0:
(1)
Onde w a taxa de crescimento no instante inicial t0 e k um parmetro de
crescimento,comunidadet-1,relacionadocomoavelocidadeemqueacurvaatingea
assimptotavertical(ocomprimentomximoassimpttico).
Como foi referido, a taxa de crescimento decresce linearmente como funo do
tempotendendoparazeroatatingirocomprimentomximoassimpttico

Substituindoem(1)obtmse:

..(2)

Queresultanaseguintesoluo:

Fazendo L0 = 0 e interpretando

como a idade em que um peixe teria

comprimento0,obtemosaequaodomodelomatemticodeVonBertallanfy:
...(3)
GraficamenteacurvadecrescimentodeVonBertalanffytemoseguinteaspecto:

11


Figura2.1RepresentaogrficadeumacurvadecrescimentodeVonBetalanffy.

Os parmetros do modelo de crescimento de Von Bertalanffy podem ser


interpretadosgraficamentedaseguinteforma:

L, como j foi referido, o tamanho mximo terico que o peixe pode

atingir,representadoassimptotaverticaly =L.

k,consideradoumparmetrodecurvaturaumavezqueestdirectamente

ligadocomaamplitudedesta.

,tratasedaabcissadopontodeintercepodacurvacomoeixot.

dereferirqueacurvanopossuipontodeinflexo.
Notese que, uma vez que este estudo recai sobre o comprimento mdio os
parmetros dos modelos tm, tambm, que ser interpretados como valores mdios,
ou seja, L como o tamanho mdio mximo assimpttico, k como um parmetro de
crescimento mdio relacionado como a velocidade em que a curva atinge o
comprimento mdio mximo assimpttico e como a idade em que um peixe teria
comprimentomdio0.

12

Quinn II e Deriso (1999) atentam para o facto da utilizao deste modelo ser
geralmenterestritoaidadesavanadasumavezqueocrescimentonoinciodevida
no segue este processo de crescimento. Sendo assim, apesar de ter interpretao
biolgica,oparmetro meramenteterico.Talcomotambmooparmetro L
uma vez que a existncia de uma assimptota vertical sugere que o peixe continue a
crescerindefinidamentenuncaatingindoovalordeL.
AdiferenafundamentalentreosmodelosLogsticoedeGompertzeomodelode
Von Bertallanfy o facto dos dois primeiros serem graficamente representados por
curvas sigmoidais, ou seja, existe um ponto de inflexo, contrariamente ao que
acontecenomodelodeVonBertalanffy.
ComoexplicaDeSapio(1978)ateoriadacurvasigmoidedefendequeapopulao
cresce relativamente devagar no inicio aumentando a taxa de crescimento (ou seja,
aumentandoavelocidadedocrescimento)quandoatingeopontodeinflexo.
3.1.2. ModeloLogstico
SegundoQuinnIIeDeriso(1999),foiintroduzidaporVerhulstem1838,sendoque
Fletcher (1974) fez uma parametrizao do modelo em termos de tamanho inicial e
taxadecrescimentomxima.

ComoreferemPrageretal(1989)omodelologsticovastamenteutilizadopara
descreverotamanhodepopulaes.
No entanto, , tambm, usualmente utilizada para descrever o crescimento em
tamanhodepopulaes.
A caracterstica fundamental por detrs do modelo logstico de crescimento est
no facto de que a derivada logartmica, que pode ser interpretada biologicamente
comoataxadecrescimentorelativa,decrescelinearmentecomofunodotempoe
que, semelhana do que sucede no modelo de Von Bertalanffy existe um
crescimentomximoassimpttico(ocrescimentoestrestrito),quesepodetraduzir
naseguinteequaodiferencial:
13

..(4)

Como explica Batschelet (1974) para se obter um modelo que biologicamente


maissignificativopodemoscombinardoisaspectos,assumirque proporcionalaL
talcomoa(L - L).
Resolvendoaequaoobtemosaseguintesoluo:

.(5)

Considerandoacondioinicial

temosque:

CalculandoasegundaderivadadomodeloLogstico

Umavezqueb>0temosqueomodelologsticotempontodeinflexoquando:

Ouseja,opontodeinflexodeumacurvadomodelologsticoser

O que significa que, quando a espcie atinge metade do tamanho mximo


assimptticoavelocidadedocrescimentoatingeoseuvalormximodecrescendoda
emdiantetendendoparazero.
Considerando o parmetro

, que DeSapio (1978) indica chamarse de

capacidade inata de aumentar enquanto outros autores, como Katsanevakis (2006),


apenas se referem a este como sendo um parmetro de crescimento relativo de

14

unidadest1,efazendo

podeseobteraseguintereparametrizaoaequao

(5):

Sendo esta reparametrizao do modelo Logstico usualmente utilizada para


descrever o crescimento mdio de peixes e qual feita referncia, de agora em
diante,quandosemencionaromodeloLogsticodecrescimento.
A curva de crescimento Logstico tem, generalizadamente, a seguinte
representaogrfica:

Figura2.2RepresentaogrficadeumacurvadecrescimentoLogstica.

3.1.3. ModelodeGompertz
Como foi referido a curva de crescimento do modelo de Gompertz uma curva
sigmoidal,semelhanadacurvadecrescimentodomodeloLogstico.Noentanto,o
quedistingueomodelodeGompertz,domodeloLogstico,ofactodedescreverum
crescimentocujataxarelativadecresceexponencialmentecomofunodotempo.
15

OmodelodecrescimentodeGompertzpodeserutilizadotantoparadescrevero
crescimento em comprimento como o crescimento em peso, apesar de no to
vastamentecomoomodelodeVonBertalanffy.
Como refere De Sapio (1990), o modelo de Gompertz pode ser descrito pela
seguinteequaodiferencial:

.(6)
Integrando(6)obtmse:

Denotando

porc e exponenciando podemosescrever:


..(7)

ConsiderandoacondioinicialL(0) = L0 aconstantecdadapor:

Como

podese afirmar que, para este modelo, o tamanho

mximoassimptticodadopor

CalculandoasegundaderivadadomodelodeGompertz:

Temos que, sendo k e

positivos, o modelo de Gompertz tem ponto de

inflexoquando:

Substituindo

por

,temsequeopontodeinflexoocorrequando:
16

Oqueimplicaque,contrariamenteaoqueaconteciaparaomodeloLogstico,parao

modelodeGompertzacurvadecrescimentojnosimtricanopontodeinflexo.

AabcissadopontodeinflexodeumacurvadomodelodeGompertzserdada

por:

Sendo t2 o parmetro interpretando como a idade em que uma espcie atinge a


velocidade mxima de crescimento (ou seja, o ponto de inflexo) e

como o

tamanho mximo assimpttico dessa mesma espcie, podese reparametrizar a


equao(7)emtermosdeLet2, (tendoemcontaque

),daseguinteforma:

Sendo que k2 pode ser interpretado como a taxa de decrscimo exponencial do


crescimento.
A curva de crescimento de Gompertz tem, generalizadamente, a seguinte
representaogrfica:

17


Figura2.3RepresentaogrficadeumacurvadecrescimentodeGompertz.

Tendo em conta, novamente, os valores dos pontos de inflexo, comparado ao


modelologsticodecrescimento,omodelodeGompertzmostraumcrescimentomais
rpidonoincio,masumaaproximaomaislentaaotamanhomximoassimpttico.
No entanto, necessrio deixar claro que os modelos aqui referidos apesar de
assentarem em pressupostos realistas, como por exemplo a necessidade do
crescimentoserdescritocomosendoexponencialmasrestritoonde,eventualmente,
entra numa fase estacionria (ou seja, tenha um comprimento mximo), no
consideramalteraesnoambienteparaalmdefactoresambientaisfixos.Defacto,
comovriosautoresreferem,improvvelqueumaespciesigaumnicomodelode
crescimentodurantetodaasuavida.
Os trs modelos de crescimento aqui explanados so casos especiais do modelo
geraldeSchnuteeRicharddecincoparmetrosL, , , k4 e :

18

No entanto, como foi referido no incio, para o caso da seleco do modelo que
melhorseajustaaosdados,prefervelescolhercasosespeciaisdomodelogeraluma
vezqueestespossuemumnmeroinferiordeparmetros.

Foi nesse sentido que se optou por seleccionar trs dos casos gerais do modelo
acima exposto mais referidos e estudados na bibliografia referente ao estudo do
crescimentodepeixes.

A opo por um dos casos especiais do modelo geral justificase, tambm, por
facilitar a interpretao e o entendimento do crescimento uma vez que condensa
inmerasinformaes(comoporexemplo,taxasdecrescimentooutamanhomximo
assimpttico) num pequeno conjunto de parmetros biologicamente interpretveis
quepermiteumacomparaoentrecurvasdecrescimentoquesigamestesmodelos.

3.2. MtododosMnimosQuadradosNoLinearcomomtododeajustededados
idadecrescimentoaosmodelosdecrescimento

Determinaraequaodomodelodecrescimentoquemelhorseajustaaosdados
comprimentoidade,ouseja,ajustaromodeloaosnossosdados,consisteemestimar
os parmetros do modelo a partir dos dados observados de modo a optimizar o
consenso entre os valores preditos pelo modelo e os valores observados. Por outras
palavras, de modo a minimizar o desvio entre os valores preditos e os valores
observados.
Ouseja,minimizarasomadequadradosresidual:

19


Onde ovectordosparmetrosaestimare

ovalorpreditopelomodelopara

ai-nsimaobservaoparaovectordeparmetros ,ewiumpeso associadoacada


comprimentoLi,relativoinsimaobservao.1
Contextualizandonoassuntodopresentetrabalho,sendoqueosmodelosem
estudosetratam,comofoireferidonosubcaptuloanterior,demodelosnolineares,
paraestimarosseusparmetrospodeserecorreraomtododosmnimosquadrados
nolineares,semelhanteaomtodolineardosmnimosquadrados.

ComoreferemPrageretal(1989),asemelhanaentreosdoismtodosreside
tanto no facto de serem baseadas na minimizao da funo da soma de quadrados
residual, como no facto de pressuporem as mesmas assumpes, ou seja, a
espcificao correcta do modelo, independncia de observaes, erros distribudos
normalmente com mdia zero e varincia comum, homoscedasticidade das variveis
independentes.
No entanto, perante a falha na homoscedasticidade das variveis
independentes possvel recorrerse ao mtodo dos mnimos quadrados no linear
pesado,ouseja,atribuiodepesoswinasvariveisindependentes.

Sobre estas assumpes as estimativas calculadas so assimptoticamente no


enviesadaseeficientes.

Apesarde,nomtododosmnimosquadradoslinearserpossveldeterminara
soluoalgebricamente,nocasonolinearterdeserdeterminadaiteractivamentea
partirdevaloresiniciaisdosparmetrosaestimar.

1
Noteseque,particularizando,paraomodelodeVonBertalanffyvemque
modeloLogstico

eparaomodelodeGompertz

,parao
.

20

Existem vrios mtodos iterativos para a determinao dos valores de

parmetros que minimizam a funo

sendo um o mtodo de Levenberg

MarquardtquetemcomobaseomtododasdiferenasfinitasdeGaussNewton.

Esta rotina parte de um valor inicial o vector de parmetros (introduzidos

pelo utilizador) fazendo automaticamente e iterativamente pequenos incrementos a


cadaumdosparmetrosdecadavez,estimandoovalordamatrizJacobianadasoma
dequadradosresidual,

,deformaaencontrarosvaloresdosparmetros que

minimizamomaisrapidamentepossvelasomadequadradosresidual

Ou seja, tem como base da ideia que o mnimo (

=0) pode ser

encontradoiterando:

Admitiuse que os modelos possuem uma estrutura de erro aditiva cujos erros
seguemumadistribuionormaldemdia0evarinciaconstante.

Ouseja:

ParaomodelodeVonBertalanffy:

ParaomodeloLogstico:

ParaomodelodeGompertz:

Com

,ondenonmerodadosobservados.

21

Para se inferir relativamente qualidade do ajuste comum calcularse a

estatsticaR2,umcoeficientederegressomltiplaquepodeserinterpretadocomoa
proporodavarinciaentreosvaloresobservadoseosvalorespreditospelomodelo.
Oreferidocoeficientepodeserdeterminadopelaseguintefrmula:

Ondenonmerodeobservaes,

ovalorpreditopelomodeloparaai-

nsima observao, Li, o comprimento relativo i-nsima observao e tratase do


valordamdiadetodososcomprimentosobservados.

Ocoeficientevariaentre0e1etemmximoquando

=0paratodas

asobservaes.

Umavezqueacomparaoentreaqualidadededoisajustespodeserinduzida

em erro, caso se estejam a comparar o ajuste entre dois modelos com um nmero
diferentedeparmetros,usualutilizarcomoestimativadaqualidadedoajusteoR2
ajustado(aosgrausdeliberdade)dadopor:

Ondekrepresentaonmerodeparmetrosestimados.

22

3.3. ComparaodecurvasdecrescimentoOTestedarazodeverosimilhana
deKimura(1980)

Cerrato (1990) no seu estudo onde compara vrios testes estatsticos que se
podem aplicar na comparao de curvas de crescimento que sigam um mesmo
modelo,concluiqueotestedarazodeverosimilhanapropostoporKimura(1980)
omaisconfivel,recomendandooparaestudosdecomparao.

23

O teste da razo de verosimilhana permite comparar os parmetros de


crescimento de duas populaes que podem representar, por exemplo, uma mesma
espcieemlocaisdiferentesouatfmeasemachos.

Ainda que o estudo de Cerrato (1990) recaia somente sobre modelo de Von
Bertalanffy, o teste estatstico pode ser ampliado, como refere Haddon (2001), a
qualquer outro modelo nolinear desde que possua uma estrutura de erro aditiva
cujos erros seguem uma distribuio normal de mdia 0 e varincia

constante.

Dessaformaotestedesenvolvidonainterfacefoigeneralizadodemodoaabrangeros
modelosLogsticoedeGompertz.

Tendo por base o estudo de Kimura (1980) e a simplificao deste feita por

Haddon(2001)apresentasedeseguidaumasnteseexplanatriadotestederazode
verosimilhanaimplementadonainterface.

Considerando

comoosmodelosdecadaumadascurvasque

se pretende comparar, onde

so os vectores

dos parmetros estimados para cada um dos modelos, o teste da razo de


verosimilhana permite testar a hiptese nula que os vectores dos parmetros
estimadossatisfazemumconjuntodeqrestrieslinearescontraahiptesedequeos
vectoresdosparmetrospossivelmentenosatisfazemnenhumarestriolinear.

Para isso estuda a razo entre a funo de verosimilhana para ambos os


modelos L1 e L2 sob a hiptese nula e a funo de verosimilhana conjunta para
ambososmodelossobahiptesecontrria.

Afunodeverosimilhanaparaummodelodecrescimento

dadapor:

(9)

24

Onde N o nmero de observaes, Li o comprimento observado na insima


observaoetiaidadequeseobservounainsimaobservao.

Kimura (1980) explica que a estimativa de mxima verosimilhana para

obtida

logaritmizandoambososmembrosdaigualdade(9),calculandoaderivadasparcialem
ordema eigualandoazeroobtendoseoseguinteresultado:

...(10)

Substituindooresultadoobtidoem(19)naequao(9)obtmseaseguinteequao
simplificadaparaafunodeverosimilhana:

Noteseque

tratasedasomaresidualdequadradosedessaforma,

para(9)e(10)estamosnocasoemquenoseconsideramospesoswi,noentanto,
como refere Kimura (1980) assumindo a normalidade e independncia podemse
considerar pesos na estimao simplesmente multiplicando estes pela expresso
quadrtica, ou seja, fazendo
. Assim, recorrendo notao
anteriormenteutilizadapodesesimplificaraigualdade(10)daseguinteforma:

(11)

Considerando
hiptese nula,

como sendo as estimativas da mxima verosimilhana de

, e a hiptese contrria,

sob a

, respectivamente, a estatstica teste a

calculardefinidapor:

25

a estatstica teste

Como explica Kimura (1980), sob a hiptese

ter

assimptticamente

uma

distribuio

comgrausdeliberdade(GL)iguaisaonmerodeparmetrosfixos,ouseja,iguais
aonmerodeparmetrostomadoscomoiguais.

O teste consiste em calcular a estatstica teste Q2 e comparla com a


distribuioQuiquadradocomGLgrausdeliberdadeenveldesignificncia.

Kimura (1980) refere que a soma de quadrados residual conjunta pode ser
escritadaseguinteforma:

Onde,niotamanhodapopulaoi,wijLijetijsoopeso,ocomprimentoea
idade,respectivamente,paraajsimaobservaodainsimapopulao.
Dessaforma,aestatsticatesteacalcularserbaseadanaseguinteequao:

Onde k so os graus de liberdade, N o nmero de observaes de ambas as


curvascombinadas,

asomadequadradosresidualdocasodeseassumirascurvas

como sendo independentes (hiptese contrria

), ou seja a soma das somas de

quadradosresidualobtidasnosajustesdecadaumadascurvasfeitosseparadamente,
a soma de quadrados residual obtido com o ajuste das curvas com uma das

restriesdashiptesesnulasacimareferidas.

Emmododeconcluso,otestedeverosimilhanapropostoporkimura(1980)para
acomparaodeparmetrosdeummodelomatemticodecrescimento,permiteque
se teste a hiptese das curvas das duas populaes serem semelhantes contra a
hiptese de serem independentes e, caso a hiptese nula seja rejeitada, permite
26

inferir individualmente at que ponto cada um dos parmetros podem ser


consideradossemelhantes.

4. METODOLOGIA

ParaalmdepartirdeumobjectivoclaroqueauxiliarosBilogosMarinhos

na comparao de curvas de crescimento de populaes de peixes, a criao da


Interface Comparao de Curvas de Crescimento partiu do pressuposto que esta
necessitaria de ser Amigvel. Ou seja, de fcilutilizao, cujos procedimentos para a
sua utilizao sejam simples e intuitivos (o utilizador no necessitaria de um manual
27

extenso para saber lidar com a aplicao) e, ainda, que produsisse resultados
pernitentesnumestudocomparativodecurvasdecrescimento.

Tendo essa ideia em mente escolheuse realizar a Interface num ambiente

familiar a grande parte(ou at mesmo maior parte) dosinvestigadores da reade


Biologia marinha: o Microsoft Excel. Vastamente utilizado no tratamento e
manipulao de dados e que, aliado ao Visual Basic Applications se torna uma
ferramenta de trabalho poderosa, na medida em que permite incorporar e
automatizaralgoritmoscomplexosfazendooscorreronmerodevezesnecessrio.

Como explica Peres (2007), o Visual Basic Applications consiste numa

linguagemdeprogramaobaseadanoVisualBasicqueassociadaaoExcelpermiteum
controlototaldafolhadeclculo.Estalinguagemtemcomoobjectivoaautomatizao
detarefasqueenvolvamobjectos,sendoque,oExcelestorganizadonumacoleco
deobjectos(clulas,linhas,colunas,grficos,folhas,etc.).
AInterfaceComparaodeCurvasdeCrescimentotratasedeumaaplicao
emExcelconsttuidaportrsfolhasdeExcelvisveisaoutilizador,criadacomorecurso
aoMicrosoftExcelinterligadocomoVisualBasicApplications(VBA)sendoconstituda
portrspartes,umaemcadafolha:
UmaprimeiraparteintituladaAjusteaModelosdeCrescimento,que
permiterealizaroajustedequalquerconjuntodedadoscomprimento
idade a um dos trs modelos de crescimento em comprimento
comummente utilizados o modelo de Von Bertalanffy, o modelo
LogsticoeomodelodeGompertzsendoquedevolveosvaloresdas
estimativasdosparmetrosdomodelo,osrespectivosdesviospadroe
ovalordeR2ajustado.
Uma segunda parte intitulada Teste de Verosimilhana, que permite
ao utilizador comparar estatisticamente dois conjuntos de dados
comprimentoidadededuaspopulaesquesigamummesmomodelo
de crescimento mas cujos valores dos parmetros diferem, atravs de
28

umtestedarazodeverosimilhanaquegeneralizaotestedarazode
verosimilhanaapresentadoporKimura(1980);
Uma terceira parte intitulada Comparao Pontual, que permite ao
utilizador comparar dois conjuntos de dados comprimentoidade que
sigam modelos iguais ou distintos, sendo que permite que essa
comparao seja feita sobre caractersticas biolgicas tais como o
comprimento mdio numa determinada idade ou a idade para um
determinado comprimento mdio, a taxas de variao mdias em
determinados intervalos de tempo e as taxas absolutas e relativas de
crescimento num determinado intervalo entre os dois conjuntos de
dados.

Foi utilizada a verso 2007 do Microsoft Excel, no entanto, tentouse ao

mximo garantir a compatibilidade com verses anteriores. Sendo que as nicas


alteraesquesepoderoobservarsoanveldeaspectofsico(coresouformatode
algunsbotesoucaixasdedilogo).

Quandooutilizadoriniciaaaplicaosurgeaseguintecaixadetextocomuma

introduointerfacenomeadamenteasuautilidadeeimplicaesnasuautilizao:

29


Figura3.1CaixadeTextocomaIntroduodaInterface.

Aquandoainiciaodaaplicaopossvelobservarnosseparadoresosnomes

decadapartedaInterfacecomosepodeconstatarnaFigura3.2,relativaaoaspecto
inicialdaInterface.

30


Figura3.2AspectoInicialdaInterface.

Ainda com o objectivo de tornar a Interface amigvel foram introduzidos, em

todas as partes da Interface, inmeros botes de ajuda

, que visam esclarecer o

utilizadorquantoaoprocedimentoquetemdetomar,aosignificadodasetiquetase
interpretaodosresultadosobtidos.

necessrio deixar claro que a Interface, durante toda a sua utilizao no

mencionarunidadesdemedidasendoqueestasestarodeacordocomasunidades
dosconjuntosdedadosintroduzidos.Ouseja,casoseestejaaestudarumconjuntode
dados idadecomprimento na unidade de tempo ano e na unidade de comprimento
centmetro,osresultadosserodevolvidosnessasmesmasunidades.

Em seguida pretendese fazer uma descrio de cada uma das partes da

Interface nomeadamente o seu aspecto, funcionalidade e formas de utilizao. Cada


uma das macros (conjunto de linhas de cdigo) a que se far referncia pode ser
consultadanoAnexo1.

31

4.1. PrimeiraparteAjusteaModelosdeCrescimento

A primeira parte da Interface, intitulada Ajuste a Modelos de Crescimento,

permiterealizaroajustedequalquerconjuntodedadoscomprimentoidade,aumdos
trs modelos de crescimento omodelo deVon Bertalanffy, o modelo Logstico e o
modelodeGompertzrecorrendoaregressonolinear,devolvendoosvaloresdas
estimativasdosparmetrosdomodelo,ovalordeR2ajustado,edosdesviospadro
decadaparmetroestimado.Nafigura3.1.1podeseobservaroaspectodaprimeira
partedaInterface.

Figura3.1.1AspectodaprimeirapartedainterfaceAjusteaModelosdeCrescimento.

Pararealizaroajuste,bastaqueoutilizador,numaprimeirainstncia,introduza

os dados na matriz de dados que se pode observar esquerda, na Figura 3.1.1,


posteriormente seleccione o modelo de crescimento na rea Modelo a Ajustar,
introduzavaloresaproximadosdosparmetrosdosmodelosnareaValoresIniciais
dosParmetros,ecliquenobotoCalcula.
Oboto

,queseencontranareaModeloaAjustar,devolveaindicao,como

sepodeobservarnaFigura3.1.2,queoutilizadornecessitadeseleccionaromodelo
que previamente constatou melhor descrever a curva de crescimento, tal como a
equaoquerepresentacadamodelodecrescimentoreferido.
32


Figura3.1.2CaixadeTextorelativaaobotodeAjudadareaModeloaAjustar.

Porsuavez,ainformaocontidanoboto

inseridonareaValoresIniciais

dosParmetros,quesepodeobservarnaFigura3.1.3,explicaosignificadodecada
uma das etiquetas dos parmetros e atenta para a necessidade de se introduzirem
valoresiniciaisdosparmetrosmuitoprximosdasestimativas.

Figura3.1.3CaixadeTextorelativaaobotodeAjudadareaValoresIniciaisdos
Parmetros.

33

Para determinar os valores dos parmetros dos modelos ajustados

implementouseomtododosmnimosquadradospermitindoqueestesejarealizado
comousempeso.Ouseja,sendoqueusualtrabalharsecomcomprimentosmdios
em classes de idades, como foi referido anteriormente, e como por vezes no
efectuadoomesmonmerodeobservaesemcadaclassedeidadesarotinapermite
associarumpeso

(Levie(2001)) acadacomprimento Li, sendo odesviopadro

relativoi-nsimaobservao.

Para

isso

criaramse

trs

macros

denominadas

minimoquadrVBGC

minimoquadrL e minimoquadrG que implementam o mtodo dos mnimos


quadrados nolinear para cada um dos modelos Von Bertalanffy, Logstico e de
Gompertzrespectivamente.

Cadamacroestimaosvaloresdosparmetrosqueminimizamafuno:

Onde ovectordosparmetrosaestimare

ovalorpreditopelomodelopara

ai-nsimaobservaoparaovectordeparmetros .2

Oclculodosvalorespreditospelosmodelos,ouseja,decadaL(t), edafuno
,sorealizadosautomaticamentenumafolhainvisvelaoutilizador(folha1)que

recebeosdadosqueoutilizadorintroduzapartirdeumamacrointituladacolar1.

2
Noteseque,particularizando,paraomodelodeVonBertalanffyvemque
modeloLogstico

eparaomodelodeGompertz

,parao
.

34

ParaefectuaressaminimizaoamacrorecorreaoSolverdoExcel,quesetrata

de uma implementao do mtodo iterativo de LevenbergMarquardt. O Solver


permitequeseseleccioneumaclulacomputadaemfunodeumcertonmerode
variveis dependentes e se minimize (ou maximize) esta, alterando o valor dessas
mesmasvariveis.

No caso particular do mtodo dos mnimos quadrados implementado na


Interface, o Solver minimiza a soma de quadrados residual, computada numa certa
clula a partir de trs outras clulas que contm os valores iniciais dos parmetros
introduzidos pelo utilizador, alterando o valor desses parmetros iniciais. Ou seja,
devolve os valores dos parmetros ptimos que minimizam a soma de quadrados
residual.

No entanto, necessrio que o utilizador introduza valores iniciais para cada


um dos parmetros mais prximo possvel dos valores finais das estimativas pois,
como atenta Haddon (2001), um problema bvio para esta estratgia de procura da
soluoptimaapossibilidadedoalgoritmoconfundirummnimorelativocomum
mnimoabsoluto.

Comoautilizaopressupequeoutilizadorjconheaqualdosmodelosde
crescimento se ajusta de melhor forma aos seus dados este j ter conhecimento
relativamenteaosparmetros.

Anicadvidapoderrecairsobreofactode,paraomodelodecrescimento
deGompertz,noserusualautilizaodeumaparametrizao,(recorrendonotao
utilizada no captulo anterior), em termos de L e t2, mas sim a seguinte
parametrizao termos de L e um parmetro t3, que se pode encontrar na obra de
QuinIIeDeriso(1999)ouatmesmonoestudodeKatsanevakis(2006):

35

Apesar da possvel familiaridade dos investigadores marinhos com a usual


parametrizao do modelo de Gompertz acima exposta, considerase benfica a
utilizaodaparametrizaoemtermosdeLet2,umavezqueesteltimoparmetro
representa a abcissa do ponto de inflexo da curva de Gompertz tendo, assim, ao
contrriodoquesucedecomoparmetrot3,umainterpretaobiolgica.Facilitando,
dessa forma, a comparao entre curvas de crescimento que sigam o modelo de
Gompertzemtermosdoparmetrot2 (tendosempreemmenteapossvelexistncia
deumacorrelaoentreostrsparmetros L, k2 et2).

Para calcular os desvios padro de cada parmetro estimado criouse uma


macrodenominadadesviopadraoondeseadaptoualgunspassosdamacroSolverAid
criadaporLevie(2001).

Amacrodesviopadrao,umavezqueseadmitiuumaestruturadeerroaditiva
cujoserrosseguemumadistribuionormaldemdia0evarinciaconstante,uma
implementao do mtodo das matrizes para determinar o desvio padro dos
coeficientesdevolvidospeloSolver.

Amacrocomeapordeterminaraestimativadoerroquadrticomdioresidual
s2:

Ondekonmerodeparmetrosdomodelo(ouseja,iguala3paracadaum
dosmodelos).

Determinando, em seguida, os valores dos desvios padro de cada parmetro,

calculandooselementos

dadiagonaldamatrizinversadamatrizhessiana,H,de

recorrendo a uma macro desenvolvida por Levie (2001) que implementa o


mtododeGaussJordan,deformaacalcularosdesviospadro

decada

parmetrodaseguinteforma:
36

Como j foi referido, esta primeira parte da Interface devolve, tambm, o valor do
2

coeficiente de mltipla regresso R ajustado, cujo clculo tambm automaticamente

realizadonafolha1,escondidaaoutilizador,recorrendoseguintefrmula:

Apscadaumadasmacroscorreremtodososresultadoscalculadosnafolha

1 so transferidos para a folha principal Ajuste a Modelos de Crescimento e


apresentadosnareaResultados.Tambmestareaapresentaumbotodeajuda
que devolve uma breve explicao dos resultados obtidos, que pode ser
observadanaFigura3.1.4.

Figura3.1.4CaixadeTextorelativaaobotodeAjudadareaResultados.

37

Sendo que, aps qualquer ajuste realizado pertinente observarse

graficamente a aproximao dos dados observados curva ajustada a Interface foi


desenvolvida de modo a exibir uma janela com a representao grfica dos dados
observados e da respectiva curva ajustada, cujo aspecto se pode observar na Figura
3.1.5.

Figura3.1.5Aspectodajanelacomogrficodacurvaajustadaerespectivosdadosintroduzidos
peloUtilizador.

Para isso, foram elaboradas as macros graficoVBGC, graficoL e graficoG


que so activadas quando o utilizador pressiona o boto Grfico, no
simultaneamente mas sim dependendo do modelo de crescimento que o utilizador
seleccionounareaModeloaAjustar.

OusejaamacrograficoVBGCactivadacasooutilizadortenhaseleccionado
o modelo Von Bertalanffy, por sua vez a macro graficoL activada caso tenha
seleccionadoomodeloLogsticoe,porltimo,activaamacrograficoGcasotenha
sidoseleccionadoomodelodeGompertz.
38


Cadamacrocriaumasriedevaloresparaoeixodasabcissas,entrezeroeo
valor da idade quando se atinge o comprimento (L 1), numa coluna na folha
principal. Adjacente a essa coluna existe uma outra j preparada para calcular
automaticamente os valores preditos pelos modelos, sendo que cada macro cria,
tambm, uma outra srie, adjacente a esta ltima coluna, com os valores dos
comprimentosobservados,introduzidospeloutilizador.

Sendo que, para a segunda e terceira partes da Interface, so necessrios os

valores das estimativas dos parmetros e da soma de quadrados residual obtidos


criouse,nestaprimeiraparte,umareaintituladaTransfernciadeResultados,cujo
aspectosepodeobservarnaFigura3.1.6.

Figura3.1.6readeTransfernciadeResultados.

Nestareaoutilizador,carregandosimplesmentenobotodecoramarela

respectivo, transfere para a parte da Interface e rea desejadas os valores das


estimativas dos parmetros e da soma de quadrados residual que obteve aps o
ajuste. Ou seja, se o utilizador tiver realizado um ajuste relativamente ao primeiro
conjunto de dados, segundo o qual deseja fazer a comparao, basta clicar sobre o
primeirobotoamareloparatransferirosresultadosparaarearelativaaoconjunto
dedados1.

A deciso da criao desta rea pretende ir de encontro a um dos objectivos

iniciaisdetornaraInterfacenumaInterfaceAmigvel,pois,destaforma,outilizador
noterdecopiarecolarinmerasvezescadaumdosresultadosqueobteve.
39


TambmnareaTransfernciadeResultadosexisteumbotodeajudaque
esclarecequantofuncionalidadedaprpriarea,cujainformaosepodeobservar
naFigura3.1.7.

Figura3.1.7CaixadeTextorelativaaobotodeAjudadareaTransfernciadeResultados.

40

4.2. SegundaParteTestedaRazodeVerosimilhana

A segunda parte da interface foi criada com o objectivo de realizar um teste


estatstico que permita comparar os parmetros de crescimento de duas curvas de
crescimento diferentes que sigam um mesmo modelo de crescimento, tendo o
seguinteaspecto:

Figura3.2.1AspectodasegundapartedainterfaceTestedeVerosimilhana.

Para corresponder ao objectivo foi implementado o teste da razo de


verosimilhana,semelhanteaopropostoporKimura(1980),quepermitecompararos
parmetrosdecrescimentodeduaspopulaes.

Noentanto,sendoquesedefendequeumprimeiropasso,quandosecomparam
duas curvas de crescimento, analisar a representao grfica de cada uma,
desenvolveuse, na Interface, um conjunto de macros que devolve, ao premirse o
botoGrficodareaInformaonecessria,umajanelaqueapresentaogrfico
comarepresentaoasduascurvasdecrescimentoajustadaseosrespectivosdados
observados,cujoaspectosemelhanteaoapresentadonaFigura3.2.2.

41


Figura3.2.2Aspectodajanelacomogrficodeduascurvasajustadaserespectivosdados.

O conjunto de macros desenvolvido para permitir a representao grfica

referida graficoVBGCduas, graficoLduas e graficoGduas tm um


procedimentoidnticoaodescritonosubcaptuloanterior.Adiferenaresidenofacto
deexistirem,nestaparte,noumamasduascolunasquecalculamautomaticamente
osvalorespreditosporcadaumdosmodelos.

No caso particular da interface, o teste da razo de verosimilhana vai testar


cadaumadasseguinteshiptesesnulas:

(ondeseestaconsiderarahiptesequeascurvassosemelhantes)

(ondeseestaconsiderarahiptesequeosvaloresdeLsosemelhantes)

(ondeseestaconsiderarahiptesequeosvaloresdeK*sosemelhantes)

42

(ondeseestaconsiderarahiptesequeosvaloresdet*sosemelhantes)

Contraahiptese:

(ondeseestaconsiderarahiptesequeascurvassodistintas)

Para o teste ser realizado o utilizador tem de introduzir, inicialmente, os dois

conjuntos de dados (tendo a opo de introduzir os desvios padro relativamente a


cadaobservao),enareaintituladaInformaonecessria,seleccionaromodelo
decrescimentoqueambosseguemeintroduzirosvaloresdasestimativasdecadaum
dosparmetrosedasomadequadradosresidualobtidosapsoajuste.

Tambm nesta segunda parte o utilizador pode recorrer aos botes de ajuda
queindicaro,nareaInformaonecessria,semelhanadoquesesucede

na primeira parte, que procedimentos tm de ser efectuados e, no caso da rea de


resultadosTestedaRazodeVerosimilhana(apresentadanaFigura3.2.3)oboto
de ajuda (cuja informao apresentada se pode observar na Figura 3.2.4) indicar
comosedeverointerpretarosresultados.

Figura3.2.3readeresultadosdotestedaRazodeverosimilhana.

43

Figura3.2.4InformaoapresentadapelobotodeajudanareaTestedaRazode
Verosimilhana.

Ainterfacefoidesenvolvidadeformaacomputartantoovalordaestatsticateste
Q2comodopvaluedoteste,ousejadaprobabilidadedesecometerumerrotipoI
rejeitarse a hiptese nula sendo esta verdadeira , para um nvel de significncia de
0,05,recorrendofunoDIST.CHI(Q2,GL)doExcel(sendoqueserejeitaahiptese
nulanocasodovalordopvalueserinferioraovalordasignificncia,ouseja,de0,05).

O Output dos resultados ser exposto na rea de resultados intitulada Teste da


RazodeVerosimilhanaa95%deconfiana.

Para isso foram desenvolvidas trs macros intituladas KimuratestVBGC,


KimuratestLeKimuratestGqueautomatizamaestimaodosparmetrosobtidos
noajustedasduascurvasemsimultneonascondiesdecadaumadasrestriesdas
44

hipteses nulas acima referidas, de modo a obter a somade quadrados residual,

paracadaumadashiptesesnulasreferidas.

A interface alia as macros referidas e quatro folhas de clculo, invisveis ao


utilizador,paraminimizarasomadequadradosresidual

recorrendoaoSolverdo

Excel.

Como auxlio ao teste, em cada uma das quatro folhas de clculo referidas, so
realizados os clculos necessrios realizao do teste de verosimilhana para cada
uma das quatro hipteses nulas referidas, para os trs modelos de crescimento em
simultneo.

Ouseja,ainterfacetransfereosvaloresintroduzidospeloutilizadorparacadauma
das quatro folhas de clculo relativa a cada uma das hipteses nulas, recorrendo
macrocolar2,ecalculaautomaticamente:

asomadequadradosresidualparaahiptesecontrria,

,que,umavez

queoutilizadorintroduzosvaloresdasomaresidualdequadradosobtidos
no ajuste dos dois conjuntos de dados ao modelo adequado,
simplesmenteasomadestesdois;

ovalordaestatsticatesterecorrendoformula:

(onde

N representa o nmero total de observaes de ambas os conjuntos de


dadossomado);

ovalordepvalue,(que,paraahiptesenula
de liberdade, e para as hipteses nulas

calculadocom3graus
e

com 1 grau de

liberdade).

45

4.3. TerceiraParteComparaoPontual

Umavezqueacomparaoestatsticapelotestedarazodeverosimilhana,

acimadescrita,obviamente,apenasaplicvelacurvasdecrescimentoquesigam
ummesmomodelo(poisseriaimpensvelcompararestatisticamenteparmetros
que no possuam ummesmo significado), a terceira parte da Interface intitulada
Comparao Pontual, cujo aspecto pode ser observado na figura 3.3.1, foi
elaborada com o objectivo de colmatar essa limitao, permitindo uma
comparaodecurvasdecrescimentoquenosigamummesmomodelo.

Figura3.3.1AspectodaterceirapartedainterfaceComparaoPontual.

No entanto, esta terceira parte foielaborada de forma a permitir, tambm, a

comparao de curvas de crescimento que sigam um mesmo modelo sob uma


outradimenso.

Adecisodepermitirestaltima,estrelacionadacomaideiadefendidapor

Wang e Milton (2000) quando referem que, apesar da forma tradicional de


compararcurvasdecrescimentosercompararparmetrosindividuaiseencontrar
quaisoquediferemsignificativamente,comoasestimativasdosparmetrosesto,
46

normalmente,fortementecorrelacionados,sermaisapropriadocompararpontos
derefernciabiolgicacomoporexemploocomprimentoaumanodeidade.3

Francis(1996)referenoseuestudo,(oqualserviucomobaseparaoestudode

Wang e Milton (2000)), que existem pelo menos seis mtodos plausveis para
compararocrescimentoentrepopulaesquesigamomodelodecrescimentode
VonBertalanffy,sendoeles:

1. Compararocomprimentoemcadaidade;
2. Compararastaxasabsolutasdecrescimentoemcadaidade;
3. Compararastaxasabsolutasdecrescimentoemcadacomprimento;
4. Compararastaxasrelativasdecrescimentoemcadaidade;
5. Compararastaxasrelativasdecrescimentoemcadacomprimento;
6. Compararastaxassquaisotamanhoassimptticoaproximado;

Sendoqueosextomtodoseresumecomparaodoparmetrokdomodelo

de Von Bertalanffy que pode ser realizada na segunda parte da Interface, a terceira
partedaInterfaceapenasrecaisobreoscincoprimeirosmtodospermitindoquese
faa, tambm, duas outras comparaes: comparao da idade num certo
comprimentoecomparaodetaxasdevariaomdianumdeterminadointervalode
idades.

Noteseque,apartirdomomentoemquesepretendecompararduascurvas

decrescimentoqueseguemdoismodelosdecrescimentodiferentes,deentreostrs
modelosemestudo,cujasestimativasdosparmetrossoconhecidas,possvelfazer
umacomparaoemtermosdospressupostosbiolgicosdequederivam.

Um pressuposto comum aos trs modelos que todos restringem o

crescimento a um tamanho mximo assimpttico que, apesar de terico permite

de referir que o estudo de Wang (2000) apenas recai sobre a curva de crescimento de Von

Bertalanffy,sendoqueaparametrizaodomodelofeitasomenteemtermosdeLek,sendot0=0.

47

inferirrelativamenteaotamanhomximoqueacadaespciepoderatingirnaidade
adulta.

Ainda,umavezqueomodelodeVonBertalanffydiferedosmodelosLogsticoe

Gompertzpornoserrepresentadoporumacurvasigmoidal,ouseja,nopossuirum
pontodeinflexo,biologicamenteinterpretadocomoomomentoemqueapopulao
representada pelo modelo atinge a velocidade mxima de crescimento (vindo
posteriormente a decrescer), possvel fazer uma comparao partindo dessa
caracterstica.

Ouseja,aocompararumapopulaocujocrescimentosigaomodelodeVon

Bertalanffycomumapopulaocujocrescimentosigaumdosdoismodelos,Logstico
ouGompertz,oinvestigadorpodedesdejconstatarqueexisteumadiferenaquando
formacomoosindivduos,decadaumadaspopulaes,crescem.

Sendoque,paraomodelodeVonBertalanffyataxadecrescimentoabsoluta

em comprimento,

, decresce linearmente (pressuposto do qual foi

desenvolvido o modelo de Von Bertalanffy) e para os dois outros modelos a mesma


taxa,

dada

por

para

modelo

Logstico

por

para o modelo de Gompertz, no so monotonamente


decrescentes, pois so crescentes atingindo um mximo no comprimento no qual a
curvaatingeopontodeinflexodecrescendoatseanularemnomomentoemquese
aproxima do tamanho assimpttico. As seguintes representaes grficas permitem
visualizaressadistino4:

Noteseque,pormotivosdesimplificaofezseL(t)=L.

48

Figura3.3.2PrimeirasderivadasdosmodelosdeCrescimento,emcomprimento,emordemat.

Um outro aspecto que distingue, claramente, os trs modelos, tambm

directamenteligadoaospressupostosbiolgicosqueosoriginaram,prendesecomas
taxasrelativas(derivadaslogartmicas)emcomprimentodecadamodelo:

ParaomodelodeVonBertalanffy:

49

ParaomodeloLogstico:

ParaomodelodeGompertz:

Ondesepodeconstatarque,paraomodelodeVonBertalanffyodecrscimo

da taxa relativa em comprimento hiperblico, j para o modelo Logstico linear


sendoexponencialparaomodelodeGompertz.

Foipelofactodesepoderemreconhecertaisdiferenasqueaterceiraparteda

Interfacefoielaboradadeformaapermitirqueoutilizadorconstateessasdiferenas
devolvendo, como se pode observar na Figura 3.3.3, os valores das referidas taxas
tantoemidadecomoemcomprimento.

Para alm disso, como por vezes necessrio, em investigaes marinhas,

estudarataxadevariaomdianumdeterminadointervalodetempo,paraverificar
avelocidadedocrescimentonesseintervalo,aInterfacedevolve,tambm,areferida
taxanumintervalodetempoescolhidopeloutilizador,recorrendofrmula:

50


Figura3.3.3readecomparaodeTaxas.

Ainterfacepermite,ainda,calcularovalordocomprimentoparaumaidadet

tal como a idade para um certo comprimento c, como se pode observar na Figura
3.3.4.

51

Figura3.3.4readecomparaodeComprimentoemidadeteidadeemcomprimentoc.

Resumindo,aterceirapartedaInterfacepermitecompararentreduascurvas

de crescimento que sigam ou no um mesmo modelo, cada um dos seguintes


aspectos:
Ocomprimentoemidade,calculadosegundo:
paraomodelodeVonBertalanffy;
paraomodeloLogstico;

paraomodelodeGompertz.
(paraumvalor,t,daidadeintroduzidopeloutilizador)

Aidadeemcomprimento,calculadasegundo:
, paraomodelodeVonBertalanffy

,paraomodeloLogstico

,paraomodelodeGompertz.

(paraumvalordocomprimento,c,introduzidopeloutilizador)

Taxasdevariaomdia,calculadasegundo:

(onde t1 et2representamosvaloresdasidadesintroduzidospeloutilizador)

Taxaabsolutadecrescimentoemidade,calculadasegundo:
52

paraomodelodeVonBertalanffy;

paraomodeloLogstico;

paraomodelodeGompertz.
(paraumvalor,t,daidadeintroduzidopeloutilizador)

Taxaabsolutadecrescimentoemcomprimento,calculadasegundo:

paraomodelodeVonBertalanffy;

paraomodeloLogstico;

paraomodelodeGompertz.
(paraumvalordocomprimentointroduzidopeloutilizadorc)

Taxarelativadecrescimentoemidade,calculadasegundo:

paraomodelodeVonBertalanffy

paraomodeloLogstico

paraomodelodeGompertz
(paraumvalor,t,daidadeintroduzidopeloutilizador)

Taxarelativadecrescimentoemcomprimento,calculadasegundo:

53

(paraumvalordocomprimentointroduzidopeloutilizadorc)

Osclculosreferidossotodosefectuadosemclulasinvisveisaoutilizadorna

folharelativaterceirapartedaInterface.Paratalnecessrioqueprimeiramenteo
utilizador, na rea Informao Necessria, seleccione o modelo que cada curva de
crescimento segue, introduza as estimativas para cada um dos parmetros
correspondentesaomodeloseleccionado.
Reforando a ideia que uma comparao de curvas de crescimento deve ser
conciliada com a representao grfica destas, tambm nesta terceira parte, a
Interface foi desenvolvida de forma a devolver uma janela onde apresentado um
grficocomasrepresentaesgrficasdecadaumadascurvasaseremcomparadas.
Assim, nessa mesma rea, permitido ao utilizador que verifique a
representaogrficadeambasascurvasdecrescimentoemcomparaoclicandono
botoGrfico,ondesurgeumacaixadognerodaapresentadanaFigura3.3.5.

54


Figura3.3.5AspectodaJanelacomoGrficodasDuasCurvasemComparao.

Para isso criaramse nove macros graficoVBGC1VBGC2, graficoVBGC1L2,

graficoVBGC1G2,

graficoL1VBGC2,

graficoL1L2,

graficoL1G2,

graficoG1VBGC2, graficoG1L2 e graficoG1G2 relativas a cada uma das


combinaesquepossvelexistirquandooutilizadordefinequaldosmodelos,entre
ostrspossveis,seguecadaumadascurvasquepretendecomparar.

Oprocedimentolevadoacaboporcadaumadessasmacrossemelhanteao

descritoanteriormenteparaasmacrosrelativasrepresentaogrfica.Noentanto,a
diferenaresidenofactodenocriarasriecomoscomprimentosobservados,uma
vezqueoutilizadornonecessitadeosintroduzir.

Posteriormente, o utilizador apenas necessita de introduzir os valores

necessriosparacadaumdosclculoseclicarnobotoCalculaparaqueainterface
osrealize.

A macro que corre de cada vez que cada boto, desta terceira parte da

Interface, activado limitase a transferir os valores calculados nas referidas clulas


invisveisaoutilizadorparaascaixasdetextorespectivas.

55

Os botes de ajuda

que se encontram na rea Informao Necessria

devolvemumainformaoanlogacontidanosbotesdeajudadasegundaparteda
Interfaceinseridos,tambm,nareaInformaoNecessriarelativaaessaparte.J
osbotesdeajudadasreasComparaoeComparaodeTaxasapresentama
informaorelativaaoclculoquedesenvolvidoparaseobtercadaresultado,como
sepodeobservarnasFiguras3.3.6e3.3.7.

Figura3.3.6InformaoapresentadapelobotodeajudanareaComparao.

56


Figura3.3.7InformaoapresentadapelobotodeajudanareaComparaodeTaxas.

57

4.RESULTADOSEDISCUSSO

Oprincipalresultadodestetrabalhoconstitudoporumelementoimaterial,

constitudo por uma Interface, intitulada Comparao de Curvas de Crescimento,


que visa auxiliar o investigador marinho na comparao de duas curvas de
crescimento,cujautilizaoabaixoexemplificadanassuasdiversascomponentes.

Comoresultadoscomplementares,foinecessriodesenvolverlinhasdecdigos
na linguagem de programao Visual Basic Applications, denominadas macros, para
queainterfacepudesseserfuncionalecumprirosobjectivospropostos,asquaisso
apresentadasdemodointegrado.

De forma a demonstrar tanto a funcionalidade como a utilidade da Interface


ComparaodeCurvasdeCrescimentoprocedeuseaumacomparaodascurvas
de crescimento de dois conjuntos de dados comprimentoidade relativos aos dois
gnerosdeumamesmaespcie.

Os dados podem ser observados na Tabela 4.1. Notese que se tratam de

comprimentos mdios, e, uma vez que registaram um nmero diferente de


observaes em cada classe de idade, calculouse o desviopadro do comprimento
paracadaclasse.Adicionandose,dessaforma,umpesoacadaidadeobservada.

Tabela4.1Dadosestudadosrelativosaosdoisgnerosdeumaespciedepeixes.

Gnero

Femea

Gnero

Idade
(anos)
1
2
3
4
5
6
7
8
9
Idade

Comprimento
mdio (cm)
20,0
33,0
39,7
45,4
48,3
50,1
52,5
52,8
53,0
Comprimento

Desvio
Padro
0,986005011
1,686053907
2,035915612
2,054335444
2,100216439
2,651359252
2,836840966
2,432924347
2,746192169
Desvio

58

Macho

(anos)
1
2
3
4
5
6
7
8

mdio (cm)
17,8
28,1
35,9
40,4
44,0
45,1
45,7
47,6

Padro
0
0,677562476
1,037468009
1,287351051
0,892212954
1,555777762
1,242797431
1,026482667

Designesedeagoraemdianteporconjuntodedados1asubpopulaode
peixes Fmeas da espcie e por conjunto de dados 2 a subpopulao de peixes
machosdaespcie.

Oobjectivoinferirrelativamentesemelhanadecurvasdecrescimentopara
os dois conjuntos de dados. Ou seja, at que ponto podemos afirmar que no h
diferenassignificativasentreocrescimentodosdoisconjuntosdedados.

Previamente, j se tinha conhecimento tanto do facto de que ambos os


conjuntosdedadosseajustavamdemelhorformaaomodelodecrescimentodeVon
Bertalanffy como dos valores aproximados das estimativas dos parmetros do
respectivomodelo.

Sendoassim,procedeuse,comparaodosparmetrosdeambasascurvas
atravsdotestedarazodeverosimilhana.

Paraisso,naprimeiraparteAjusteaModelosdeCrescimentoajustousecada
umadascuvasaosmodelosdeVonBertalanffy.Colaramseosconjuntosdedadosnas
matrizesdedados,introduzindo,emseguida,osvaloresprximosaosdasestimativas
dos parmetros na rea correspondente. Clicando no boto Calcula, obtevese os
resultadospretendidosquesepodemvisualizarnasFiguras4.1e4.2.

59


Figura4.1ResultadosdoajustedoconjuntodedadosrelativossfemeasaomodelodeVon
Bertalanffy.

Figura4.2Resultadosdoajustedoconjuntodedadosrelativosaosmachosaomodelode
VonBertalanffy.

Analizando tanto o valor da estimativa de R2 ajustado (bastante prximo da


unidade) e o grfico do conjunto de dados e da respectiva curva de crescimento
ajustada (Figuras 4.3 e 4.4) podese concluir que a interface realizou de forma
adequadaoajustepretendido.

60


Figura4.3RepresentaogrficadomodelodeVonBertalanffyajustadoaosdadosda
populaofmeaedorespectivoconjuntodedados.

Figura4.4RepresentaogrficadomodelodeVonBertalanffyajustadoaosdadosda
populaomachoedorespectivoconjuntodedados.

Posteriormente,recorrendoaosbotesdareaTransfernciadeResultados,
transferiramse os resultados obtidos, para cada um dos conjuntos de dados em
estudo, para as reas respectivas tanto na segunda parte Teste da Razo de
VerosimilhanacomonaterceiraparteComparaoPontual.
61

Antes de se proceder ao teste da razo de verosimilhana analisouse

graficamenteasemelhanadasduascurvas(Figura4.5)intuindosequeexistiriauma
diferena relativamente ao tamanho mdio mximo assimpttico,

, mas uma

possvelsemelhanaemtermosdoparmetrot0,ouseja,naidadehipotticaemque
teriamcomprimentonulo.

Figura4.5Representaogrficadasduascurvasdecrescimentoajustadasedos
respectivosconjuntosdedados.

Prosseguindo o estudo, aps colarse cada um dos conjuntos de dados, nas

matrizes respectivas, bastou clicar no boto Calcula para se obter o seguinte


resultadoparaotestedarazodeverosimilhana:

62


Figura4.6Resultadosparaotestedarazodeverosimilhanadeambasascurvas.

Deondesepodeconcluir,tendoporbaseacomparaodosvaloresdepvalue
com a significncia do teste (0,05), que as curvas que descrevem o crescimento de
cadaumdosgnerosdaespcienosocoincidentes,ouseja,nososemelhantes.

Sendoqueadiferenaentreambaspareceresidirnosvaloresdocomprimento
mdiomximoassimpttico(pois3,070861006significativamenteinferiora0,05),
umavezquenoserejeitaahiptesedacoincidencianosvaloresdosparmetrosk,
velocidadeaqueapopulaoatingeotamanhomximoassimpttico,et0.

Tal facto, e tendo em conta que nas representaes grficas de ambas as


curvas de crescimento ajustadas se observou um comprimento superior em toda a
linhadetempoparaapopulaodepeixesfmeaemrelaopopulaodepeixes
macho,conduzconstataoque,paraaspopulaesemestudo,otamanhomdio
dasfmeasemsuperioraotamanhomdiodosmachos.

63

Uma das possveis questes que se pode colocar, aquando o estudo

comparativodeduaspopulaes,refereseaomomentoemcadaumadaspopulaes
atinge um certo comprimento mdio. Comprimento esse que poder significar, por
exemplo,ocomprimentoidealdecapturadosindivduos,casonosestejamosainserir
nocontextodepesca.

Supondo que esse comprimento mdio seria, para esta espcie, de 35 cm. E,

ainda, que se tera a necessidade de inferir quanto ao comprimento que cada


populaoemestudoatingepertodomeiodasuavida,aos5anos,poderiarecorrer
se terceira parte da Interface denominada Comparao Pontual, obtendose os
seguintesresultados:

Figura4.7Resultadosparaumacomparaopontualentreambasascurvas.

O que nos leva a observar que a populao de femeas atinge mais cedo o
comprimento mdio de 35 cm, e na idade de 5 anos o comprimento mdio para as
fmeassuperioraocomprimentomdiodosmachos.Resultadosestesqueeramde
esperar tendo em conta o que se obteve no teste da razo de verosimilhana e na
anlisegrfica.

64

Por vezes pode tornarse necessrio estudar a velocidade de crescimento de


cada populao em comparao. Nesse caso, tambm a terceira parte da Interface
podersertilnamedidaemquedevolvevaloresparavriastaxas.

Exemplificado,casosedesejasseaveriguarqualdasduaspopulaesemestudo
cresceriamaisrpidonointervaloentreos2eos4anose,igualmente,qualdasduas
possuiuma taxadecrescimentoabsolutomais elevadono primeiroanodevida,(ou
seja, qual que teria uma velocidade instantnea mais rpida no primeiro ano de
vida),bastariaintroduzirosdados nareaComparaodeTaxas,daterceiraparte
daInterface,obtendoseosresultadosquesepodemobservarnaFigura4.8.

Figura4.8Resultadosparaumacomparaodetaxadevariaomdiaetaxaabsolutade
CrescimentoporIdadeentreambasascurvas.

Concluiriamos, tendo por base os resultados obtidos, que ambas as taxas so


superiores para a populao de fmeas. Ou seja, nestes casos, o crescimento em
comprimentomdiodasfmeasmaisrpido.

65


Finalmente, possvel efectuar uma comparao necessariamente subjectiva,
entreestaInterfaceeoutrasconhecidas,comoajreferidaFISHPARM.Assim,refira
se o facto de a sua utilizao ser, contrariamente ao que sucede com o programa
FISHPARM,graficamenteapelativaeacessvel,umavezquepermite,porexemplo,que
o utilizador seja esclarecido das suas funcionalidades e formas de interpretao dos
resultadoscomosbotesdeajuda.
Os prprios grficos fornecidos pela Interface, uma vez que so guardados
como ficheiro temporrio no mesmo local da Interface, permitem o seu
armazenamentoeutilizao(desdequeseatribuaumnovonomeaoficheiro).
Existeaindaofactode,paraalmdepermitiroajustedosdadosacurvasde
crescimento, permitir, tambm, a comparao estatstica e pontual de curvas de
crescimento. Funcionalidade esta no includa em nenhum programa informtico de
investigaopesqueiraconhecidoatdata.

66

5.CONCLUSO

A importncia da modelao matemtica do crescimento incontestvel,


sendo que a descrio matemtica do fenmeno de crescimento permite que se
estudeaformacomoapopulaoemquestointeragecomoseuambiente.

A comparao de modelos matemticos ajustados a dados de crescimento

idade de populaes permite que se infira quanto s diferenas matemticas,


consideradassignificativas,entreestas.Estudo esse, considerado crucial para a
investigaomarinha.

Os computadores tornamse ferrramentas fundamentais no estudo de curvas

de crescimento, na medida em que permitem realizar processos iterativos, que


envolvemumgrandenmerodeiteraes,numcurtoespaodetempo.

Tal como acontece no caso do mtodo dos mnimos quadrados no linear,


implementadonaInterface,cujaminimizaodasomadequadradosresidualexige
um manuzeamento algbrico complexo e moroso, uma vez que se trata, neste
caso,deummtodonolinearmultiparamtrico.

Dessa forma, a Interface Comparao de Curvas de Crescimento, criada de

formaatornarasuautilizaoamigveleesclarecedoraemtodososseuspassos,
tilevantajosaquandoseobjectivacompararestatisticamenteosparmetrosde
duascurvasdecrescimentoquesigamummesmomodelomatemtico.

Noobstanteofactodeque,nocasodeduascurvasdecrescimentoseguirem
dois modelos matemticos distintos, dos trs modelos aqui estudados Von
Bertalanffy, Logstico e Gompertz , significar que o seu comportamento
relativamenteformacomoapopulaocrescenosemelhante,podersertil
aoinvestigadoracomparaodepontosbiolgicos.Pontosessesquepoderoser

67

taxasdecrescimentoouatmesmoocomprimentoemcertaidadeouaidadeem
certocomprimento.

A Interface correspondeu favoravelmente intencionalidade de ser prtica e

produzirresultadosperanteumestudodecomparaodecurvasdecrescimento.
Tratandose, igualmente, de uma aplicao inovadora na medida em que os
procedimentosdecomparaoestatsticaepontualqueimplementasetratamde
funcionalidades inesxistentes, at data, nos programas usualmente utilizado
pelosinvestigadoresmarinhos.

Emmododeconcluso,oestudoapresentadosugereapontarnadirecoque

a Interface criada ser um instrumento til e de utilizao acessvel para a


investigaomarinhanocampodacomparaodecurvasdecrescimentodeduas
populaes.

68

REFERNCIASBIBLIOGRFICAS

Cerrato,R.M.(1990).InterpretableStatisticalTestsforGrowthComparisonsUsing
Parameters in the Von Bertalanffy Equation. Canadian Journal of Fisheries and
AquaticSciences,Vol.47,14161426.

De Sapio, Rodolfo (1978). Calculus For The Life Sciences. W. H. Freeman and
Company.SanFrancisco.

Francis, R.I.C. Chris Francis. (1996). Do Herring grow faster than orange roughy?.
FisheryBulletin,Vol.94,783786.

Haddon, Malcolm (2001). Modelling and Quantitative Methods in Fisheres.


Chapman&Hall/CRC.USA.

Kimura, Daniel K. (1980). Likelihood Methods For The Von Bertalanffy Growth
Curve.

Fishery

Bulletin,

Vol.

77,

N.

4.

765776.

[online]

<http://allenlab.ifas.ufl.edu/courses/Kimura1979.pdf>.

Levie,Robertde(2001).HowtoUseExcelinAnalyticalChemestryandinGeneral
ScientificDataAnalysis.CambridgeUniversityPress.Cambridge.

Peres,Paula(2007).ExcelMacroseAplicaes.EdiesSlabo,Lda.Lisboa.

Prager, M. H., S. B. Saila, e C. W. Recksiek (1989). FISHPARM: a microcomputer


program for parameter estimation of nonlinear models in fishery science, second
edition.OldDominionUniversityOceanographyTechnicalReport8710.

Quin II, T. J., Deriso, R. B. (1999). Quantitative Fish Dynamics. Oxford University
Press.NewYork.

69

Wang,YouGan,eMilton,DavidA.(2000).Oncomparisonofgrowthcurves:How
dowetestwhethergrowthratesdiffer?.FisheryBulletin,Vol.98,874880.

70

ANEXOS

Anexo 1 Macros Desenvolvidas na Interface Comparao de Curvas de


CrescimentonocampoModules

OptionExplicit
PublicWorksheetAsString

Subcolar1()

Worksheets("AjusteaModelosdeCrescimento").Activate

DimnobsAsInteger

Range("$A$3:$A$203").Select
nobs=Selection.Rows.Count

Ifnobs=0ThenEnd

ReDim t(1 To nobs) As String, L(1 To nobs) As String, dv(1 To nobs) As String, tv1(1 To nobs) As
String,l1(1Tonobs)AsString,dv1(1Tonobs)AsString
ReDimtt(1Tonobs)AsString,LL(1Tonobs)AsString,dvv(1Tonobs)AsString,tv2(1Tonobs)As
String,l2(1Tonobs)AsString,dv2(1Tonobs)AsString
DimiAsInteger,jAsInteger

Application.ScreenUpdating=False

Fori=1Tonobs
Range("$A$3:$A$203").Select
t(i)=Selection.Item(i,1).Address
Range("$B$3:$B$203").Select
L(i)=Selection.Item(i,1).Address
Range("$C$3:$C$203").Select
dv(i)=Selection.Item(i,1).Address
Nexti

Fori=1Tonobs

Worksheets(1).Activate

Range("$A$3:$A$203").Select

tv1(i)=Selection.Item(i,1).Address
Range(tv1(i)).Value=Worksheets("AjusteaModelosdeCrescimento").Range(t(i))

Range("$B$3:$B$203").Select

l1(i)=Selection.Item(i,1).Address
Range(l1(i)).Value=Worksheets("AjusteaModelosdeCrescimento").Range(L(i))

Range("$C$3:$C$203").Select

71


dv1(i)=Selection.Item(i,1).Address
Range(dv1(i)).Value=Worksheets("AjusteaModelosdeCrescimento").Range(dv(i))

Range("$F$3").Value=Worksheets("AjusteaModelosdeCrescimento").Range("$F$3")
Range("$F$4").Value=Worksheets("AjusteaModelosdeCrescimento").Range("$F$4")
Range("$F$5").Value=Worksheets("AjusteaModelosdeCrescimento").Range("$F$5")

Nexti

Application.ScreenUpdating=True

EndSub

SubminimoquadrVBGC()

Worksheets(1).Activate

DimjAsInteger

'ProgramaroSolver
SolverOkSetCell:="$L$2",MaxMinVal:=2,ValueOf:="0",ByChange:=_
"$F$3,$F$4,$F$5"
SolverSolveTrue

CalldesviopadraoVBGC

'TranporosParametrosparaaareaderesultadosnafolhaprincipal

Worksheets("AjusteaModelosdeCrescimento").Activate
Range("$F$11").Value=Worksheets(1).Range("$F$3")
Range("$F$12").Value=Worksheets(1).Range("$F$4")
Range("$F$13").Value=Worksheets(1).Range("$F$5")
Range("$G$11").Value=Worksheets(1).Range("$G$3")
Range("$G$12").Value=Worksheets(1).Range("$G$4")
Range("$G$13").Value=Worksheets(1).Range("$G$5")
Range("$F$8").Value=Worksheets(1).Range("$F$8")
Range("$H$8").Value=Worksheets(1).Range("$H$8")
Range("$I$8").Value=Worksheets(1).Range("$L$2")

EndSub
SubminimoquadrL()

Worksheets(1).Activate

DimjAsInteger

'ProgramaroSolver
SolverOkSetCell:="$P$2",MaxMinVal:=2,ValueOf:="0",ByChange:=_
"$F$3,$F$4,$F$5"
SolverSolveTrue

CalldesviopadraoL

'TranporosParametrosparaaareaderesultadosnafolhaprincipal

72

Worksheets("AjusteaModelosdeCrescimento").Activate
Range("$F$11").Value=Worksheets(1).Range("$F$3")
Range("$F$12").Value=Worksheets(1).Range("$F$4")
Range("$F$13").Value=Worksheets(1).Range("$F$5")
Range("$G$11").Value=Worksheets(1).Range("$G$3")
Range("$G$12").Value=Worksheets(1).Range("$G$4")
Range("$G$13").Value=Worksheets(1).Range("$G$5")
Range("$F$8").Value=Worksheets(1).Range("$F$9")
Range("$H$8").Value=Worksheets(1).Range("$H$8")
Range("$I$8").Value=Worksheets(1).Range("$P$2")
EndSub

SubminimoquadrG()

Worksheets(1).Activate

DimjAsInteger

'ProgramaroSolver
SolverOkSetCell:="$T$2",MaxMinVal:=2,ValueOf:="0",ByChange:=_
"$F$3,$F$4,$F$5"
SolverSolveTrue

CalldesviopadraoG

'TranporosParametrosparaaareaderesultadosnafolhaprincipal

Worksheets("AjusteaModelosdeCrescimento").Activate
Range("$F$11").Value=Worksheets(1).Range("$F$3")
Range("$F$12").Value=Worksheets(1).Range("$F$4")
Range("$F$13").Value=Worksheets(1).Range("$F$5")
Range("$G$11").Value=Worksheets(1).Range("$G$3")
Range("$G$12").Value=Worksheets(1).Range("$G$4")
Range("$G$13").Value=Worksheets(1).Range("$G$5")
Range("$F$8").Value=Worksheets(1).Range("$F$10")
Range("$H$8").Value=Worksheets(1).Range("$H$8")
Range("$I$8").Value=Worksheets(1).Range("$T$2")
EndSub
SubdesviopadraoVBGC()

Worksheets(1).Activate

DimprangeAsRange
DimnpAsInteger,iAsInteger,iiAsInteger,jAsLong

'selecionarosparametrosobtidoscomosolver

Setprange=Range("$F$3:$F$5")
prange.Select
np=Selection.Rows.Count
Ifnp=0ThenEnd
DimpvalorAsVariant
pvalor=Selection.Value

'fazercomqueooutputdecadadesviopadraodosestimativassejaaoladodireitodestes
DimnAsInteger

73

n=0
Selection.Offset(0,1).Select

DimdpvalorAsVariant
DimdpAsVariant
dpvalor=Selection.Value
Fori=1Tonp
dp=dpvalor(i,1)
IfIsEmpty(dp)Then
n=n
Else
n=n+1
EndIf
Nexti

'seleccionarovalordaSQRobtidacomoSolver

DimsqrrangeAsRange

Setsqrrange=Range("$L$2")

sqrrange.Select
DimsqrvalorAsDouble
sqrvalor=Selection.Value

'seleccionarosvaloresdeL(t)obtidoscomoprimeirovectordosparametros

DimlcalcrangeAsRange

Setlcalcrange=Range("J2:J102")

lcalcrange.Select
DimnlAsInteger
nl=Selection.Rows.Count
DimlcvalueAsVariant
lcvalue=Selection.Value
Application.ScreenUpdating=False

'computarodesviopadrodoajustamento
DimdpajAsDouble
dpaj=Sqr(sqrvalor/(nlnp))

'computarasderivadasparciais

ReDimD(1Tonp,1Tonl)AsDouble
DimppvalueAsVariant
Fori=1Tonp
prange.Select
pvalor(i,1)=pvalor(i,1)*1.000001
Selection.Value=pvalor
lcalcrange.Select
DimllvalueAsVariant
llvalue=Selection.Value
Forj=1Tonl
D(i,j)=(llvalue(j,1)lcvalue(j,1))/(0.000001*pvalor(i,1))
Nextj

74

pvalor(i,1)=pvalor(i,1)/1.000001
Nexti

prange.Select
Selection.Value=pvalor

'matrizdesegundasderivadas(matrizhessiana)

ReDimDD(1Tonp,1Tonp,1Tonl)AsDouble
Fori=1Tonp
Forii=1Tonp
Forj=1Tonl
DD(i,ii,j)=D(i,j)*D(ii,j)
Nextj
Nextii
Nexti

'determinarovectorcomoselementosdadiagonaldamatrizhessianaeinvertiresta
ReDimSDD(1Tonp,1Tonp)AsDouble
ReDimSDDinv(1Tonp,1Tonp)AsDouble
Fori=1Tonp
Forii=1Tonp
SDD(i,ii)=0
Nextii
Nexti
Fori=1Tonp
Forii=1Tonp
Forj=1Tonl
SDD(i,ii)=SDD(i,ii)+DD(i,ii,j)
Nextj
Nextii
Nexti
CallInvert(SDD,np,SDDinv)
Fori=1Tonp
dpvalor(i,1)=dpaj*Sqr(SDDinv(i,i))
Nexti
DimrespostaAsString
prange.Select
Selection.Offset(0,1).Select
Selection.Font.Italic=True
Fori=1Tonp
Selection.Value=dpvalor
Nexti
EndSub
SubdesviopadraoL()

Worksheets(1).Activate

DimprangeAsRange
DimnpAsInteger,iAsInteger,iiAsInteger,jAsLong

'selecionarosparametrosobtidoscomosolver

Setprange=Range("$F$3:$F$5")
prange.Select
np=Selection.Rows.Count

75

Ifnp=0ThenEnd
DimpvalorAsVariant
pvalor=Selection.Value

'fazercomqueooutputdecadadesviopadraodosestimativassejaaoladodireitodestes
DimnAsInteger
n=0
Selection.Offset(0,1).Select

DimdpvalorAsVariant
DimdpAsVariant
dpvalor=Selection.Value
Fori=1Tonp
dp=dpvalor(i,1)
IfIsEmpty(dp)Then
n=n
Else
n=n+1
EndIf
Nexti

'seleccionarovalordaSQRobtidacomoSolver

DimsqrrangeAsRange

Setsqrrange=Range("$P$2")

sqrrange.Select
DimsqrvalorAsDouble
sqrvalor=Selection.Value

'seleccionarosvaloresdeL(t)obtidoscomoprimeirovectordosparametros

DimlcalcrangeAsRange

Setlcalcrange=Range("N2:N102")

lcalcrange.Select
DimnlAsInteger
nl=Selection.Rows.Count
DimlcvalueAsVariant
lcvalue=Selection.Value
Application.ScreenUpdating=False

'computarodesviopadrodoajustamento
DimdpajAsDouble
dpaj=Sqr(sqrvalor/(nlnp))

'computarasderivadasparciais

ReDimD(1Tonp,1Tonl)AsDouble
DimppvalueAsVariant
Fori=1Tonp
prange.Select
pvalor(i,1)=pvalor(i,1)*1.000001
Selection.Value=pvalor

76

lcalcrange.Select
DimllvalueAsVariant
llvalue=Selection.Value
Forj=1Tonl
D(i,j)=(llvalue(j,1)lcvalue(j,1))/(0.000001*pvalor(i,1))
Nextj
pvalor(i,1)=pvalor(i,1)/1.000001
Nexti

prange.Select
Selection.Value=pvalor

'matrizdesegundasderivadas(matrizhessiana)

ReDimDD(1Tonp,1Tonp,1Tonl)AsDouble
Fori=1Tonp
Forii=1Tonp
Forj=1Tonl
DD(i,ii,j)=D(i,j)*D(ii,j)
Nextj
Nextii
Nexti

'determinarovectorcomoselementosdadiagonaldamatrizhessianaeinvertiresta
ReDimSDD(1Tonp,1Tonp)AsDouble
ReDimSDDinv(1Tonp,1Tonp)AsDouble
Fori=1Tonp
Forii=1Tonp
SDD(i,ii)=0
Nextii
Nexti
Fori=1Tonp
Forii=1Tonp
Forj=1Tonl
SDD(i,ii)=SDD(i,ii)+DD(i,ii,j)
Nextj
Nextii
Nexti
CallInvert(SDD,np,SDDinv)
Fori=1Tonp
dpvalor(i,1)=dpaj*Sqr(SDDinv(i,i))
Nexti
DimrespostaAsString
prange.Select
Selection.Offset(0,1).Select
Selection.Font.Italic=True
Fori=1Tonp
Selection.Value=dpvalor
Nexti
EndSub
SubdesviopadraoG()

Worksheets(1).Activate

DimprangeAsRange
DimnpAsInteger,iAsInteger,iiAsInteger,jAsLong

77


'selecionarosparametrosobtidoscomosolver

Setprange=Range("$F$3:$F$5")
prange.Select
np=Selection.Rows.Count
Ifnp=0ThenEnd
DimpvalorAsVariant
pvalor=Selection.Value

'fazercomqueooutputdecadadesviopadraodosestimativassejaaoladodireitodestes
DimnAsInteger
n=0
Selection.Offset(0,1).Select

DimdpvalorAsVariant
DimdpAsVariant
dpvalor=Selection.Value
Fori=1Tonp
dp=dpvalor(i,1)
IfIsEmpty(dp)Then
n=n
Else
n=n+1
EndIf
Nexti

'seleccionarovalordaSQRobtidacomoSolver

DimsqrrangeAsRange

Setsqrrange=Range("$T$2")

sqrrange.Select
DimsqrvalorAsDouble
sqrvalor=Selection.Value

'seleccionarosvaloresdeL(t)obtidoscomoprimeirovectordosparametros

DimlcalcrangeAsRange

Setlcalcrange=Range("R2:R102")

lcalcrange.Select
DimnlAsInteger
nl=Selection.Rows.Count
DimlcvalueAsVariant
lcvalue=Selection.Value
Application.ScreenUpdating=False

'computarodesviopadrodoajustamento
DimdpajAsDouble
dpaj=Sqr(sqrvalor/(nlnp))

'computarasderivadasparciais

78

ReDimD(1Tonp,1Tonl)AsDouble
DimppvalueAsVariant
Fori=1Tonp
prange.Select
pvalor(i,1)=pvalor(i,1)*1.000001
Selection.Value=pvalor
lcalcrange.Select
DimllvalueAsVariant
llvalue=Selection.Value
Forj=1Tonl
D(i,j)=(llvalue(j,1)lcvalue(j,1))/(0.000001*pvalor(i,1))
Nextj
pvalor(i,1)=pvalor(i,1)/1.000001
Nexti

prange.Select
Selection.Value=pvalor

'matrizdesegundasderivadas(matrizhessiana)

ReDimDD(1Tonp,1Tonp,1Tonl)AsDouble
Fori=1Tonp
Forii=1Tonp
Forj=1Tonl
DD(i,ii,j)=D(i,j)*D(ii,j)
Nextj
Nextii
Nexti

'determinarovectorcomoselementosdadiagonaldamatrizhessianaeinvertiresta
ReDimSDD(1Tonp,1Tonp)AsDouble
ReDimSDDinv(1Tonp,1Tonp)AsDouble
Fori=1Tonp
Forii=1Tonp
SDD(i,ii)=0
Nextii
Nexti
Fori=1Tonp
Forii=1Tonp
Forj=1Tonl
SDD(i,ii)=SDD(i,ii)+DD(i,ii,j)
Nextj
Nextii
Nexti
CallInvert(SDD,np,SDDinv)
Fori=1Tonp
dpvalor(i,1)=dpaj*Sqr(SDDinv(i,i))
Nexti
DimrespostaAsString
prange.Select
Selection.Offset(0,1).Select
Selection.Font.Italic=True
Fori=1Tonp
Selection.Value=dpvalor
Nexti
EndSub

79

SubInvert(M1,r1,Mout)

'MacroparadeterminaramatrizinversaLevie(2001)
'AMatrizdeentradaM1,eamatrizdesada(output)Mout
'r1onmerodelinhasemM1
'tantoM1comoMoutsomatrizesquadradasr1xr1

DimbigAsDouble,dummyAsDouble,pivinvAsDouble
DimirowAsInteger,icolAsInteger
DimiAsInteger,jAsInteger
DimkAsInteger,LAsInteger,LLAsInteger

DimBB(1To4,1To4)AsDouble
Dimipivot(1To4)AsDouble
DimIndex(1To4)AsDouble
Dimindexr(1To4)AsDouble
Dimindexc(1To4)AsDouble
DimuAsDouble
u=1
DimzAsDouble
z=0
'copiaramatrizdeentradadeformaaretela
Fori=1Tor1
Forj=1Tor1
Mout(i,j)=M1(i,j)
Nextj
Nexti
'rotinadeGaussJordan

Forj=1Tor1
ipivot(j)=z
Nextj
Fori=1Tor1
big=z
Forj=1Tor1
Ifipivot(j)<>uThen
Fork=1Tor1
Ifipivot(k)=zThen
IfAbs(Mout(j,k))>=bigThen
big=Abs(Mout(j,k))
irow=j
icol=k
EndIf
ElseIfipivot(k)>1ThenExitSub
EndIf
Nextk
EndIf
Nextj
ipivot(icol)=ipivot(icol)+1
Ifirow<>icolThen
ForL=1Tor1
dummy=Mout(irow,L)
Mout(irow,L)=Mout(icol,L)
Mout(icol,L)=dummy
NextL
ForL=1Tor1

80

dummy=BB(irow,L)
BB(irow,L)=BB(icol,L)
BB(icol,L)=dummy
NextL
EndIf
indexr(i)=irow
indexc(i)=icol
IfMout(icol,icol)=zThenExitSub
pivinv=u/Mout(icol,icol)
Mout(icol,icol)=u
ForL=1Tor1
Mout(icol,L)=Mout(icol,L)*pivinv
NextL
ForL=1Tor1
BB(icol,L)=BB(icol,L)*pivinv
NextL
ForLL=1Tor1
IfLL<>icolThen
dummy=Mout(LL,icol)
Mout(LL,icol)=z
ForL=1Tor1
Mout(LL,L)=Mout(LL,L)Mout(icol,L)*dummy
NextL
ForL=1Tor1
BB(LL,L)=BB(LL,L)BB(icol,L)*dummy
NextL
EndIf
NextLL
Nexti
ForL=r1To1Step1
Ifindexr(L)<>indexc(L)Then
Fork=1Tor1
dummy=Mout(k,indexr(L))
Mout(k,indexr(L))=Mout(k,indexc(L))
Mout(k,indexc(L))=dummy
Nextk
EndIf
NextL
Eraseindexc,indexr,ipivot
Fori=1Tor1
Forj=1Tor1
Nextj
Nexti
EndSub

Subcolar2()

Worksheets("TestedeVerosimilhana").Activate

DimnobsAsInteger
Range("$A$4:$A$204").Select
nobs=Selection.Rows.Count
Ifnobs=0ThenEnd
ReDim t(1 To nobs) As String, L(1 To nobs) As String, dv(1 To nobs) As String, tv1(1 To nobs) As
String,l1(1Tonobs)AsString,dv1(1Tonobs)AsString

81

ReDimtt(1Tonobs)AsString,LL(1Tonobs)AsString,dvv(1Tonobs)AsString,tv2(1Tonobs)As
String,l2(1Tonobs)AsString,dv2(1Tonobs)AsString
DimiAsInteger,jAsInteger

Application.ScreenUpdating=False

Fori=1Tonobs
Range("$A$4:$A$204").Select
t(i)=Selection.Item(i,1).Address
Range("$B$4:$B$204").Select
L(i)=Selection.Item(i,1).Address
Range("$C$4:$C$204").Select
dv(i)=Selection.Item(i,1).Address
Range("$D$4:$D$204").Select
tt(i)=Selection.Item(i,1).Address
Range("$E$4:$E$204").Select
LL(i)=Selection.Item(i,1).Address
Range("$F$4:$F$204").Select
dvv(i)=Selection.Item(i,1).Address
Nexti

Fori=1Tonobs
Forj=3To6

Worksheets(j).Activate

Range("$A$3:$A$203").Select

tv1(i)=Selection.Item(i,1).Address
Range(tv1(i)).Value=Worksheets("TestedeVerosimilhana").Range(t(i))

Range("$B$3:$B$203").Select

l1(i)=Selection.Item(i,1).Address
Range(l1(i)).Value=Worksheets("TestedeVerosimilhana").Range(L(i))

Range("$C$3:$C$203").Select

dv1(i)=Selection.Item(i,1).Address
Range(dv1(i)).Value=Worksheets("TestedeVerosimilhana").Range(dv(i))

Range("$D$3:$D$203").Select

tv2(i)=Selection.Item(i,1).Address
Range(tv2(i)).Value=Worksheets("TestedeVerosimilhana").Range(tt(i))

Range("$E$3:$E$203").Select

l2(i)=Selection.Item(i,1).Address
Range(l2(i)).Value=Worksheets("TestedeVerosimilhana").Range(LL(i))

Range("$F$3:$F$203").Select

dv2(i)=Selection.Item(i,1).Address
Range(dv2(i)).Value=Worksheets("TestedeVerosimilhana").Range(dvv(i))

82

Range("I11").Value=Worksheets("TestedeVerosimilhana").Range("I6")
Range("I12").Value=Worksheets("TestedeVerosimilhana").Range("I11")

Nextj

Nexti

Application.ScreenUpdating=True

EndSub

SubKimuratestVBGC()

'testaraigualdadedascurvas
Application.ScreenUpdating=False
Worksheets(3).Activate

Range("I3").Value=Worksheets("TestedeVerosimilhana").Range("I3")
Range("I4").Value=Worksheets("TestedeVerosimilhana").Range("I4")
Range("I5").Value=Worksheets("TestedeVerosimilhana").Range("I5")

'ProgramaroSolver
SolverOkSetCell:="$O$3",MaxMinVal:=2,ValueOf:="0",ByChange:=_
"$I$3,$I$4,$I$5"
SolverSolveTrue

'testaraigualdadenolinf

Worksheets(4).Activate

Range("I3").Value=Worksheets("TestedeVerosimilhana").Range("I3")
Range("I4").Value=Worksheets("TestedeVerosimilhana").Range("I4")
Range("I5").Value=Worksheets("TestedeVerosimilhana").Range("I5")
Range("I8").Value=Worksheets("TestedeVerosimilhana").Range("I9")
Range("I9").Value=Worksheets("TestedeVerosimilhana").Range("I10")

'ProgramaroSolver
SolverOkSetCell:="$O$3",MaxMinVal:=2,ValueOf:="0",ByChange:=_
"$I$3,$I$4,$I$5,$I$8,$I$9"
SolverSolveTrue

'testaraigualdadenok

Worksheets(5).Activate
Range("I3").Value=Worksheets("TestedeVerosimilhana").Range("I3")
Range("I4").Value=Worksheets("TestedeVerosimilhana").Range("I4")
Range("I5").Value=Worksheets("TestedeVerosimilhana").Range("I5")
Range("I7").Value=Worksheets("TestedeVerosimilhana").Range("I8")
Range("I9").Value=Worksheets("TestedeVerosimilhana").Range("I10")

'ProgramaroSolver
SolverOkSetCell:="$O$3",MaxMinVal:=2,ValueOf:="0",ByChange:=_
"$I$3,$I$4,$I$5,$I$7,$I$9"
SolverSolveTrue

'testaraigualdadenot0

83


Worksheets(6).Activate

Range("I3").Value=Worksheets("TestedeVerosimilhana").Range("I3")
Range("I4").Value=Worksheets("TestedeVerosimilhana").Range("I4")
Range("I5").Value=Worksheets("TestedeVerosimilhana").Range("I5")
Range("I7").Value=Worksheets("TestedeVerosimilhana").Range("I8")
Range("I8").Value=Worksheets("TestedeVerosimilhana").Range("I9")

'ProgramaroSolver
SolverOkSetCell:="$O$3",MaxMinVal:=2,ValueOf:="0",ByChange:=_
"$I$3,$I$4,$I$5,$I$7,$I$8"
SolverSolveTrue
Application.ScreenUpdating=True
EndSub
SubKimuratestL()

Application.ScreenUpdating=False

'testaraigualdadedascurvas

Worksheets(3).Activate

Range("I3").Value=Worksheets("TestedeVerosimilhana").Range("I3")
Range("I4").Value=Worksheets("TestedeVerosimilhana").Range("I4")
Range("I5").Value=Worksheets("TestedeVerosimilhana").Range("I5")

'ProgramaroSolver
SolverOkSetCell:="$X$3",MaxMinVal:=2,ValueOf:="0",ByChange:=_
"$I$3,$I$4,$I$5"
SolverSolveTrue

'testaraigualdadenolinf

Worksheets(4).Activate

Range("I3").Value=Worksheets("TestedeVerosimilhana").Range("I3")
Range("I4").Value=Worksheets("TestedeVerosimilhana").Range("I4")
Range("I5").Value=Worksheets("TestedeVerosimilhana").Range("I5")
Range("I8").Value=Worksheets("TestedeVerosimilhana").Range("I9")
Range("I9").Value=Worksheets("TestedeVerosimilhana").Range("I10")

'ProgramaroSolver
SolverOkSetCell:="$X$3",MaxMinVal:=2,ValueOf:="0",ByChange:=_
"$I$3,$I$4,$I$5,$I$8,$I$9"
SolverSolveTrue

'testaraigualdadenok

Worksheets(5).Activate
Range("I3").Value=Worksheets("TestedeVerosimilhana").Range("I3")
Range("I4").Value=Worksheets("TestedeVerosimilhana").Range("I4")
Range("I5").Value=Worksheets("TestedeVerosimilhana").Range("I5")
Range("I7").Value=Worksheets("TestedeVerosimilhana").Range("I8")
Range("I9").Value=Worksheets("TestedeVerosimilhana").Range("I10")

84

'ProgramaroSolver
SolverOkSetCell:="$X$3",MaxMinVal:=2,ValueOf:="0",ByChange:=_
"$I$3,$I$4,$I$5,$I$7,$I$9"
SolverSolveTrue

'testaraigualdadenot0

Worksheets(6).Activate

Range("I3").Value=Worksheets("TestedeVerosimilhana").Range("I3")
Range("I4").Value=Worksheets("TestedeVerosimilhana").Range("I4")
Range("I5").Value=Worksheets("TestedeVerosimilhana").Range("I5")
Range("I7").Value=Worksheets("TestedeVerosimilhana").Range("I8")
Range("I8").Value=Worksheets("TestedeVerosimilhana").Range("I9")

'ProgramaroSolver
SolverOkSetCell:="$X$3",MaxMinVal:=2,ValueOf:="0",ByChange:=_
"$I$3,$I$4,$I$5,$I$7,$I$8"
SolverSolveTrue
Application.ScreenUpdating=True

EndSub
SubKimuratestG()

Application.ScreenUpdating=False

'testaraigualdadedascurvas

Worksheets(3).Activate

Range("I3").Value=Worksheets("TestedeVerosimilhana").Range("I3")
Range("I4").Value=Worksheets("TestedeVerosimilhana").Range("I4")
Range("I5").Value=Worksheets("TestedeVerosimilhana").Range("I5")

'ProgramaroSolver
SolverOkSetCell:="$AG$3",MaxMinVal:=2,ValueOf:="0",ByChange:=_
"$I$3,$I$4,$I$5"
SolverSolveTrue

'testaraigualdadenolinf

Worksheets(4).Activate

Range("I3").Value=Worksheets("TestedeVerosimilhana").Range("I3")
Range("I4").Value=Worksheets("TestedeVerosimilhana").Range("I4")
Range("I5").Value=Worksheets("TestedeVerosimilhana").Range("I5")
Range("I8").Value=Worksheets("TestedeVerosimilhana").Range("I9")
Range("I9").Value=Worksheets("TestedeVerosimilhana").Range("I10")

'ProgramaroSolver
SolverOkSetCell:="$AG$3",MaxMinVal:=2,ValueOf:="0",ByChange:=_
"$I$3,$I$4,$I$5,$I$8,$I$9"
SolverSolveTrue

'testaraigualdadenok

85

Worksheets(5).Activate
Range("I3").Value=Worksheets("TestedeVerosimilhana").Range("I3")
Range("I4").Value=Worksheets("TestedeVerosimilhana").Range("I4")
Range("I5").Value=Worksheets("TestedeVerosimilhana").Range("I5")
Range("I7").Value=Worksheets("TestedeVerosimilhana").Range("I8")
Range("I9").Value=Worksheets("TestedeVerosimilhana").Range("I10")

'ProgramaroSolver
SolverOkSetCell:="$AG$3",MaxMinVal:=2,ValueOf:="0",ByChange:=_
"$I$3,$I$4,$I$5,$I$7,$I$9"
SolverSolveTrue

'testaraigualdadenot0

Worksheets(6).Activate

Range("I3").Value=Worksheets("TestedeVerosimilhana").Range("I3")
Range("I4").Value=Worksheets("TestedeVerosimilhana").Range("I4")
Range("I5").Value=Worksheets("TestedeVerosimilhana").Range("I5")
Range("I7").Value=Worksheets("TestedeVerosimilhana").Range("I8")
Range("I8").Value=Worksheets("TestedeVerosimilhana").Range("I9")

'ProgramaroSolver
SolverOkSetCell:="$AG$3",MaxMinVal:=2,ValueOf:="0",ByChange:=_
"$I$3,$I$4,$I$5,$I$7,$I$8"
SolverSolveTrue

Application.ScreenUpdating=True
EndSub

SubgraficoVBGC()

Worksheets("AjusteaModelosdeCrescimento").Activate

Dimt1AsRange
DimntAsDouble
Dimi,jAsInteger

nt=Range("F11").Value
Range("R2").Value=0
Sett1=Range("R2")

'colardadosintroduzidosparacriarografico

DimvAsVariant
DimbAsVariant
Dimidd(1To200)AsString

Application.ScreenUpdating=False

Fori=1To200

Range("A3:A200").Select

idd(i)=Selection.Item(i,1).Address

86

Nexti

Fori=1To200

v=Range(idd(i)).Value

b=Round(v,1)*10+1

Range("T2:T1000").Select

Selection.Item(b,1).Value=Range("B2").Offset(i,0).Value

Nexti

IfRange(idd(1)).Value=0Then

Range("T2:T1000").Select

Selection.Item(1,1).Value=Range("B3").Value

ElseIfRange(idd(1)).Value<>0Then

Range("T2:T1000").Select

Selection.Item(1,1).Value=""

EndIf

'criarumaseriedenmerosnacolunaaoladodoscomprimentosparacadamodelos

DimiddmaxAsDouble

iddmax=Range("$P$11").Value*10

Forj=1Toiddmax

t1.Offset(j)=t1.Offset(j1).Value+0.1

Nextj

Application.ScreenUpdating=True

'procuraasclulasquenoestovazias

Dimcol1AsRange,col2AsRange,col3AsRange
DimTempChartAsChart
DimDadosAsRange

Setcol1=Cells(Rows.Count,"R").End(xlUp)

SetDados=Union(Range("R1",col1),Range("S1",col1),Range("T1",col1))

'Adicionarogrfico
Application.ScreenUpdating=False
SetTempChart=ActiveSheet.Shapes.AddChart.Chart

87

TempChart.SetSourceDataSource:=Dados

'Formatarogrfico

WithTempChart
.ChartType=xlLineMarkers
.SetSourceDataSource:=Dados
.HasLegend=True
.SeriesCollection(1).ChartType=xlLine
'.PlotArea.Interior.ColorIndex=xlNone
.Axes(xlValue).MajorGridlines.Delete
'.ApplyDataLabelsType:=xlDataLabelsShowValue,LegendKey:=False
.Axes(xlValue).MaximumScale=nt
.Axes(xlValue).MinimumScale=0
'.Axes(xlCategory).MaximumScale=1
.ChartArea.Format.Line.Visible=False
.HasTitle=False
.Axes(xlCategory,xlPrimary).HasTitle=True
.Axes(xlCategory,xlPrimary).AxisTitle.Characters.Text="Idade"
.Axes(xlValue,xlPrimary).HasTitle=True
.Axes(xlValue,xlPrimary).AxisTitle.Characters.Text="Comprimento"
.SeriesCollection(2).Select
WithSelection
.MarkerStyle=1
.MarkerSize=3
EndWith
EndWith

WithTempChart.ChartArea.Format.Shadow
.Visible=msoTrue
.Blur=3
.Transparency=0.6
.OffsetX=6
.OffsetY=6

EndWith

'AjustarotamanhodoChartObject
WithActiveSheet.ChartObjects(1)
.Width=600
.Height=400
EndWith

'salvargrficocomoGIF
DimFNameAsString
FName=ThisWorkbook.Path&Application.PathSeparator&"temp.gif"
TempChart.ExportFilename:=FName,filterName:="GIF"
ActiveSheet.ChartObjects(1).Delete
Application.ScreenUpdating=True
EndSub

SubgraficoL()

Worksheets("AjusteaModelosdeCrescimento").Activate

Dimt1AsRange

88

DimntAsDouble
Dimi,jAsInteger

nt=Range("F11").Value
Range("V2").Value=0
Sett1=Range("V2")

'colardadosintroduzidosparacriarografico

DimvAsVariant
DimbAsVariant
Dimidd(1To200)AsString

Application.ScreenUpdating=False

Fori=1To200
Range("A3:A200").Select

idd(i)=Selection.Item(i,1).Address

Nexti

Fori=1To200
v=Range(idd(i)).Value

b=Round(v,1)*10+1

Range("X2:X1000").Select

Selection.Item(b,1).Value=Range("B2").Offset(i,0).Value

Nexti

IfRange(idd(1)).Value=0Then

Range("X2:X1000").Select

Selection.Item(1,1).Value=Range("B3").Value

Else

Range("X2:X1000").Select

Selection.Item(1,1).Value=""

EndIf

'criarumaseriedenmerosnacolunaaoladodoscomprimentosparacadamodelos

DimiddmaxAsDouble

iddmax=Range("$P$12").Value*10

Forj=1Toiddmax

t1.Offset(j)=t1.Offset(j1).Value+0.1

89


Nextj

Application.ScreenUpdating=True

'procuraasclulasquenoestovazias

Dimcol1AsRange,col2AsRange,col3AsRange
DimTempChartAsChart
DimDadosAsRange

Setcol1=Cells(Rows.Count,"V").End(xlUp)

SetDados=Union(Range("V1",col1),Range("W1",col1),Range("X1",col1))

'Adicionarogrfico
Application.ScreenUpdating=False
SetTempChart=ActiveSheet.Shapes.AddChart.Chart
TempChart.SetSourceDataSource:=Dados

'Formatarogrfico

WithTempChart
.ChartType=xlLineMarkers
.SetSourceDataSource:=Dados
.HasLegend=True
.SeriesCollection(1).ChartType=xlLine
'.PlotArea.Interior.ColorIndex=xlNone
.Axes(xlValue).MajorGridlines.Delete
'.ApplyDataLabelsType:=xlDataLabelsShowValue,LegendKey:=False
.Axes(xlValue).MaximumScale=nt
.Axes(xlValue).MinimumScale=0
'.Axes(xlCategory).MaximumScale=1
.ChartArea.Format.Line.Visible=False
.HasTitle=False
.Axes(xlCategory,xlPrimary).HasTitle=True
.Axes(xlCategory,xlPrimary).AxisTitle.Characters.Text="Idade"
.Axes(xlValue,xlPrimary).HasTitle=True
.Axes(xlValue,xlPrimary).AxisTitle.Characters.Text="Comprimento"
.SeriesCollection(2).Select
WithSelection
.MarkerStyle=1
.MarkerSize=3
EndWith
EndWith

WithTempChart.ChartArea.Format.Shadow
.Visible=msoTrue
.Blur=3
.Transparency=0.6
.OffsetX=6
.OffsetY=6

EndWith

90

'AjustarotamanhodoChartObject
WithActiveSheet.ChartObjects(1)
.Width=600
.Height=400
EndWith

'salvargrficocomoGIF

DimFNameAsString
FName=ThisWorkbook.Path&Application.PathSeparator&"temp.gif"
TempChart.ExportFilename:=FName,filterName:="GIF"
ActiveSheet.ChartObjects(1).Delete
Application.ScreenUpdating=True

EndSub
SubgraficoG()

Worksheets("AjusteaModelosdeCrescimento").Activate

Dimt1AsRange
DimntAsDouble
Dimi,jAsInteger

nt=Range("F11").Value
Range("Z2").Value=0
Sett1=Range("Z2")

'colardadosintroduzidosparacriaroeixodasabcissasdogrfico

DimvAsVariant
DimbAsVariant
Dimidd(1To200)AsString

Application.ScreenUpdating=False

Fori=1To200

Range("A3:A200").Select

idd(i)=Selection.Item(i,1).Address

Nexti

Fori=1To200

v=Range(idd(i)).Value

b=Round(v,1)*10+1

Range("AB2:AB2000").Select

Selection.Item(b,1).Value=Range("B2").Offset(i,0).Value

Nexti

IfRange(idd(1)).Value=0Then

91


Range("AB2:AB2000").Select

Selection.Item(1,1).Value=Range("B3").Value

Else

Range("AB2:AB2000").Select

Selection.Item(1,1).Value=""

EndIf

'criarumaseriedenmerosnacolunaaoladodoscomprimentosparacadamodelos

DimiddmaxAsDouble

iddmax=Range("$P$13").Value*10

Forj=1Toiddmax

t1.Offset(j)=t1.Offset(j1).Value+0.1

Nextj

Application.ScreenUpdating=True

'procuraasclulasquenoestovazias

Dimcol1AsRange,col2AsRange,col3AsRange
DimTempChartAsChart
DimDadosAsRange

Setcol1=Cells(Rows.Count,"Z").End(xlUp)

SetDados=Union(Range("Z1",col1),Range("AA1",col1),Range("AB1",col1))

'Adicionarogrfico

Application.ScreenUpdating=False
SetTempChart=ActiveSheet.Shapes.AddChart.Chart
TempChart.SetSourceDataSource:=Dados

'Formatarogrfico

WithTempChart
.ChartType=xlLineMarkers
.SetSourceDataSource:=Dados
.HasLegend=True
.SeriesCollection(1).ChartType=xlLine
'.PlotArea.Interior.ColorIndex=xlNone
.Axes(xlValue).MajorGridlines.Delete
'.ApplyDataLabelsType:=xlDataLabelsShowValue,LegendKey:=False
.Axes(xlValue).MaximumScale=nt
.Axes(xlValue).MinimumScale=0
'.Axes(xlCategory).MaximumScale=1

92

.ChartArea.Format.Line.Visible=False
.HasTitle=False
.Axes(xlCategory,xlPrimary).HasTitle=True
.Axes(xlCategory,xlPrimary).AxisTitle.Characters.Text="Idade"
.Axes(xlValue,xlPrimary).HasTitle=True
.Axes(xlValue,xlPrimary).AxisTitle.Characters.Text="Comprimento"
.SeriesCollection(2).Select
WithSelection
.MarkerStyle=1
.MarkerSize=3
EndWith
EndWith

WithTempChart.ChartArea.Format.Shadow
.Visible=msoTrue
.Blur=3
.Transparency=0.6
.OffsetX=6
.OffsetY=6

EndWith

'AjustarotamanhodoChartObject
WithActiveSheet.ChartObjects(1)
.Width=600
.Height=400
EndWith

'salvargrficocomoGIF
DimFNameAsString
FName=ThisWorkbook.Path&Application.PathSeparator&"temp.gif"
TempChart.ExportFilename:=FName,filterName:="GIF"
ActiveSheet.ChartObjects(1).Delete
Application.ScreenUpdating=True

EndSub
SubgraficoVBGCduas()

Worksheets("TestedeVerosimilhana").Activate

Dimt1AsRange
DimntAsDouble
Dimi,jAsInteger

IfRange("I3").Value>=Range("I8").ValueThen

nt=Range("I3").Value

Else

nt=Range("I8").Value

EndIf

'colardadosintroduzidosrelativosprimeiraamostra

93

DimvAsVariant
DimbAsVariant
Dimidd(1To204)AsString

Application.ScreenUpdating=False

Fori=1To204

Range("A4:A204").Select

idd(i)=Selection.Item(i,1).Address

Nexti

Fori=1To200

v=Range(idd(i)).Value

b=Round(v,1)*10+1

Range("U2:U1000").Select

Selection.Item(b,1).Value=Range("B3").Offset(i,0).Value

Nexti

IfRange(idd(1)).Value=0Then

Range("U2:U1000").Select

Selection.Item(1,1).Value=Range("B4").Value

Else

Range("U2:U1000").Select

Selection.Item(1,1).Value=""

EndIf

'colardadosintroduzidosrelativossegundaamostra
Dimv2AsVariant
Dimb2AsVariant
Dimidd2(1To204)AsString

Application.ScreenUpdating=False
Fori=1To204

Range("D4:D204").Select

idd2(i)=Selection.Item(i,1).Address

Nexti

Fori=1To200

94

v2=Range(idd2(i)).Value

b2=Round(v2,1)*10+1

Range("V2:V1000").Select

Selection.Item(b2,1).Value=Range("E3").Offset(i,0).Value

Nexti

IfRange(idd2(1)).Value=0Then

Range("V2:V1000").Select

Selection.Item(1,1).Value=Range("E4").Value

ElseIfRange(idd2(1)).Value<>0Then

Range("V2:V1000").Select

Selection.Item(1,1).Value=""

EndIf

'criarumaseriedenmerosnacolunaaoladodoscomprimentosparacadaomodelo

Range("R2").Value=0

Sett1=Range("R2")

DimiddmaxAsDouble

IfRange("$P$11").Value>=Range("$P$14").ValueThen

iddmax=Range("$P$11").Value*10

Else

iddmax=Range("$P$14").Value*10

EndIf

Forj=1Toiddmax

t1.Offset(j)=t1.Offset(j1).Value+0.1

Nextj

Application.ScreenUpdating=True

'procuraasclulasquenoestovazias

Dimcol1AsRange,col2AsRange,col3AsRange
DimTempChartAsChart
DimDadosAsRange

95

Setcol1=Cells(Rows.Count,"R").End(xlUp)

Set Dados = Union(Range("R1", col1), Range("S1", col1), Range("T1", col1), Range("U1", col1),
Range("V1",col1))

'Adicionarogrfico
Application.ScreenUpdating=False
SetTempChart=ActiveSheet.Shapes.AddChart.Chart
TempChart.SetSourceDataSource:=Dados

'Formatarogrfico

WithTempChart
.ChartType=xlLineMarkers
.SetSourceDataSource:=Dados
.HasLegend=True
.SeriesCollection(1).ChartType=xlLine
.SeriesCollection(2).ChartType=xlLine
'.PlotArea.Interior.ColorIndex=xlNone
.Axes(xlValue).MajorGridlines.Delete
'.ApplyDataLabelsType:=xlDataLabelsShowValue,LegendKey:=False
.Axes(xlValue).MaximumScale=nt
.Axes(xlValue).MinimumScale=0
'.Axes(xlCategory).MaximumScale=1
.ChartArea.Format.Line.Visible=False
.HasTitle=False
.Axes(xlCategory,xlPrimary).HasTitle=True
.Axes(xlCategory,xlPrimary).AxisTitle.Characters.Text="Idade"
.Axes(xlValue,xlPrimary).HasTitle=True
.Axes(xlValue,xlPrimary).AxisTitle.Characters.Text="Comprimento"
.SeriesCollection(3).Select
WithSelection
.MarkerStyle=1
.MarkerSize=3
EndWith
.SeriesCollection(4).Select
WithSelection
.MarkerStyle=2
.MarkerSize=5
EndWith
EndWith

WithTempChart.ChartArea.Format.Shadow
.Visible=msoTrue
.Blur=3
.Transparency=0.6
.OffsetX=6
.OffsetY=6

EndWith

'AjustarotamanhodoChartObject
WithActiveSheet.ChartObjects(1)
.Width=600
.Height=400
EndWith

96


'salvargrficocomoGIF
DimFNameAsString
FName=ThisWorkbook.Path&Application.PathSeparator&"temp.gif"
TempChart.ExportFilename:=FName,filterName:="GIF"
ActiveSheet.ChartObjects(1).Delete
Application.ScreenUpdating=True
EndSub

SubgraficoLduas()

Worksheets("TestedeVerosimilhana").Activate

Dimt1AsRange
DimntAsDouble
Dimi,jAsInteger

IfRange("I3").Value>=Range("I8").ValueThen

nt=Range("I3").Value

Else

nt=Range("I8").Value

EndIf

'colardadosintroduzidosrelativosprimeiraamostra

DimvAsVariant
DimbAsVariant
Dimidd(1To204)AsString

Application.ScreenUpdating=False
Fori=1To204

Range("A4:A204").Select

idd(i)=Selection.Item(i,1).Address

Fori=1To200

v=Range(idd(i)).Value

b=Round(v,1)*10+1

Range("AA2:AA1000").Select

Selection.Item(b,1).Value=Range("B3").Offset(i,0).Value

Nexti

Nexti

IfRange(idd(i)).Value=0Then

97


Range("AA2:AA1000").Select

Selection.Item(1,1).Value=Range("B4").Value

Else

Selection.Item(1,1).Value=""

EndIf

'colardadosintroduzidosrelativossegundaamostra
Dimv2AsVariant
Dimb2AsVariant
Dimidd2(1To204)AsString

Application.ScreenUpdating=False
Fori=1To204

Range("D4:D204").Select

idd2(i)=Selection.Item(i,1).Address

Nexti

IfRange(idd2(i)).Value=0Then

Range("AB2:AB1000").Select

Selection.Item(1,1).Value=Range("E4").Value

Else

Selection.Item(1,1).Value=Range("E4").Value

EndIf

Fori=1To204

v2=Range(idd2(i)).Value

b2=Round(v2,1)*10+1

Range("AB2:AB1000").Select

Selection.Item(b2,1).Value=Range("E3").Offset(i,0).Value

Nexti

'criarumaseriedenmerosnacolunaaoladodoscomprimentosparacadaomodelo

Range("X2").Value=0

Sett1=Range("X2")

DimiddmaxAsDouble

98


IfRange("$P$11").Value>=Range("$P$14").ValueThen

iddmax=Range("$P$11").Value*10

Else

iddmax=Range("$P$14").Value*10

EndIf

Forj=1Toiddmax

t1.Offset(j)=t1.Offset(j1).Value+0.1

Nextj

Application.ScreenUpdating=True

'procuraasclulasquenoestovazias

Dimcol1AsRange,col2AsRange,col3AsRange
DimTempChartAsChart
DimDadosAsRange

Setcol1=Cells(Rows.Count,"X").End(xlUp)

Set Dados = Union(Range("X1", col1), Range("Y1", col1), Range("Z1", col1), Range("AA1", col1),
Range("AB1",col1))

'Adicionarogrfico
Application.ScreenUpdating=False
SetTempChart=ActiveSheet.Shapes.AddChart.Chart
TempChart.SetSourceDataSource:=Dados

'Formatarogrfico

WithTempChart
.ChartType=xlLineMarkers
.SetSourceDataSource:=Dados
.HasLegend=True
.SeriesCollection(1).ChartType=xlLine
.SeriesCollection(2).ChartType=xlLine
'.PlotArea.Interior.ColorIndex=xlNone
.Axes(xlValue).MajorGridlines.Delete
'.ApplyDataLabelsType:=xlDataLabelsShowValue,LegendKey:=False
.Axes(xlValue).MaximumScale=nt
.Axes(xlValue).MinimumScale=0
'.Axes(xlCategory).MaximumScale=1
.ChartArea.Format.Line.Visible=False
.HasTitle=False
.Axes(xlCategory,xlPrimary).HasTitle=True
.Axes(xlCategory,xlPrimary).AxisTitle.Characters.Text="Idade"
.Axes(xlValue,xlPrimary).HasTitle=True
.Axes(xlValue,xlPrimary).AxisTitle.Characters.Text="Comprimento"
.SeriesCollection(3).Select

99

WithSelection
.MarkerStyle=1
.MarkerSize=3
EndWith
.SeriesCollection(4).Select
WithSelection
.MarkerStyle=2
.MarkerSize=5
EndWith
EndWith

WithTempChart.ChartArea.Format.Shadow
.Visible=msoTrue
.Blur=3
.Transparency=0.6
.OffsetX=6
.OffsetY=6

EndWith

'AjustarotamanhodoChartObject
WithActiveSheet.ChartObjects(1)
.Width=600
.Height=400
EndWith

'salvargrficocomoGIF
DimFNameAsString
FName=ThisWorkbook.Path&Application.PathSeparator&"temp.gif"
TempChart.ExportFilename:=FName,filterName:="GIF"
ActiveSheet.ChartObjects(1).Delete
Application.ScreenUpdating=True

EndSub
SubgraficoGduas()

Worksheets("TestedeVerosimilhana").Activate

Dimt1AsRange
DimntAsDouble
Dimi,jAsInteger

IfRange("I3").Value>=Range("I8").ValueThen

nt=Range("I3").Value

Else

nt=Range("I8").Value

EndIf

'colardadosintroduzidosrelativosprimeiraamostra

100

DimvAsVariant
DimbAsVariant
Dimidd(1To204)AsString

Application.ScreenUpdating=False

Fori=1To204

Range("A4:A204").Select

idd(i)=Selection.Item(i,1).Address

Nexti

Fori=1To204

v=Range(idd(i)).Value

b=Round(v,1)*10+1

Range("AG2:AG1000").Select

Selection.Item(b,1).Value=Range("B3").Offset(i,0).Value

Nexti

IfRange(idd(i)).Value=0Then

Range("AG2:AG1000").Select

Selection.Item(1,1).Value=Range("B4").Value

Else

Selection.Item(1,1).Value=""

EndIf

'colardadosintroduzidosrelativossegundaamostra
Dimv2AsVariant
Dimb2AsVariant
Dimidd2(1To204)AsString

Application.ScreenUpdating=False
Fori=1To204

Range("D4:D204").Select

idd2(i)=Selection.Item(i,1).Address

IfRange(idd2(i)).Value=0Then

Range("AH2:AH1000").Select

Selection.Item(1,1).Value=Range("E4").Value

101


Else

v2=Range(idd2(i)).Value

b2=Round(v2,1)*10+1

Range("AH2:AH1000").Select

Selection.Item(b2,1).Value=Range("E3").Offset(i,0).Value

EndIf

Nexti

'criarumaseriedenmerosnacolunaaoladodoscomprimentosparacadaomodelo

Range("AD2").Value=0

Sett1=Range("AD2")

DimiddmaxAsDouble

IfRange("$P$11").Value>=Range("$P$14").ValueThen

iddmax=Range("$P$11").Value*10

Else

iddmax=Range("$P$14").Value*10

EndIf

Forj=1Toiddmax

t1.Offset(j)=t1.Offset(j1).Value+0.1

Nextj

Application.ScreenUpdating=True

'procuraasclulasquenoestovazias

Dimcol1AsRange,col2AsRange,col3AsRange
DimTempChartAsChart
DimDadosAsRange

Setcol1=Cells(Rows.Count,"AD").End(xlUp)

SetDados=Union(Range("AD1",col1),Range("AE1",col1),Range("AF1",col1),Range("AG1",col1),
Range("AH1",col1))

'Adicionarogrfico
Application.ScreenUpdating=False
SetTempChart=ActiveSheet.Shapes.AddChart.Chart
TempChart.SetSourceDataSource:=Dados

102


'Formatarogrfico

WithTempChart
.ChartType=xlLineMarkers
.SetSourceDataSource:=Dados
.HasLegend=True
.SeriesCollection(1).ChartType=xlLine
.SeriesCollection(2).ChartType=xlLine
'.PlotArea.Interior.ColorIndex=xlNone
.Axes(xlValue).MajorGridlines.Delete
'.ApplyDataLabelsType:=xlDataLabelsShowValue,LegendKey:=False
.Axes(xlValue).MaximumScale=nt
.Axes(xlValue).MinimumScale=0
'.Axes(xlCategory).MaximumScale=1
.ChartArea.Format.Line.Visible=False
.HasTitle=False
.Axes(xlCategory,xlPrimary).HasTitle=True
.Axes(xlCategory,xlPrimary).AxisTitle.Characters.Text="Idade"
.Axes(xlValue,xlPrimary).HasTitle=True
.Axes(xlValue,xlPrimary).AxisTitle.Characters.Text="Comprimento"
.SeriesCollection(3).Select
WithSelection
.MarkerStyle=1
.MarkerSize=3
EndWith
.SeriesCollection(4).Select
WithSelection
.MarkerStyle=2
.MarkerSize=5
EndWith
EndWith

WithTempChart.ChartArea.Format.Shadow
.Visible=msoTrue
.Blur=3
.Transparency=0.6
.OffsetX=6
.OffsetY=6

EndWith

'AjustarotamanhodoChartObject
WithActiveSheet.ChartObjects(1)
.Width=600
.Height=400
EndWith

'salvargrficocomoGIF
DimFNameAsString
FName=ThisWorkbook.Path&Application.PathSeparator&"temp.gif"
TempChart.ExportFilename:=FName,filterName:="GIF"
ActiveSheet.ChartObjects(1).Delete
Application.ScreenUpdating=True

EndSub

103

SubgraficoVBGC1VBGC2()

Worksheets("ComparaoPontual").Activate

Dimt1AsRange
DimntAsDouble
Dimi,jAsInteger

IfRange("I3").Value>=Range("I8").ValueThen

nt=Range("I3").Value

Else

nt=Range("I8").Value

EndIf

'criarumaseriedenmerosnacolunaaoladodoscomprimentosparacadaomodelo

Range("AC2").Value=0

Sett1=Range("AC2")

DimiddmaxAsDouble

IfRange("$P$40").Value>=Range("$P$43").ValueThen

iddmax=Range("$P$40").Value*10

Else

iddmax=Range("$P$43").Value*10

EndIf

Forj=1Toiddmax

t1.Offset(j)=t1.Offset(j1).Value+0.1

Nextj

Application.ScreenUpdating=True

'procuraasclulasquenoestovazias

Dimcol1AsRange,col2AsRange,col3AsRange
DimTempChartAsChart
DimDadosAsRange

Setcol1=Cells(Rows.Count,"AC").End(xlUp)

'Setcol2=Cells(Rows.Count,"AD").End(xlUp)

104

'Setcol3=Cells(Rows.Count,"AG").End(xlUp)

SetDados=Union(Range("AC1",col1),Range("AD1",col1.Offset(0,1)),Range("AG1",col1.Offset(0,
4)))

'Adicionarogrfico
Application.ScreenUpdating=False
SetTempChart=ActiveSheet.Shapes.AddChart.Chart
TempChart.SetSourceDataSource:=Dados

'Formatarogrfico

WithTempChart
.ChartType=xlLine
.SetSourceDataSource:=Dados
.HasLegend=True

'.PlotArea.Interior.ColorIndex=xlNone
.Axes(xlValue).MajorGridlines.Delete
'.ApplyDataLabelsType:=xlDataLabelsShowValue,LegendKey:=False
.Axes(xlValue).MaximumScale=nt
.Axes(xlValue).MinimumScale=0
'.Axes(xlCategory).MaximumScale=1
.ChartArea.Format.Line.Visible=False
.HasTitle=False
.Axes(xlCategory,xlPrimary).HasTitle=True
.Axes(xlCategory,xlPrimary).AxisTitle.Characters.Text="Idade"
.Axes(xlValue,xlPrimary).HasTitle=True
.Axes(xlValue,xlPrimary).AxisTitle.Characters.Text="Comprimento"

EndWith

WithTempChart.ChartArea.Format.Shadow
.Visible=msoTrue
.Blur=3
.Transparency=0.6
.OffsetX=6
.OffsetY=6

EndWith

'AjustarotamanhodoChartObject
WithActiveSheet.ChartObjects(1)
.Width=600
.Height=400
EndWith

'salvargrficocomoGIF
DimFNameAsString
FName=ThisWorkbook.Path&Application.PathSeparator&"temp.gif"
TempChart.ExportFilename:=FName,filterName:="GIF"
ActiveSheet.ChartObjects(1).Delete
Application.ScreenUpdating=True

EndSub

105

SubgraficoVBGC1L2()

Worksheets("ComparaoPontual").Activate

Dimt1AsRange
DimntAsDouble
Dimi,jAsInteger

IfRange("I3").Value>=Range("I8").ValueThen

nt=Range("I3").Value

Else

nt=Range("I8").Value

EndIf

'criarumaseriedenmerosnacolunaaoladodoscomprimentosparacadaomodelo

Range("AC2").Value=0

Sett1=Range("AC2")

DimiddmaxAsDouble

IfRange("$P$40").Value>=Range("$P$44").ValueThen

iddmax=Range("$P$40").Value*10

Else

iddmax=Range("$P$44").Value*10

EndIf

Forj=1Toiddmax

t1.Offset(j)=t1.Offset(j1).Value+0.1

Nextj

Application.ScreenUpdating=True

'procuraasclulasquenoestovazias

Dimcol1AsRange,col2AsRange,col3AsRange
DimTempChartAsChart
DimDadosAsRange

Setcol1=Cells(Rows.Count,"AC").End(xlUp)

'Setcol2=Cells(Rows.Count,"AD").End(xlUp)

'Setcol3=Cells(Rows.Count,"AH").End(xlUp)

106

SetDados=Union(Range("AC1",col1),Range("AD1",col1.Offset(0,1)),Range("AH1",col1.Offset(0,
5)))

'Adicionarogrfico
Application.ScreenUpdating=False
SetTempChart=ActiveSheet.Shapes.AddChart.Chart
TempChart.SetSourceDataSource:=Dados

'Formatarogrfico

WithTempChart
.ChartType=xlLine
.SetSourceDataSource:=Dados
.HasLegend=True

'.PlotArea.Interior.ColorIndex=xlNone
.Axes(xlValue).MajorGridlines.Delete
'.ApplyDataLabelsType:=xlDataLabelsShowValue,LegendKey:=False
.Axes(xlValue).MaximumScale=nt
.Axes(xlValue).MinimumScale=0
'.Axes(xlCategory).MaximumScale=1
.ChartArea.Format.Line.Visible=False
.HasTitle=False
.Axes(xlCategory,xlPrimary).HasTitle=True
.Axes(xlCategory,xlPrimary).AxisTitle.Characters.Text="Idade"
.Axes(xlValue,xlPrimary).HasTitle=True
.Axes(xlValue,xlPrimary).AxisTitle.Characters.Text="Comprimento"

EndWith

WithTempChart.ChartArea.Format.Shadow
.Visible=msoTrue
.Blur=3
.Transparency=0.6
.OffsetX=6
.OffsetY=6

EndWith

'AjustarotamanhodoChartObject
WithActiveSheet.ChartObjects(1)
.Width=600
.Height=400
EndWith

'salvargrficocomoGIF
DimFNameAsString
FName=ThisWorkbook.Path&Application.PathSeparator&"temp.gif"
TempChart.ExportFilename:=FName,filterName:="GIF"
ActiveSheet.ChartObjects(1).Delete
Application.ScreenUpdating=True

EndSub

SubgraficoVBGC1G2()

107

Worksheets("ComparaoPontual").Activate

Dimt1AsRange
DimntAsDouble
Dimi,jAsInteger

IfRange("I3").Value>=Range("I8").ValueThen

nt=Range("I3").Value

Else

nt=Range("I8").Value

EndIf

'criarumaseriedenmerosnacolunaaoladodoscomprimentosparacadaomodelo

Range("AC2").Value=0

Sett1=Range("AC2")

DimiddmaxAsDouble

IfRange("$P$40").Value>=Range("$P$45").ValueThen

iddmax=Range("$P$40").Value*10

Else

iddmax=Range("$P$45").Value*10

EndIf

Forj=1Toiddmax

t1.Offset(j)=t1.Offset(j1).Value+0.1

Nextj

Application.ScreenUpdating=True

'procuraasclulasquenoestovazias

Dimcol1AsRange
DimTempChartAsChart
DimDadosAsRange

Setcol1=Cells(Rows.Count,"AC").End(xlUp)

'defineoconjuntodedados

SetDados=Union(Range("AC1",col1),Range("AD1",col1.Offset(0,1)),Range("AI1",col1.Offset(0,
6)))

'Adicionarogrfico

108

Application.ScreenUpdating=False
SetTempChart=ActiveSheet.Shapes.AddChart.Chart
TempChart.SetSourceDataSource:=Dados

'Formatarogrfico

WithTempChart
.ChartType=xlLine
.SetSourceDataSource:=Dados
.HasLegend=True

'.PlotArea.Interior.ColorIndex=xlNone
.Axes(xlValue).MajorGridlines.Delete
'.ApplyDataLabelsType:=xlDataLabelsShowValue,LegendKey:=False
.Axes(xlValue).MaximumScale=nt
.Axes(xlValue).MinimumScale=0
'.Axes(xlCategory).MaximumScale=1
.ChartArea.Format.Line.Visible=False
.HasTitle=False
.Axes(xlCategory,xlPrimary).HasTitle=True
.Axes(xlCategory,xlPrimary).AxisTitle.Characters.Text="Idade"
.Axes(xlValue,xlPrimary).HasTitle=True
.Axes(xlValue,xlPrimary).AxisTitle.Characters.Text="Comprimento"

EndWith

WithTempChart.ChartArea.Format.Shadow
.Visible=msoTrue
.Blur=3
.Transparency=0.6
.OffsetX=6
.OffsetY=6

EndWith

'AjustarotamanhodoChartObject
WithActiveSheet.ChartObjects(1)
.Width=600
.Height=400
EndWith

'salvargrficocomoGIF
DimFNameAsString
FName=ThisWorkbook.Path&Application.PathSeparator&"temp.gif"
TempChart.ExportFilename:=FName,filterName:="GIF"
ActiveSheet.ChartObjects(1).Delete
Application.ScreenUpdating=True

EndSub

SubgraficoL1VBGC2()

Worksheets("ComparaoPontual").Activate

Dimt1AsRange
DimntAsDouble

109

Dimi,jAsInteger

IfRange("I3").Value>=Range("I8").ValueThen

nt=Range("I3").Value

Else

nt=Range("I8").Value

EndIf

'criarumaseriedenmerosnacolunaaoladodoscomprimentosparacadaomodelo

Range("AC2").Value=0

Sett1=Range("AC2")

DimiddmaxAsDouble

IfRange("$P$41").Value>=Range("$P$43").ValueThen

iddmax=Range("$P$41").Value*10

Else

iddmax=Range("$P$43").Value*10

EndIf

Forj=1Toiddmax

t1.Offset(j)=t1.Offset(j1).Value+0.1

Nextj

Application.ScreenUpdating=True

'procuraasclulasquenoestovazias

Dimcol1AsRange
DimTempChartAsChart
DimDadosAsRange

Setcol1=Cells(Rows.Count,"AC").End(xlUp)

SetDados=Union(Range("AC1",col1),Range("AE1",col1.Offset(0,2)),Range("AG1",col1.Offset(0,
4)))

'Adicionarogrfico
Application.ScreenUpdating=False
SetTempChart=ActiveSheet.Shapes.AddChart.Chart
TempChart.SetSourceDataSource:=Dados

'Formatarogrfico

110

WithTempChart
.ChartType=xlLine
.SetSourceDataSource:=Dados
.HasLegend=True

'.PlotArea.Interior.ColorIndex=xlNone
.Axes(xlValue).MajorGridlines.Delete
'.ApplyDataLabelsType:=xlDataLabelsShowValue,LegendKey:=False
.Axes(xlValue).MaximumScale=nt
.Axes(xlValue).MinimumScale=0
'.Axes(xlCategory).MaximumScale=1
.ChartArea.Format.Line.Visible=False
.HasTitle=False
.Axes(xlCategory,xlPrimary).HasTitle=True
.Axes(xlCategory,xlPrimary).AxisTitle.Characters.Text="Idade"
.Axes(xlValue,xlPrimary).HasTitle=True
.Axes(xlValue,xlPrimary).AxisTitle.Characters.Text="Comprimento"

EndWith

WithTempChart.ChartArea.Format.Shadow
.Visible=msoTrue
.Blur=3
.Transparency=0.6
.OffsetX=6
.OffsetY=6

EndWith

'AjustarotamanhodoChartObject
WithActiveSheet.ChartObjects(1)
.Width=600
.Height=400
EndWith

'salvargrficocomoGIF
DimFNameAsString
FName=ThisWorkbook.Path&Application.PathSeparator&"temp.gif"
TempChart.ExportFilename:=FName,filterName:="GIF"
ActiveSheet.ChartObjects(1).Delete
Application.ScreenUpdating=True

EndSub

SubgraficoL1L2()

Worksheets("ComparaoPontual").Activate

Dimt1AsRange
DimntAsDouble
Dimi,jAsInteger

IfRange("I3").Value>=Range("I8").ValueThen

nt=Range("I3").Value

111

Else

nt=Range("I8").Value

EndIf

'criarumaseriedenmerosnacolunaaoladodoscomprimentosparacadaomodelo

Range("AC2").Value=0

Sett1=Range("AC2")

DimiddmaxAsDouble

IfRange("$P$41").Value>=Range("$P$44").ValueThen

iddmax=Range("$P$41").Value*10

Else

iddmax=Range("$P$44").Value*10

EndIf

Forj=1Toiddmax

t1.Offset(j)=t1.Offset(j1).Value+0.1

Nextj

Application.ScreenUpdating=True

'procuraasclulasquenoestovazias

Dimcol1AsRange
DimTempChartAsChart
DimDadosAsRange

Setcol1=Cells(Rows.Count,"AC").End(xlUp)

SetDados=Union(Range("AC1",col1),Range("AE1",col1.Offset(0,2)),Range("AH1",col1.Offset(0,
5)))

'Adicionarogrfico
Application.ScreenUpdating=False
SetTempChart=ActiveSheet.Shapes.AddChart.Chart
TempChart.SetSourceDataSource:=Dados

'Formatarogrfico

WithTempChart
.ChartType=xlLine
.SetSourceDataSource:=Dados
.HasLegend=True

'.PlotArea.Interior.ColorIndex=xlNone

112

.Axes(xlValue).MajorGridlines.Delete
'.ApplyDataLabelsType:=xlDataLabelsShowValue,LegendKey:=False
.Axes(xlValue).MaximumScale=nt
.Axes(xlValue).MinimumScale=0
'.Axes(xlCategory).MaximumScale=1
.ChartArea.Format.Line.Visible=False
.HasTitle=False
.Axes(xlCategory,xlPrimary).HasTitle=True
.Axes(xlCategory,xlPrimary).AxisTitle.Characters.Text="Idade"
.Axes(xlValue,xlPrimary).HasTitle=True
.Axes(xlValue,xlPrimary).AxisTitle.Characters.Text="Comprimento"

EndWith

WithTempChart.ChartArea.Format.Shadow
.Visible=msoTrue
.Blur=3
.Transparency=0.6
.OffsetX=6
.OffsetY=6

EndWith

'AjustarotamanhodoChartObject
WithActiveSheet.ChartObjects(1)
.Width=600
.Height=400
EndWith

'salvargrficocomoGIF
DimFNameAsString
FName=ThisWorkbook.Path&Application.PathSeparator&"temp.gif"
TempChart.ExportFilename:=FName,filterName:="GIF"
ActiveSheet.ChartObjects(1).Delete
Application.ScreenUpdating=True

EndSub
SubgraficoL1G2()

Worksheets("ComparaoPontual").Activate

Dimt1AsRange
DimntAsDouble
Dimi,jAsInteger

IfRange("I3").Value>=Range("I8").ValueThen

nt=Range("I3").Value

Else

nt=Range("I8").Value

EndIf

'criarumaseriedenmerosnacolunaaoladodoscomprimentosparacadaomodelo

113


Range("AC2").Value=0

Sett1=Range("AC2")

DimiddmaxAsDouble

IfRange("$P$41").Value>=Range("$P$45").ValueThen

iddmax=Range("$P$41").Value*10

Else

iddmax=Range("$P$45").Value*10

EndIf

Forj=1Toiddmax

t1.Offset(j)=t1.Offset(j1).Value+0.1

Nextj

Application.ScreenUpdating=True

'procuraasclulasquenoestovazias

Dimcol1AsRange
DimTempChartAsChart
DimDadosAsRange

Setcol1=Cells(Rows.Count,"AC").End(xlUp)

SetDados=Union(Range("AC1",col1),Range("AE1",col1.Offset(0,2)),Range("AI1",col1.Offset(0,
6)))

'Adicionarogrfico
Application.ScreenUpdating=False
SetTempChart=ActiveSheet.Shapes.AddChart.Chart
TempChart.SetSourceDataSource:=Dados

'Formatarogrfico

WithTempChart
.ChartType=xlLine
.SetSourceDataSource:=Dados
.HasLegend=True

'.PlotArea.Interior.ColorIndex=xlNone
.Axes(xlValue).MajorGridlines.Delete
'.ApplyDataLabelsType:=xlDataLabelsShowValue,LegendKey:=False
.Axes(xlValue).MaximumScale=nt
.Axes(xlValue).MinimumScale=0
'.Axes(xlCategory).MaximumScale=1
.ChartArea.Format.Line.Visible=False
.HasTitle=False

114

.Axes(xlCategory,xlPrimary).HasTitle=True
.Axes(xlCategory,xlPrimary).AxisTitle.Characters.Text="Idade"
.Axes(xlValue,xlPrimary).HasTitle=True
.Axes(xlValue,xlPrimary).AxisTitle.Characters.Text="Comprimento"

EndWith

WithTempChart.ChartArea.Format.Shadow
.Visible=msoTrue
.Blur=3
.Transparency=0.6
.OffsetX=6
.OffsetY=6

EndWith

'AjustarotamanhodoChartObject
WithActiveSheet.ChartObjects(1)
.Width=600
.Height=400
EndWith

'salvargrficocomoGIF
DimFNameAsString
FName=ThisWorkbook.Path&Application.PathSeparator&"temp.gif"
TempChart.ExportFilename:=FName,filterName:="GIF"
ActiveSheet.ChartObjects(1).Delete
Application.ScreenUpdating=True

EndSub
SubgraficoG1VBGC2()

Worksheets("ComparaoPontual").Activate

Dimt1AsRange
DimntAsDouble
Dimi,jAsInteger

IfRange("I3").Value>=Range("I8").ValueThen

nt=Range("I3").Value

Else

nt=Range("I8").Value

EndIf

'criarumaseriedenmerosnacolunaaoladodoscomprimentosparacadaomodelo

Range("AC2").Value=0

Sett1=Range("AC2")

DimiddmaxAsDouble

115

IfRange("$P$42").Value>=Range("$P$43").ValueThen

iddmax=Range("$P$42").Value*10

Else

iddmax=Range("$P$43").Value*10

EndIf

Forj=1Toiddmax

t1.Offset(j)=t1.Offset(j1).Value+0.1

Nextj

Application.ScreenUpdating=True

'procuraasclulasquenoestovazias

Dimcol1AsRange
DimTempChartAsChart
DimDadosAsRange

Setcol1=Cells(Rows.Count,"AC").End(xlUp)

SetDados=Union(Range("AC1",col1),Range("AF1",col1.Offset(0,3)),Range("AG1",col1.Offset(0,
4)))

'Adicionarogrfico
Application.ScreenUpdating=False
SetTempChart=ActiveSheet.Shapes.AddChart.Chart
TempChart.SetSourceDataSource:=Dados

'Formatarogrfico

WithTempChart
.ChartType=xlLine
.SetSourceDataSource:=Dados
.HasLegend=True

'.PlotArea.Interior.ColorIndex=xlNone
.Axes(xlValue).MajorGridlines.Delete
'.ApplyDataLabelsType:=xlDataLabelsShowValue,LegendKey:=False
.Axes(xlValue).MaximumScale=nt
.Axes(xlValue).MinimumScale=0
'.Axes(xlCategory).MaximumScale=1
.ChartArea.Format.Line.Visible=False
.HasTitle=False
.Axes(xlCategory,xlPrimary).HasTitle=True
.Axes(xlCategory,xlPrimary).AxisTitle.Characters.Text="Idade"
.Axes(xlValue,xlPrimary).HasTitle=True
.Axes(xlValue,xlPrimary).AxisTitle.Characters.Text="Comprimento"

EndWith

116

WithTempChart.ChartArea.Format.Shadow
.Visible=msoTrue
.Blur=3
.Transparency=0.6
.OffsetX=6
.OffsetY=6

EndWith

'AjustarotamanhodoChartObject
WithActiveSheet.ChartObjects(1)
.Width=600
.Height=400
EndWith

'salvargrficocomoGIF
DimFNameAsString
FName=ThisWorkbook.Path&Application.PathSeparator&"temp.gif"
TempChart.ExportFilename:=FName,filterName:="GIF"
ActiveSheet.ChartObjects(1).Delete
Application.ScreenUpdating=True

EndSub

SubgraficoG1L2()

Worksheets("ComparaoPontual").Activate

Dimt1AsRange
DimntAsDouble
Dimi,jAsInteger

IfRange("I3").Value>=Range("I8").ValueThen

nt=Range("I3").Value

Else

nt=Range("I8").Value

EndIf

'criarumaseriedenmerosnacolunaaoladodoscomprimentosparacadaomodelo

Range("AC2").Value=0

Sett1=Range("AC2")

DimiddmaxAsDouble

IfRange("$P$42").Value>=Range("$P$44").ValueThen

iddmax=Range("$P$42").Value*10

Else

117

iddmax=Range("$P$43").Value*10

EndIf

Forj=1Toiddmax

t1.Offset(j)=t1.Offset(j1).Value+0.1

Nextj

Application.ScreenUpdating=True

'procuraasclulasquenoestovazias

Dimcol1AsRange
DimTempChartAsChart
DimDadosAsRange

Setcol1=Cells(Rows.Count,"AC").End(xlUp)

SetDados=Union(Range("AC1",col1),Range("AF1",col1.Offset(0,3)),Range("AH1",col1.Offset(0,
5)))

'Adicionarogrfico
Application.ScreenUpdating=False
SetTempChart=ActiveSheet.Shapes.AddChart.Chart
TempChart.SetSourceDataSource:=Dados

'Formatarogrfico

WithTempChart
.ChartType=xlLine
.SetSourceDataSource:=Dados
.HasLegend=True

'.PlotArea.Interior.ColorIndex=xlNone
.Axes(xlValue).MajorGridlines.Delete
'.ApplyDataLabelsType:=xlDataLabelsShowValue,LegendKey:=False
.Axes(xlValue).MaximumScale=nt
.Axes(xlValue).MinimumScale=0
'.Axes(xlCategory).MaximumScale=1
.ChartArea.Format.Line.Visible=False
.HasTitle=False
.Axes(xlCategory,xlPrimary).HasTitle=True
.Axes(xlCategory,xlPrimary).AxisTitle.Characters.Text="Idade"
.Axes(xlValue,xlPrimary).HasTitle=True
.Axes(xlValue,xlPrimary).AxisTitle.Characters.Text="Comprimento"

EndWith

WithTempChart.ChartArea.Format.Shadow
.Visible=msoTrue
.Blur=3
.Transparency=0.6
.OffsetX=6
.OffsetY=6

118


EndWith

'AjustarotamanhodoChartObject
WithActiveSheet.ChartObjects(1)
.Width=600
.Height=400
EndWith

'salvargrficocomoGIF
DimFNameAsString
FName=ThisWorkbook.Path&Application.PathSeparator&"temp.gif"
TempChart.ExportFilename:=FName,filterName:="GIF"
ActiveSheet.ChartObjects(1).Delete
Application.ScreenUpdating=True

EndSub

SubgraficoG1G2()

Worksheets("ComparaoPontual").Activate

Dimt1AsRange
DimntAsDouble
Dimi,jAsInteger

IfRange("I3").Value>=Range("I8").ValueThen

nt=Range("I3").Value

Else

nt=Range("I8").Value

EndIf

'criarumaseriedenmerosnacolunaaoladodoscomprimentosparacadaomodelo

Range("AC2").Value=0

Sett1=Range("AC2")

DimiddmaxAsDouble

IfRange("$P$42").Value>=Range("$P$45").ValueThen

iddmax=Range("$P$42").Value*10

Else

iddmax=Range("$P$45").Value*10

EndIf

Forj=1Toiddmax

119

t1.Offset(j)=t1.Offset(j1).Value+0.1

Nextj

Application.ScreenUpdating=True

'procuraasclulasquenoestovazias

Dimcol1AsRange
DimTempChartAsChart
DimDadosAsRange

Setcol1=Cells(Rows.Count,"AC").End(xlUp)

SetDados=Union(Range("AC1",col1),Range("AF1",col1.Offset(0,3)),Range("AI1",col1.Offset(0,
6)))
'col1.Offset(0,6)
'Adicionarogrfico
Application.ScreenUpdating=False
SetTempChart=ActiveSheet.Shapes.AddChart.Chart
TempChart.SetSourceDataSource:=Dados

'Formatarogrfico

WithTempChart
.ChartType=xlLine
.SetSourceDataSource:=Dados
.HasLegend=True

'.PlotArea.Interior.ColorIndex=xlNone
.Axes(xlValue).MajorGridlines.Delete
'.ApplyDataLabelsType:=xlDataLabelsShowValue,LegendKey:=False
.Axes(xlValue).MaximumScale=nt
.Axes(xlValue).MinimumScale=0
'.Axes(xlCategory).MaximumScale=1
.ChartArea.Format.Line.Visible=False
.HasTitle=False
.Axes(xlCategory,xlPrimary).HasTitle=True
.Axes(xlCategory,xlPrimary).AxisTitle.Characters.Text="Idade"
.Axes(xlValue,xlPrimary).HasTitle=True
.Axes(xlValue,xlPrimary).AxisTitle.Characters.Text="Comprimento"

EndWith

WithTempChart.ChartArea.Format.Shadow
.Visible=msoTrue
.Blur=3
.Transparency=0.6
.OffsetX=6
.OffsetY=6

EndWith

'AjustarotamanhodoChartObject
WithActiveSheet.ChartObjects(1)
.Width=600

120

.Height=400
EndWith

'salvargrficocomoGIF
DimFNameAsString
FName=ThisWorkbook.Path&Application.PathSeparator&"temp.gif"
TempChart.ExportFilename:=FName,filterName:="GIF"
ActiveSheet.ChartObjects(1).Delete
Application.ScreenUpdating=True

EndSub

121

Anexo2InterfaceComparaodeCurvasdeCrescimento.

AnexoemCD/DVD.

122

Você também pode gostar