搜档网
当前位置:搜档网 › 2014美赛A题元胞数据模型仿真matlab源程序

2014美赛A题元胞数据模型仿真matlab源程序

2014美赛A题元胞数据模型仿真matlab源程序
2014美赛A题元胞数据模型仿真matlab源程序

主函数

function [ ] = main_tca( ~ )

%---------------------------------------------------------------------------------------------------------------------------------------------------------------

%%

%

%

%

%

%% %

%-------------------------------------------------------------------------%

%基础变量声明~

%-------------------------------------------------------------------------%

%%

%% -------------------------------------------------------------------------%

%基本仿真信息(或以配置文件方式直接获得)

%-------------------------------------------------------------------------%

[Volume SimTimeTimeStepLaneNumCellNum VMAX] = GetBasicInfo();

%% -------------------------------------------------------------------------%

%生成元胞空间

%-------------------------------------------------------------------------%

[CellSpace_currentCellSpace_nextstep] = GenerateCellSpace(LaneNum,CellNum);

%% -------------------------------------------------------------------------%

%生成车辆空间

%-------------------------------------------------------------------------%

[VehicleSpace] = GenerateVehicleSpace(Volume);

%% -------------------------------------------------------------------------%

%开始仿真

%-------------------------------------------------------------------------%

TrafficSimulating(SimTime,TimeStep, CellSpace_current, CellSpace_nextstep, VehicleSpace,VMAX);

%% -------------------------------------------------------------------------%

%展示结果

ResultsPlotting();

%-------------------------------------------------------------------------%

end

function [ CellSpace_nextstepVehicleSpace ] = TrafficSimulating( SimTime,TimeStep,CellSpace_current, CellSpace_nextstep, VehicleSpace,VMAX )

%TRAFFICSIMULATING Summary of this function goes here

% 仿真程序主体

CellSpace_Init = CellSpace_nextstep;

% 读取信号配时数据

SignalCycleMat = load('SignalCycleInfo.ini');

sCycle = SignalCycleMat(1);%周期长度

sGreenTime = SignalCycleMat(2);%绿灯时长

sRedTime = SignalCycleMat(3);%红灯时长

%% 是否加载换道模型

LaneChangingModelINIMat = load('LaneChangingModeInfo.ini'); UseLaneChangingModelFlag = LaneChangingModelINIMat(1);

%%

%时间步长和时长必须满足整除关系

foriStep = 1:TimeStep:SimTime

%判断信号配时

tCurrentMod = mod(iStep,sCycle);

iftCurrentMod<= sGreenTime

signalFlag = 0;

else

signalFlag = 1;

end;

%搜寻元胞上存在的车辆,获得每个元胞的车辆占用情况,以及占用车辆的编号

[TakenMatTakenCarHeadMatTakenCarIDMat] = SearchCellSpaceForTaken(CellSpace_current);

%计算每个车辆的更新信息

[CellSpace_nextstepVehicleSpace] = CountingNextStepVehicleState(CellSpace_current,CellSpace_nextstep,VehicleSpace,TakenMat, TakenCarIDMat,VMAX,signalFlag,UseLaneChangingModelFlag);

%判断是否发新车,并计算新车的更新信息

%更新元胞空间

[CellSpace_nextstepVehicleSpace] = AddingNewCarsToEntry(CellSpace_current,CellSpace_nextstep,VehicleSpace);

%

%统计相关信息

%保持数据

SavingDataAsFiles(CellSpace_current,VehicleSpace,TakenMat,TakenCarHeadMat,TakenCarIDMat);

%绘制图像

DrawingCellSpace(TakenMat);

%进入下一轮循环

CellSpace_current = CellSpace_nextstep;

CellSpace_nextstep = CellSpace_Init;

end;

end

functionistaken = IsCellTaken(CellSpace,laneid,startTag,endTag)

%从startTag开始到endTag结束的这些元胞是否都是空闲,有一个及以上被占用返回1 fori = startTag:1:endTag

ifGetCellTakenState(CellSpace,laneid,i) == 1

istaken = 1;

return;

end;

end;

istaken = 0;%这些元胞全部空闲

end

functionResultsPlotting()

%% 读取配置信息

SavingSettingsMat = load('OutputDataSettings.ini');

%输出数据子文件夹

subfoldername = SavingSettingsMat(1);

%%

lanenodatafile = [num2str(subfoldername) '\车辆占用车道数据.txt']; positiondatafile = [num2str(subfoldername) '\车辆所处位置.txt']; speeddatafile = [num2str(subfoldername) '\车辆每一时刻速度.txt']; cartypeinfofile = [num2str(subfoldername) '\车辆基本信息.txt'];

%%

LaneTakenDMat = importdata(lanenodatafile);

VehPositionDMat = importdata(positiondatafile);

SpeedDMat = importdata(speeddatafile);

VehicleInfoMat = load(cartypeinfofile);

%%

[stepNum, carNum] = size(SpeedDMat);

[Volume SimTimeTimeStepLaneNumCellNum VMAX] = GetBasicInfo();

%%

travelTime = zeros(1,carNum);%每辆车的旅行时间

fori = 1:carNum

travelTime(1,i) = length(find(SpeedDMat(:,i)>=0));

end;

%%

meanSpeed = zeros(stepNum,1);%平均速度

meanQueue = zeros(stepNum,1);%平均排队长度

volDensity = zeros(stepNum,1);%密度

for j = 1:stepNum

existedCarIDs = find(SpeedDMat(j,:)>=0);

volDensity(j,1) = sum(GetVehicleLength(existedCarIDs)) / (LaneNum * CellNum); meanQueue(j,1) = sum(GetVehicleLength(find(SpeedDMat(j,:)<=1)))/LaneNum; meanSpeed(j,1) = mean(SpeedDMat(j,SpeedDMat(j,:)>=0));

end;

%%

%%

%% %% end

图论算法及其MATLAB程序代码

图论算法及其MATLAB 程序代码 求赋权图G =(V ,E ,F )中任意两点间的最短路的Warshall-Floyd 算法: 设A =(a ij )n ×n 为赋权图G =(V ,E ,F )的矩阵,当v i v j ∈E 时a ij =F (v i v j ),否则取a ii =0,a ij =+∞(i ≠j ),d ij 表示从v i 到v j 点的距离,r ij 表示从v i 到v j 点的最短路中一个点的编号. ①赋初值.对所有i ,j ,d ij =a ij ,r ij =j .k =1.转向② ②更新d ij ,r ij .对所有i ,j ,若d ik +d k j <d ij ,则令d ij =d ik +d k j ,r ij =k ,转向③. ③终止判断.若d ii <0,则存在一条含有顶点v i 的负回路,终止;或者k =n 终止;否则令k =k +1,转向②. 最短路线可由r ij 得到. 例1求图6-4中任意两点间的最短路. 解:用Warshall-Floyd 算法,MATLAB 程序代码如下: n=8;A=[0281Inf Inf Inf Inf 206Inf 1Inf Inf Inf 8607512Inf 1Inf 70Inf Inf 9Inf Inf 15Inf 03Inf 8 Inf Inf 1Inf 3046 Inf Inf 29Inf 403 Inf Inf Inf Inf 8630];%MATLAB 中,Inf 表示∞ D=A;%赋初值 for (i=1:n)for (j=1:n)R(i,j)=j;end ;end %赋路径初值 for (k=1:n)for (i=1:n)for (j=1:n)if (D(i,k)+D(k,j)

云模型matlab程序

1.绘制云图 Ex=18 En=2 He=0.2 hold on for i=1:1000 Enn=randn(1)*He+En; x(i)=randn(1)*Enn+Ex; y(i)=exp(-(x(i)-Ex)^2/(2*Enn^2)); plot(x(i),y(i),'*') end Ex=48.7 En=9.1 He=0.39 hold on for i=1:1000 Enn=randn(1)*He+En; x(i)=randn(1)*Enn+Ex; y(i)=exp(-(x(i)-Ex)^2/(2*Enn^2)); plot(x(i),y(i),'*')

end 2.求期望、熵及超熵 X1=[51.93 52.51 54.70 43.14 43.85 44.48 44.61 52.08]; Y1=[0.91169241573 0.921875 0.96032303371 0.75737359551 0.76983848315 0.7808988764 0.78318117978 0.9143258427]; m=8; Ex=mean(X1) En1=zeros(1,m); for i=1:m En1(1,i)=abs(X1(1,i)-Ex)/sqrt(-2*log(Y1(1,i))); end En=mean(En1); He=0; for i=1:m He=He+(En1(1,i)-En)^2; end En=mean(En1) He=sqrt(He/(m-1)) 3.平顶山so2环境: X1=[0.013 0.04 0.054 0.065 0.07 0.067 0.058 0.055 0.045]; Y1=[0.175675676 0.540540541 0.72972973 0.878378378

DEA的Matlab程序(数据包络分析)

模型((P C2R)的MATLAB程序 clear X=[]; %用户输入多指标输入矩阵X Y=[]; %用户输入多指标输出矩阵Y n=size(X',1); m=size(X,1); s=size(Y,1); A=[-X' Y']; b=zeros(n, 1); LB=zeros(m+s,1); UB=[]; for i=1:n; f= [zeros(1,m) -Y(:,i)']; Aeq=[X(:,i)' zeros(1,s)]; beq=1; w(:,i)=LINPROG(f,A,b,Aeq,beq,LB,UB); %解线性规划,得DMU;的最佳权向量w; E(i, i)=Y(:,i)'*w(m+1:m+s,i); %求出DMU i的相对效率值E ii end w %输出最佳权向量 E %输出相对效率值E ii Omega=w(1:m,:) %输出投入权向量。 mu=w(m+1:m+s,:) %输出产出权向量。 模型(D C2R)的MATLAB程序 clear X=[]; %用户输入多指标输入矩阵X Y=[]; %用户输入多指标输出矩阵Y n=size(X',1); m=size(X,1); s=size(Y,1); epsilon=10^-10; %定义非阿基米德无穷小 =10-10 f=[zeros(1,n) -epsilon*ones(1,m+s) 1]; %目标函数的系数矩阵: 的系数为0,s-,s+的系数为- e, 的系数为1; A=zeros(1,n+m+s+1); b=0; %<=约束; LB=zeros(n+m+s+1,1); UB=[]; %变量约束; LB(n+m+s+1)= -Inf; %-Inf表示下限为负无穷大。 for i=1:n; Aeq=[X eye(m) zeros(m,s) -X(:,i) Y zeros(s,m) -eye(s) zeros(s,1)]; beq=[zeros(m, 1 ) Y(:,i)]; w(:,i)=LINPROG (f,A,b,Aeq,beq,LB,UB); %解线性规划,得DMU的最佳权向量w; end w %输出最佳权向量 lambda=w(1:n,:) %输出 s_minus=w(n+1:n+m,:) %输出s- s_plus=w(n+m+1:n+m+s,:) %输出s+ theta=w(n+m+s+1,:) %输出

MATLAB汉化指南

MATLAB汉化指南 作者:junziyang Email:simwer@https://www.sodocs.net/doc/041027805.html, 一、汉化原理简介 MATLAB的界面是用JA V A语言实现的(从6.5版以后),其源文件位于MATLAB安装目录下的java\jar 文件夹中的.jar包中。为了便于MATLAB的本地化(Localization),MATLAB中的一些字符信息(例如,菜单、提示信息等等)没有直接写到JA V A代码中,而是被分离了出来,保存在一种扩展名为.properties 的文件中。在.properties文件中,每条信息被赋予了一个键值,通过在JA V A程序中调用这些键值,就可以使用键值对应的字符信息。因此,如果把键值对应的字符信息翻译成不同的语言,不用修改JA V A代码,就可以改变程序中显示的字符的语言。 JA V A程序运行时会根据计算机的“区域和语言选项”中的设置,来自动选择本地语言。感兴趣的朋友可以试着在“区域和语言选项”中,将语言和位置分别设置为“日语”和“日本”然后启动MATLAB 看看会有什么变化。设置方法:“开始”-“控制面板”-“日期、时间、语言和区域设置”-“区域和语言设置”-在区域设置选项卡中,上面的下拉框中选“日语”,下面的选“日本”。如果不出意外,你会发现你的MATLAB变成日文版的了。现在可能会有人问了,为什么选“中文”和“中国”时MATLAB不是中文版的呢?原因是.jar包中没有中文对应的.properties文件。JA V A通过.properties文件名中的语言和国家代码来选择合适的.properties文件,例如:*_ja_JP.properties 对应日文版,*_zh_CN.properties对应中文版,没有语言和国家代码的默认为英文版。当找不到本地版本时,默认会调用英文版的.properties文件。由于.jar 包中有日文版的.properties文件,所以上面修改区域和语言设置后MATLAB会变为日文版。MATLAB官方发布的版本目前没有中文版的.properties文件。因此只有我们制作出*_zh_CN.properties文件,并把它放入.jar包中,就可以把MATLAB变为中文版。 制作*_zh_CN.properties文件需要两个步骤:(1)把英文版的xxx.properties文件中各个键值后面的字符信息翻译成中文;(2)把翻译后的文件编码,保存为xxx_zh_CN.properties,并将其放入相应的.jar包中。详细说明如下: 二、所需的工具软件 制作中文版properties文件过程中可能需要用到的工具软件有WinRAR、JDK、UEStudio、BatchRename 等,这些工具并非必需,但它们会给我们的翻译和编码工作带来不少方便。 三、资源文件的提取 1.打开WinRAR并切换到jar包所在的目录,如图1所示

(完整版)MATLAB中英文对照

MATLAB7.1中文翻译 MATLAB MATLAB 主程序模块 Simulink 动态仿真模块 Aerospace Blockset 航空模块集 Bioinformatics Toolbox 生物信息学工具箱 CDMA Reference Blockset CDMA 参考模块集 Communications Blockset 通信模块集 Communications Toolbox 通信工具箱 Control System Toolbox 控制系统工具箱 Curve Fitting Toolbox 曲线拟合工具箱 DSP Blockset 数字信号模块集 Data Acquisition Toolbox 数据采集工具箱 Database Toolbox 数据库工具箱 Datafeed Toolbox 数据反馈工具箱 Distributed Computing Toolbox 分布式计算工具箱 Dials and Gauges Blockset 刻度标尺模块集 Embedded Target for Motorola MPC 555 摩托罗拉MPC555 嵌入对象 Embedded Target for the TI C2000 DSP TI C2000 DSP嵌入对象 Embedded Target for TI 6000 DSP TI 6000数字信号处理嵌入对象 Embedded Target for Infineon C166 Microcontrollers Infineon C166 微控制器嵌入对象Embedded Target for Motorola? HC12 Motorola? HC12嵌入对象 Embedded Target for OSEK/VDX? OSEK/VDX?嵌入对象 Excel Link Excel 连接 Extended Symbolic Math 扩展符号数学库 Filter Design Toolbox 滤波器设计工具箱 Filter Design HDL Coder 滤波器设计硬件描述语言编码器 Financial Derivatives Toolbox 金融预测工具箱 Financial Time Series Toolbox 金融时间系列工具箱 Financial Toolbox 金融系统工具箱 Fixed-Income Toolbox 定点收益工具箱 Fixed-Point Blockset 定点模块集 Fuzzy Logic Toolbox 模糊逻辑工具箱 GARCH Toolbox GARCH 工具箱 Genetic Algorithm and Direct Search Toolbox 遗传算法和直接搜寻工具箱Gauges Blockset Gauges模块集 Image Processing Toolbox 图像处理工具箱 Image Acquisition Toolbox 图像调节工具箱 Instrument Control Toolbox 设备控制工具箱 LMI Control Toolbox LMI 控制工具箱 MATLAB Com Builder MATLAB COM 文件编辑器 MATLAB Compiler MATLAB 编译器

云模型简介及个人理解matlab程序

云模型简介及个人理解m a t l a b程序 集团档案编码:[YTTR-YTPT28-YTNTL98-UYTYNN08]

随着不确定性研究的深入,越来越多的科学家相信,不确定性是这个世界的魅力所在,只有不确定性本身才是确定的。在众多的不确定性中,和是最基本的。针对和在处理不确定性方面的不足,1995年我国工程院院士教授在概率论和模糊数学的基础上提出了云的概念,并研究了模糊性和随机性及两者之间的关联性。自李德毅院士等人提出云模型至今,云模型已成功的应用到、、、智能控制、等众多领域. 设是一个普通集合。 , 称为论域。关于论域中的模糊集合,是指对于任意元素都存在一个有稳定倾向的随机数,叫做对的隶属度。如果论域中的元素是简单有序的,则可以看作是基础变量,隶属度在上的分布叫做隶属云;如果论域中的元素不是简单有序的,而根据某个法则,可将映射到另一个有序的论域上,中的一个且只有一个和对应,则为基础变量,隶属度在上的分布叫做隶属云[1] 。 数字特征

云模型表示自然语言中的基元——语言值,用云的数字特征——期望Ex,熵En和超熵He表示语言值的数学性质 [3] 。 期望 Ex:云滴在论域空间分布的期望,是最能够代表定性概念的点,是这个概念量化的最典型样本。 熵 En:“熵”这一概念最初是作为描述热力学的一个状态参量,此后又被引入统计物理学、信息论、复杂系统等,用以度量不确定的程度。在云模型中,熵代表定性概念的可度量粒度,熵越大,通常概念越宏观,也是定性概念不确定性的度量,由概念的随机性和模糊性共同决定。一方面, En是定性概念随机性的度量,反映了能够代表这个定性概念的云滴的离散程度;另一方面,又是定性概念亦此亦彼性的度量,反映了在论域空间可被概念接受的云滴的取值范围。用同一个数字特征来反映随机性和模糊性,也必然反映他们之间的关联性。 超熵 He:熵的不确定性度量,即熵的熵,由熵的随机性和模糊性共同决定。反映了每个数值隶属这个语言值程度的凝聚性,即云滴的凝聚程度。超熵越大,云的离散程度越大,隶属度的随机性也随之增大,云的厚度也越大。

Matlab R2014a 安装教程

Matlab R2014a 安装教程 【安装说明】 以下内容是为初次安装Matlab 的新手提供,老手请直接跳过,或者可以参见serial 文件夹中的Readme 文件。另外,请注意,在中文系统中通过以下方法安装的Matlab 的默认界面语言为中文,如果不希望安装中文界面的,请在安装前将系统语言更改为英文(或者也可以按照文后附的方法修改)。 1.将下下来的ISO 文件载入到虚拟光驱(可以使用Daemon Tools 或UltraISO 等,注意,用UltraISO 双击打开是不 行的)或解压,你能看到如下文件: 2.最简单的办法是直接双击SetupSimple ,静待安装完成,Over 。如果该方法不行的话,那么,请按照下面的步骤进行。 3.如果第二步的方法不行,那么,双击Setup ,选择“使用文件安装密钥”; 本教程来源于网络

4.填入序列号(单机安装填:12313-94680-65562-90832,如果你需要Matlab服务器组件的话,那么请填写:23809-31321-26556-08694,一般个人使用的话是不需要这些组件的) 5.选择安装位置,选择安装组件,选择安装的快捷方式

(在上一步中,如果你使用了23809-31321-26556-08694安装密钥,那么会多框出来的这两个组件)

6.然后等待安装完成

第10步。 8.然后我们需要替换破解过的文件,进入serial文件夹(它在ISO文件内,如第1步所示,你把ISO文件解压或载入虚拟光驱就能看到了),选择与你系统版本对应的破解文件(32位系统打开Matlab32,64位系统打开 Matlab64),复制里面的bin文件夹。

(图论)matlab模板程序

(图论)matlab模板程序

第一讲:图论模型 程序一:可达矩阵算法 %根据邻接矩阵A(有向图)求可达矩阵P(有向图) function P=dgraf(A) n=size(A,1); P=A; for i=2:n P=P+A^i; end P(P~=0)=1; %将不为0的元素变为1 P; 程序二:无向图关联矩阵和邻接矩阵互换算法F表示所给出的图的相应矩阵 W表示程序运行结束后的结果 f=0表示把邻接矩阵转换为关联矩阵 f=1表示把关联矩阵转换为邻接矩阵 %无向图的关联矩阵和邻接矩阵的相互转换 function W=incandadf(F,f) if f==0 %邻接矩阵转换为关联矩阵 m=sum(sum(F))/2; %计算图的边数 n=size(F,1); W=zeros(n,m); k=1; for i=1:n for j=i:n if F(i,j)~=0 W(i,k)=1; %给边的始点赋值为1 W(j,k)=1; %给边的终点赋值为1 k=k+1; end end end elseif f==1 %关联矩阵转换为邻接矩阵 m=size(F,2); n=size(F,1); W=zeros(n,n); for i=1:m a=find(F(:,i)~=0); W(a(1),a(2))=1; %存在边,则邻接矩阵的对应值为1 W(a(2),a(1))=1;

end else fprint('Please imput the right value of f'); end W; 程序三:有向图关联矩阵和邻接矩阵互换算法 %有向图的关联矩阵和邻接矩阵的转换 function W=mattransf(F,f) if f==0 %邻接矩阵转换为关联矩阵 m=sum(sum(F)); n=size(F,1); W=zeros(n,m); k=1; for i=1:n for j=i:n if F(i,j)~=0 %由i发出的边,有向边的始点 W(i,k)=1; %关联矩阵始点值为1 W(j,k)=-1; %关联矩阵终点值为-1 k=k+1; end end end elseif f==1 %关联矩阵转换为邻接矩阵 m=size(F,2); n=size(F,1); W=zeros(n,n); for i=1:m a=find(F(:,i)~=0); %有向边的两个顶点 if F(a(1),i)==1 W(a(1),a(2))=1; %有向边由a(1)指向a(2) else W(a(2),a(1))=1; %有向边由a(2)指向a(1) end end else fprint('Please imput the right value of f'); end W;

云模型简介及个人理解matlab程序文件

随着不确定性研究的深入,越来越多的科学家相信,不确定性是这个世界的魅力所在,只有不确定性本身才是确定的。在众多的不确定性中,随机性和模糊性是最基本的。针对概率论和模糊数学在处理不确定性方面的不足,1995年我国工程院院士李德毅教授在概率论和模糊数学的基础上提出了云的概念,并研究了模糊性和随机性及两者之间的关联性。自李德毅院士等人提出云模型至今,云模型已成功的应用到自然语言处理、数据挖掘、 设是一个普通集合。 , 称为论域。关于论域中的模糊集合,是指对于任意元素都存在一个有稳定倾向的随机数,叫做对的隶属度。如果论域中的元素是简单有序的,则可以看作是基础变量,隶属度在上的分布叫做隶属云;如果论域中的元素不是简单有序的,而根据某个法则,可将映射到另一个有序的论域上,中的一个且只有一个和对应,则为基础变量,隶属度在上的分布叫做隶属云[1] 。 数字特征 云模型表示自然语言中的基元——语言值,用云的数字特征

——期望Ex,熵En和超熵He表示语言值的数学性质[3] 。 期望 Ex:云滴在论域空间分布的期望,是最能够代表定性概念的点,是这个概念量化的最典型样本。 熵 En:“熵”这一概念最初是作为描述热力学的一个状态参量,此后又被引入统计物理学、信息论、复杂系统等,用以度量不确定的程度。在云模型中,熵代表定性概念的可度量粒度,熵越大,通常概念越宏观,也是定性概念不确定性的度量,由概念的随机性和模糊性共同决定。一方面, En是定性概念随机性的度量,反映了能够代表这个定性概念的云滴的离散程度;另一方面,又是定性概念亦此亦彼性的度量,反映了在论域空间可被概念接受的云滴的取值范围。用同一个数字特征来反映随机性和模糊性,也必然反映他们之间的关联性。 超熵 He:熵的不确定性度量,即熵的熵,由熵的随机性和模糊性共同决定。反映了每个数值隶属这个语言值程度的凝聚性,即云滴的凝聚程度。超熵越大,云的离散程度越大,隶属度的随机性也随之增大,云的厚度也越大。 1.绘制云图 Ex=18

S.J.Chapman《MATLAB编程》中文版修正版_部分9

9.8 位置和单位| 265 pixels 这些信息说明当前图象窗口的左下角距屏幕右边的距离为176pixel,距屏幕底边的距离为204pixel。,图象的宽度为672pixel,上下高度为504pixel。注意这是图象的可作图区,包括边界,滚动条,菜单,还有图象的标题区。 单位("units")属性的默认值为像素(pixels),但是它的属性值还可以为英尺(inches),公分(centimeters),点(points),或归一化坐标(normalixed coordinates)。像素代表了屏幕像素,即在屏幕上可表示出来的最小的对象。典型的计算机屏幕最小分辨为640×480,在屏幕的每一个位置都有超过1000的像素。因为像素数因机算机屏幕的不同而不同,所以指定对象的大小也会随之改变。 归一化坐标是在0到1范围内。在归一化坐标中,屏幕的左下角为[0,0]右上角为[1.0, 1.0]。 如果对象的位置归一化坐标系的形式描述,那么不同分辨率的显示器上对象的相对位置是固定的。例如,下面的语句创建了一个图象,把图象放置在屏幕的上部,而不用考虑显示器的大小。 H = figure(1) set(H,'units', 'normalized','position',[0 .5 .5 .45]) 好的编程习惯 如果你想把对象放置在窗口的特定位置,最好的方法是用归一化坐标,因为不用考虑显示器的大小。 9.8.2 坐标系对象和uicontrol对象的位置 坐标系对象和uicontrol对象的位置同样可以用一个4元素向量表示,但它是相对于figure对象的位置。一般说来,所有子对象的"position"属性都与它的父对象相关。 默认地,坐标系对象在一图象内的位置是有归一化单位指定的,(0,0)代表图象的左下角,(1,1)代表图象的右上角。 9.8.3 文本(text)对象的位置 与其他对象不同,文本(text)对象有一个位置属性,包含两个或三个元素。这些元素为坐标系对象中文本对象的x,y和z轴。注意都显示在坐标轴上。 放置在某一特定点的文本对象的位置可由这个对象的HorizontalAlignment和VerticalAlignment属性控制。HorizontalAlignment的属性可以是{Left}。Center,或Right。VerticalAlignment的属性值可以为Top,cap,{Middle},Baseline或Bottom。 文本对象的大小由字体大小和字符数决定,所以没有高度和宽度值与之相连。 例9.3 设置一个图象内对象的位置 正如我们前面所提到的,坐标系的位置与包含它的图象窗口的左下角有关,而文本对象的位置与坐标系的位置相关。 为了说明如何在一图象窗口中设置图形对象的位置,我们将编写一个程序,用它在单个的图象窗口内创建两个交迭的坐标系。 第一个坐标系将用来显示函数sinx的图象,并带有相关文本说明。第二个坐标系用来显示函数cosx的图象,并在坐标系的左下角有相关的文本说明。

图论算法及matlab程序的三个案例

图论实验三个案例 单源最短路径问题 Dijkstra 算法 Dijkstra 算法是解单源最短路径问题的一个贪心算法。其基本思想是,设置一个顶点集合S 并不断地作贪心选择来扩充这个集合。一个顶点属于集合S 当且仅当从源到该顶点的最短路径长度已知。设v 是图中的一个顶点,记()l v 为顶点 v 到源点v 1的最短距离, ,i j v v V ?∈,若 (,)i j v v E ?,记i v 到j v 的权ij w =∞。 Dijkstra 算法: ① 1{}S v =,1()0l v =;1{}v V v ??-,()l v =∞,1i =,1{}S V v =-; ② S φ=,停止,否则转③; ③ ()min{(),(,)} j l v l v d v v =, j v S ∈,v S ?∈; ④ 存在 1 i v +,使 1()min{()} i l v l v +=,v S ∈; ⑤ 1{} i S S v +=, 1{} i S S v +=-,1i i =+,转②; 实际上,Dijkstra 算法也是最优化原理的应用:如果12 1n n v v v v -是从1v 到 n v 的最短路径,则 12 1 n v v v -也必然是从1v 到 1 n v -的最优路径。 在下面的MATLAB 实现代码中,我们用到了距离矩阵,矩阵第i 行第j 行元 素表示顶点i v 到j v 的权ij w ,若i v 到j v 无边,则realmax ij w =,其中realmax 是 MATLAB 常量,表示最大的实数+308)。 function re=Dijkstra(ma)

matlab命令中文翻译大全

MATLAB命令中文翻译大全 MATLAB Translations 1. MATLAB命令大全 管理命令和函数 help 在线帮助文件 doc 装入超文本说明 what M、MAT、MEX文件的目录列表 type 列出M文件 lookfor 通过help条目搜索关键字 which 定位函数和文件 Demo 运行演示程序 Path 控制MATLAB的搜索路径 管理变量和工作空间 Who 列出当前变量 Whos 列出当前变量(长表) Load 从磁盘文件中恢复变量 Save 保存工作空间变量 Clear 从内存中清除变量和函数 Pack 整理工作空间内存 Size 矩阵的尺寸 Length 向量的长度 disp 显示矩阵或 与文件和*作系统有关的命令 cd 改变当前工作目录 Dir 目录列表 Delete 删除文件 Getenv 获取环境变量值 ! 执行DOS*作系统命令 Unix 执行UNIX*作系统命令并返回结果 Diary 保存MATLAB任务控制命令窗口 Cedit 设置命令行编辑 Clc 清命令窗口 Home 光标置左上角 Format 设置输出格式 Echo 底稿文件内使用的回显命令 more 在命令窗口中控制分页输出 启动和退出MATLAB Quit 退出MATLAB

Startup 引用MATLAB时所执行的M文件 Matlabrc 主启动M文件 一般信息 Info MATLAB系统信息及Mathworks公司信息 Subscribe 成为MATLAB的订购用户 hostid MATLAB主服务程序的识别代号 Whatsnew 在说明书中未包含的新信息2. MATLAB命令大全 Ver 版本信息 *作符和特殊字符 + 加 —减 * 矩阵乘法 .* 数组乘法 ^ 矩阵幂 .^ 数组幂 \ 左除或反斜杠 / 右除或斜杠 ./ 数组除 Kron Kronecker张量积 : 冒号 ( ) 圆括号 [ ] 方括号 . 小数点 .. 父目录 … 继续 , 逗号 ; 分号 % 注释 ! 感叹号 … 转置或引用 = 赋值 = = 相等 < > 关系*作符 & 逻辑与 | 逻辑或 ~ 逻辑非 xor 逻辑异或 逻辑函数 Exist 检查变量或函数是否存在

图论与网络优化课程设计_Matlab实现

图论与网络优化课程设计 四种基本网络(NCN、ER、WS、BA) 的构造及其性质比较 摘要:网络科学中被广泛研究的基本网络主要有四种,即:规则网络之最近邻耦合网络(Nearest-neighbor coupled network),本文中简称NCN;ER随机网络G(N,p);WS小世界网络;BA无标度网络。本文着重研究这几种网络的构造算法程序。通过运用Matlab软件和NodeXL网络分析软件,计算各种规模下(例如不同节点数、不同重连概率或者连边概率)各自的网络属性(包括边数、度分布、平均路径长度、聚类系数),给出图、表和图示,并进行比较和分析。 关键字:最近邻耦合网络;ER随机网络;WS小世界网络;BA无标度网络;Matlab;NodeXL。

四种基本网络(NCN、ER、WS、BA) 的构造及其性质比较 1.概述 1.网络科学的概述 网络科学(Network Science)是专门研究复杂网络系统的定性和定量规律的一门崭新的交叉科学,研究涉及到复杂网络的各种拓扑结构及其性质,与动力学特性(或功能)之间相互关系,包括时空斑图的涌现、动力学同步及其产生机制,网络上各种动力学行为和信息的传播、预测(搜索)与控制,以及工程实际所需的网络设计原理及其应用研究,其交叉研究内容十分广泛而丰富。网络科学中被广泛研究的基本网络主要有四种,即:规则网络之最近邻耦合网络(Nearest-neighbor coupled network),本文中简称NCN;ER随机网络G(N,p);WS小世界网络;BA无标度网络。本文着重研究这几种网络的构造算法程序。计算各种规模下(例如不同节点数、不同重连概率或者连边概率)各自的网络属性(包括边数、度分布、平均路径长度、聚类系数),给出图、表和图示,并进行比较和分析。 2.最近邻耦合网络的概述 如果在一个网络中,每一个节点只和它周围的邻居节点相连,那么就称该网络为最近邻耦合网络。这是一个得到大量研究的稀疏的规则网络模型。 常见的一种具有周期边界条件的最近邻耦合网络包含围成一个环的N个节点,其中每K个邻居节点相连,这里K是一个偶数。这类网络的一个重要特征个节点都与它左右各/2 就是网络的拓扑结构是由节点之间的相对位置决定的,随着节点位置的变化网络拓扑结构也可能发生切换。 NCN的Matlab实现: %function b = ncn(N,K) %此函数生成一个有N个节点,每个节点与它左右各K/2个节点都相连的最近邻耦合网络 %返回结果b为该最近邻耦合网络对应的邻接矩阵 function b = ncn(N,K) b=zeros(N); for i = 1:N for j = (i+1):(i+K/2) if j<=N b(i,j)=1; b(j,i)=1; else b(i,j-N)=1;

基于云模型的粒计算方法研究

第6章从云模型理解模糊集合的争论与发展

第1章基于云模型的粒计算方法应用 云模型是一个定性定量转换的双向认知模型,正向高斯云和逆向高斯云算法实现了一个基本概念与数据集合之间的转换关系;本文基于云模型和高斯变换提出的高斯云变换方法给出了一个通用的认知工具,不仅将数据集合转换为不同粒度的概念,而且可以实现不同粒度概念之间的柔性切换,构建泛概念树,解决了粒计算中的变粒度问题,有着广阔的应用前景。 视觉是人类最重要的感觉,人类所感知的外界信息至少有80%以上都来自于视觉[130]。图像分割[131]是一种最基本的计算机视觉技术,是图像分析与理解的基础,一直以来都受到人们的广泛关注。目前图像的分割算法有很多,包括大大小小的改进算法在内不下千种,但大致可以归纳为两类[132]。第一类是采用自顶向下的方式,从数学模型的选择入手,依靠先验知识假定图像中的部分属性特征符合某一模型,例如马尔科夫随机场、引力场等,利用模型描述图像的邻域相关关系,将图像低层的原始属性转换到高层的模型特征空间,进而建模优化求解所采用模型的参数,通常是一个复杂度非常高的非线性能量优化问题。在特征空间对图像建模,其描述具有结构性、分割结果也一般具有语义特征,但是由于对数据的未知性、缺乏足够先验知识的指导,导致模型的参数选择存在一定的困难。第二类是采用自底向上的方式,从底层原始数据入手,针对图像灰度、颜色等属性采用数据聚类的方法进行图像分割,聚类所采用的理论方法通常包括高斯变换、模糊集、粗糙集等;或者预先假设图像的统计特性符合一定的分类准则,通过优化准则产生分割结果,例如Otsu方法的最大方差准则[133][134]、Kapur方法的最大熵准则[135][136]等。这类方法虽然缺乏语义信息表达,但是直接在数据空间建模,方法更具普适性和鲁棒性。 随着计算机视觉研究的深入,简单的图像分割已经不能满足个性化的需求,有时候人们恰恰兴趣的是图像中亦此亦彼的那些不确定性区域,基于云模型的粒计算方法是一种不确定性计算方法,发现图像中存在的不确定性区域是它的一个重要能力。如何模拟人类自然视觉中的认知能力进行图像分割一直以来都是一个难点问题,而基于高斯云变换的可变粒计算正是用来模拟人类认知中的可变粒计算过程,因此可以利用高斯云变换对自然视觉认知能力中选择性注意能力进行形式化。武汉大学秦昆教授等曾基于云综合、云分解等云运算实现图像分割,正如第5章中的分析结果,基于内涵的概念计算方法随着层次的提升,概念脱离原始数据会增加误分率,甚至失效,而且无法实现自适应地概念数量和粒度优化。

matlab2014a安装及破解步骤

MATLAB2014a安装及破解步骤 1) 运行"X:\setup.exe"或者运行"X:\bin\win32\setup.exe" (如果你想在64位操作系统上安装32位的MATLAB) 2) 选择"install manually without using the internet" 3) 当需要输入"file installation key"时,使用以下密钥 12313-94680-65562-90832 4) 安装Matlab (如果你想节约空间,请选择custom安装方式,勾选你需要的工具箱) 5) 当需要激活时,选择"activation without internet" 6) 当需要选择授权文件时,选择"X:\serial\license.lic" 7) 根据你安装的MATLAB版本,复制文件夹"X:\serial\MatlabX32" 或"X:\serial\MatlabX64" 下的bin文件夹到MATLAB的安装目录,替换已存在的文件。对于XP以上操作系统,此步可能需要管理员权限

MATLAB R2014a 中文版下载安装图文教程 方法/步骤 1、下载MATLAB R2014a ,并用解压工具解压到Matlab R2014a文件夹中。Windows8以及Windows8.1系统自带虚拟光驱,可以直接双击“Mathworks.Matlab.R2014a(8.3).iso”进行安装。 2、整个安装过程需要在无网的环境下进行,所以请拔掉网线,断开无线,否则安装可能会失败。 3、用虚拟光驱加载后,双击setup.exe 开始安装。 4、选择“使用安装文件密钥”,点击“下一步”。

Matlab中文教程共63页

MatLab简介 MATLAB是什么? 典型的使用包括: 数学和计算 算术发展模型, 模拟,和原型 数据分析,开发,和可视化 科学和工程图学 应用发展包括图形用户界面设计 MATLAB表示矩阵实验室。 MATLAB系统 MATLAB系统由5主要的部分构成: 1. MATLAB语言。这是高阶的矩阵/数组语言,带控制流动陈述,函数,数据结构,输入/输出,而且面向目标的编程特点。 Ops 操作符和特殊字符。 Lang 程序设计语言作。 strfun 字符串。 iofun 输入/输出。

timefun 时期和标有日期。 datatypes数据类型和结构。 2. MATLAB工作环境。这是你作为MATLAB用户或程序编制员的一套工具和设施。 3. 制图这是MATLAB制图系统。它为2维上,而且三维的数据可视化,图象处理,动画片制作和表示图形包括高阶的指令在内。它也为包括低阶的指令在内,允许你建造完整的图形用户界面(GUIs),MATLAB应用。制图法功能在MATLAB工具箱中被组织成5文件夹: graph2d 2-的维数上的图表。 graph3d 三维的图表。 specgraph 专业化图表。 graphics 制图法。 uitools 图形用户界面工具。 4. MATLAB的数学的函数库。数学和分析的功能在MATLAB工具箱中被组织成8文件夹。 elmat 初步矩阵,和矩阵操作。 elfun 初步的数学函数。 specfun 专门的数学函数。 matfun 矩阵函数-用数字表示的线性的代数。 datafun 数据分析和傅立叶变换。 polyfun 插入物,并且多项式。

多目标优化实例和matlab程序

NSGA-II 算法实例 目前的多目标优化算法有很多, Kalyanmoy Deb 的带精英策略的快速非支配排序遗传算法(NSGA-II) 无疑是其中应用最为广泛也是最为成功的一种。本文用的算法是MATLAB 自带的函数gamultiobj ,该函数是基于NSGA-II 改进的一种多目标优化算法。 一、 数值例子 多目标优化问题 424221********* 4224212212112 12min (,)10min (,)55..55 f x x x x x x x x x f x x x x x x x x x s t x =-++-=-++-≤≤??-≤≤? 二、 Matlab 文件 1. 适应值函数m 文件: function y=f(x) y(1)=x(1)^4-10*x(1)^2+x(1)*x(2)+x(2)^4-x(1)^2*x(2)^2; y(2)=x(2)^4-x(1)^2*x(2)^2+x(1)^4+x(1)*x(2); 2. 调用gamultiobj 函数,及参数设置: clear clc fitnessfcn=@f; %适应度函数句柄 nvars=2; %变量个数 lb=[-5,-5]; %下限 ub=[5,5]; %上限 A=[];b=[]; %线性不等式约束 Aeq=[];beq=[]; %线性等式约束 options=gaoptimset('paretoFraction',0.3,'populationsize',100,'generations',200,'stallGenLimit',200,'TolFun',1e-100,'PlotFcns',@gaplotpareto); % 最优个体系数paretoFraction 为0.3;种群大小populationsize 为100,最大进化代数generations 为200, % 停止代数stallGenLimit 为200, 适应度函数偏差TolFun 设为1e-100,函数gaplotpareto :绘制Pareto 前端 [x,fval]=gamultiobj(fitnessfcn,nvars,A,b,Aeq,beq,lb,ub,options)

matlab图论程序算法大全

精心整理 图论算法matlab实现 求最小费用最大流算法的 MATLAB 程序代码如下: n=5;C=[0 15 16 0 0 0 0 0 13 14 for while for for(i=1:n)for(j=1:n)if(C(i,j)>0&f(i,j)==0)a(i,j)=b(i,j); elseif(C(i,j)>0&f(i,j)==C(i,j))a(j,i)=-b(i,j); elseif(C(i,j)>0)a(i,j)=b(i,j);a(j,i)=-b(i,j);end;end;end for(i=2:n)p(i)=Inf;s(i)=i;end %用Ford 算法求最短路, 赋初值 for(k=1:n)pd=1; %求有向赋权图中vs 到vt 的最短路

for(i=2:n)for(j=1:n)if(p(i)>p(j)+a(j,i))p(i)=p(j)+a(j,i);s(i)=j;pd=0;end ;end;end if(pd)break;end;end %求最短路的Ford 算法结束 if(p(n)==Inf)break;end %不存在vs 到vt 的最短路, 算法终止. 注意在求最小费用最大流时构造有 while if elseif if if pd=0; 值 t=n; if elseif if(s(t)==1)break;end %当t 的标号为vs 时, 终止调整过程 t=s(t);end if(pd)break;end%如果最大流量达到预定的流量值 wf=0; for(j=1:n)wf=wf+f(1,j);end;end %计算最大流量 zwf=0;for(i=1:n)for(j=1:n)zwf=zwf+b(i,j)*f(i,j);end;end%计算最小费用

正向云发生器代码(matlab)

正向云发生器matlab代码 %正向云算法:由数字特征到定量数据表示 %直接在程序中固定EX/EN/HE的值 Ex=0; En=1; He=0.2; n=2000; X = zeros(1,n); %产生一个1*n型矩阵,其元素都为0 Y = zeros(1,n); X= normrnd ( En, He, 1, n); %产生一个1*n型正态随机数矩阵,EX为期望,ENN为方差for i=1:n Enn=X(1,i); X(1, i) = normrnd ( Ex, Enn, 1) ; %产生一个正态随机数,EX为期望,ENN为方差(1*1型) Y(1, i) = exp ( - (X(1, i) - Ex) ^2 / (2* Enn^2) ) ; end plot(X(1,:),Y(1,:),'r.'); %画图语句 %倘若X(1,i)是确定的随机数时,本代码是自己输入确定值 %保存为.m文件时,文件名要是字母名,不要中文名 disp('- - - - -云发生器程序开始- - - - -'); Ex = input('输入期望值Ex:'); En = input('输入熵值En:'); He = input('输入超熵值He:'); n = input('输入需重复计算次数:'); X = zeros(1,n); %产生一个1*n型矩阵,其元素都为0 Y = zeros(1,n); X= normrnd ( En, He, 1, n); %产生一个1*n型正态随机数矩阵,EX为期望,He为方差Xi = input('输入随机数X(1,i):'); %手动输入固定随机数X for i=1:n

相关主题