Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoRaimondo Frigerio Modificato 10 anni fa
1
La relazione stock-reclutamento per questo tipo di popolazione ha prodotto la tabella: 0.690.00 10.0325.39 16.3637.16 22.4146.02 29.0053.56 36.4359.12 44.8161.76 52.1061.63 59.7959.25 81.7948.50 105.5733.20 119.8624.20 136.5016.00 163.997.67 NtNt+1
2
clear all global Nt Nt0 Nt1 % Numero di aringhe (10^3 tonellate)al tempo t Nt=[0.69 10.03 16.36 22.41 29.00 36.43 44.81 52.10 59.79 81.79... 105.57 119.86 136.50 163.99]; % Numero di aringhe (10^3 tonellate)al tempo t+1 Nt1=[0. 25.39 37.16 46.02 53.56 59.12 61.76 61.63 59.25 48.5... 33.20 24.20 16.00 7.67]; plot(Nt,Nt1,'o') title('Stock-Reclutamento per una popolazione di aringhe del Mare del nord') xlabel('Nt [ 10^3 tonnellate]') ylabel('Nt+1 [ 10^3 tonnellate] ') Tramite una procedura di fitting ai minimi quadrati è possibile risalire alla funzione relativa al modello di Ricker capace di descrivere la dinamica di questa popolazione
3
% Approssimazione ai minimi quadrati con il modello di Richer % % N(t+1)= lambda* N(t)*exp(-K*N(t)) % % p = [ lambda, K ]: parametri da identificare % ======================================== Nt0= Nt(1); p=[5. 0.05]; % valori iniziali dei parametri da identificare options=optimset('TolX',0.001); % [p,fmin,exit,out]=fminsearch('Rerr',p,options); % % Rappresentazione grafica dei risultati % % y dati calcolati con il modello % Nt1 dati misurati % for i=1:length(Nt) y(i)= ricker(p,Nt(i)); end
4
%%%%%%%%%%%%%% % Calcolo dell'errore % tra i valori misurati e quelli calcolati (modello di Ricker) % % ( Errore = Distanza euclidea) %%%%%%%%%%%%%%%% function z=Rerr(p) global Nt Nt0 Nt1 % len = length(Nt); for i=1:len y(i)= ricker(p,Nt(i)); end z=norm(y-Nt1); %%%%%%%%%% % Definizione del MODELLO DI % RICKER % % N(t+1)= lambda* N(t)*exp(-K*N(t)) %%%%%%%%%% function y =ricker(param,N) global Nt Nt0 Nt1 lambda=param(1); K=param(2); y=lambda*N*exp(-K*N);
5
figure(2) plot(Nt,Nt1,'o',Nt,y) title( 'Modello di Ricker per una popolazione di aringhe') xlabel('Nt [ 10^3 tonnellate]') ylabel('Nt+1 [ 10^3 tonnellate]') legend('Dati misurati','Modello di Ricker') 3.73310.0234
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.