Vector length error in code
显示 更早的评论
Hello,
I am trying to run a simple code, and I am having a problem with vector lenght. I went back and counted all my data points and made sure each point was equal to 8.. perhaps I am missing something?
% Plot all models 1790-1860
%Malthusian Growth Model
% Time interval
% t = (1790:10:1860)';
% Previous population
Pn = [2.913 3.929 5.308 7.239 9.638 12.866 17.069 23.191]';
% Growth Rate Assumption
R = (0.349+1)';
%Malthusian Model
E = (Pn*R)';
% Discrete Logistic Model
% Parameter and intial condtions
r= (0.349);
% Carrying Capactiy
M= 330.0;
X0= 3.929;
p= [3.929 5.308 7.239 9.638 12.866 17.069 23.191 31.443]';
% For loop to generate seqeunce terms
for i=1:length(p)
F(i)=p(i)+r*p(i)*(1-p(i)/M)';
end
tBegin = 1790; % time begin
tEnd = 1860; % time end
%Gompertz Model
% Time Interval
% a=(1790:10:1860)';
% Population
b= [3.929 5.308 7.239 9.638 12.866 17.069 23.191 31.443]';
Data = b;
k2 = 330.0;
B = log(Data(2:8,1)./k2);
A = log(Data(1:7,1)./k2);
X = A\B;
b = -log(X(1,1));
P0 = Data(1,1);
LL = zeros(8,1);
LL(1,1) = P0;
for i = 2:8
LL(i,1) = exp((exp(-b)).*log(LL(i-1,1))+((1-exp(-b)).*log(k2)));
end
% Single Plot
% figure
% plot(Labels,Data,'b-*',Labels,PG,'r-*')
% title('Gompertz Model, 1790-1860')
% legend('Data','Model','Location','northwest')
% hold on
%R2
SST = sum((Data-mean(Data)).^2);
SSE = sum((Data-LL).^2);
R2 = 1- (SSE/SST)
% Beverton-Holt Model
% Parameter and intial condtions
Pe= 486.8
a1= 1.23065
b2= 2110.5
p3= [3.929 5.308 7.239 9.638 12.866 17.069 23.191 31.443]';
% Bevholt equation
E4 = a1*(p3)./(1+(p3/b2))
% Time Interval
% a=(1790:10:1860)';
% Population
b= [3.929 5.308 7.239 9.638 12.866 17.069 23.191 31.443]';
Data = b;
Labels2 = [1790:10:1860]';
Labels = [1790:10:2010]';
% Plot all models 1790-1860
figure
plot(Labels2,Data,'k-*',Labels2,E,'r-*',Labels2,F,'b-*',Labels2,LL,'m-*',Labels2,E4,'g-*')
title('US Population Data, 1790-1860')
legend('Data','Malthusian','Discrete Logistic','Gompertz','Beverton-Holt Model')
ylabel('Population (Millions)');
xlabel ('Years')
axis([1780 1860 0 200])
hold on
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Creating, Deleting, and Querying Graphics Objects 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
