📄 logisticarith1.m
字号:
function result=LogisticArith
clf
close all
rifig=figure(1);
set(rifig,'NumberTitle','off');
set(rifig,'name','ri曲线图');
set(rifig,'MenuBar','none');
hfig=figure(2);
set(hfig,'NumberTitle','off');
set(hfig,'name','物流模型');
set(hfig,'MenuBar','none');
t=input('Please input T value: t=');
lamta=input('Please input Lamta value:lamta=');
strYN=input('Are you sure to start arithmetic? Y/N [Y]: ','s');
A=linspace(0,2*pi,1000);
if strYN=='Y'
codearray=ones(2,2);
for i=1:2
[pointx,pointy]=MakeRandNum;
codearray(i,1)=pointx;
codearray(i,2)=pointy;
end
for i=1:2
fill(codearray(i,1)+1*cos(A),codearray(i,2)+1*sin(A),'r');
text(codearray(i,1),codearray(i,2),['C' num2str(i)]);
axis equal;hold on;
end
axis([-10,120,-10,120]);
plot(codearray(:,1),codearray(:,2));
orthird=input('Are you sure to add the third point? Y/N [Y]: ','s');
if orthird=='Y'
[pointx,pointy]=MakeRandNum;
codearray(3,1)=pointx;
codearray(3,2)=pointy;
fill(codearray(3,1)+1*cos(A),codearray(3,2)+1*sin(A),'r');
text(codearray(3,1),codearray(3,2),['C' num2str(3)]);
plot(codearray(:,1),codearray(:,2));
plot([codearray(1,1) codearray(3,1)],[codearray(1,2) codearray(3,2)]);
richcode=ones(3,2);
richcode(:,2)=2;
richcode(2,1)=2;
richcode(3,1)=3;
% mace() is the mace of line,made by rand
% tempmace() is the mace of the local code line to the last codes
nowcode=3;
orNextCode='Y'
while orNextCode=='Y'
orNextCode=input('Are you sure to add the Next point? Y/N [Y]: ','s');
if orNextCode=='Y'
nowcode=nowcode+1;
[pointx,pointy]=MakeRandNum;
codearray(nowcode,1)=pointx;
codearray(nowcode,2)=pointy;
linenum=round(rand*4)+1;
fill(codearray(nowcode,1)+1*cos(A),codearray(nowcode,2)+1*sin(A),'r');
axis equal;hold on;
text(codearray(nowcode,1),codearray(nowcode,2),['C' num2str(nowcode)]);
nowcode;
for i=1:nowcode-1
tempmace(i)=round(10*rand);
end
% the matrix tempmace is ri;
% the matrix richcode is ki;
for i=1:nowcode-1
mulkiri(i)=(tempmace(i)^t)*(richcode(i,2)^(1-t));
end
summulkiri=sum(mulkiri);
nowPi=mulkiri/summulkiri;
nowcode
ri=tempmace
ki=richcode(:,2)
mulkiri
summulkiri
nowPi
[temp,k]=sort(nowPi);
for j=1:linenum
maxPi(j)=k(length(k)-j+1);
end
for j=1:linenum
plot([codearray(nowcode,1),codearray(maxPi(j),1)],[codearray(nowcode,2),codearray(maxPi(j),2)]);
end
richcode(nowcode,1)=nowcode;
richcode(nowcode,2)=linenum;
for j=1:linenum
richcode(maxPi(j),2)=richcode(maxPi(j),2)+1;
end
disp('cul after richcode:');nowcode
richcode
G=exp(-2/(nowcode*lamta))
for i=1:nowcode
Ci(i)=2*richcode(i,2)/(nowcode*(nowcode-1));
end
Ci
C=sum(Ci)
rifig=figure(1);
clf
plot(richcode(:,1),richcode(:,2),'*',richcode(:,1),richcode(:,2),'-');
axis([0,nowcode*1.2,0,30]);
hfig=figure(2);
else
end
end
else
end
else
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -