// determiniamo l'errore massimo nella soluzione // dell'equazione differenziale y'=0.001y(1000-y) // con l'algoritmo di Eulero // nell'intervallo 0Branch("NPoint",&NPoint,"NPoint/F"); T->Branch("step",&step,"step/F"); T->Branch("errEU",&errEU,"errEU/F"); T->Branch("errRK2",&errRK2,"errRK2/F"); T->Branch("errRK4",&errRK4,"errRK4/F"); //step usato per la discretizzazione float h; float localerr, localerr2, localerr4; // variamo opportunamente lo step // aumentando il numero di punti in cui // calcolo la soluzione int N=20; NPoint = 10.; for (int n=0; nerrEU )errEU =fabs(localerr); localerr2=s-y2; if (fabs(localerr2)>errRK2)errRK2=fabs(localerr2); localerr4=s-y4; if (fabs(localerr4)>errRK4)errRK4=fabs(localerr4); } std::cout<<"Npoint = "<< NPoint<<" step = " <Fill(); } // T->SetMarkerStyle(20); T->Write(); file->Close(); }