2011数模B题画图matlab程序

合集下载

2011第5讲 Matlab绘图2

2011第5讲 Matlab绘图2

4、隐函数绘图
MATLAB提供了一个 提供了一个ezplot函数绘制隐函数图形 函数绘制隐函数图形 提供了一个 函数 对于函数f 函数的调用格式为: 对于函数 = f(x,y),ezplot函数的调用格式为: , 函数的调用格式为 ezplot(f):在默认区间-2π<x,y<2π绘制 :在默认区间 绘制f(x,y)=0的图形。 的图形。 绘制 的图形 ezplot(f, [a,b]):在区间 绘制f(x,y)=0的图形。 的图形。 :在区间a<x,y<b绘制 绘制 的图形
5、低层绘图操作
x=linspace(0,2*pi,30); y=sin(x); h0=plot(x,y,'rx') %曲线对象的句柄 曲线对象的句柄 h1=gcf h2=gca %获取当前图形窗口的句柄 获取当前图形窗口的句柄 %获取当前坐标轴的句柄 获取当前坐标轴的句柄
5、低层绘图操作
5.2 图形对象属性 (1) 属性名与属性值 MATLAB给每种对象的每一个属性规定了一个名字, 给每种对象的每一个属性规定了一个名字, 给每种对象的每一个属性规定了一个名字 称为属性名,而属性名的取值称为属性值。 称为属性名,而属性名的取值称为属性值。 例如: 是曲线对象的一个属性名, 例如:LineStyle是曲线对象的一个属性名,它的值决 是曲线对象的一个属性名 定着线型,取值可以是‘ , 定着线型,取值可以是‘-’,‘:’,‘-.’,‘--’, , , , 'none‘ 属性名不分大小写,在不引起歧义下,不必写全。 属性名不分大小写,在不引起歧义下,不必写全。
3、三维图形的精细处理
定义色图矩阵函数 autumn 红、黄浓淡色; 黄浓淡色; bone 蓝色调浓淡色; 蓝色调浓淡色; colorcube 三浓淡多彩交错色; 三浓淡多彩交错色; cool 品红浓淡色; 青、品红浓淡色; copper 纯铜色调线性浓淡色; 纯铜色调线性浓淡色; flag 黑交错色; 红-白-蓝-黑交错色; 白 蓝 黑交错色 gray 灰色调线性浓淡色; 灰色调线性浓淡色; hot 白浓淡色; 黑、红、黄、白浓淡色; …………..

MATLAB绘图初步讲解实例教程

MATLAB绘图初步讲解实例教程

详细描述
MATLAB提供了交互式图形工具,如 `ginput`、`axes_crossing_info`等,使用户 能够与图形进行交互。通过这些工具,用户 可以获取图形的坐标值、筛选数据等操作, 从而更深入地分析数据。交互式图形在数据 探索和可视化方面具有很高的实用价值。
04
实例教程
绘制正弦函数和余弦函数
等,可以提高绘图效率和精度。
实践项目
02
通过实践项目来巩固和加深对MATLAB绘图的理解,例如数据
拟合、图像处理等。
参加在线课程和论坛
03
参加在线课程和论坛,与其他用户交流和学习,可以扩展视野
和知识面。
THANKS
感谢观看
mat制基本图形 • 图形进阶技巧 • 实例教程 • 总结与扩展
01
MATLAB绘图基础
绘图函数简介
bar()
绘制条形图,用于 展示分类数据或离 散数据。
hist()
绘制直方图,用于 展示数据的分布情 况。
plot()
绘制二维线图,是 MATLAB中最常用 的绘图函数。
05
总结与扩展
MATLAB绘图的优势与不足
强大的数据处理能力
MATLAB提供了丰富的数据处理函数,方便 用户进行数据分析和可视化。
丰富的图形样式
MATLAB支持多种图形样式,包括散点图、 线图、柱状图等,可以满足各种绘图需求。
MATLAB绘图的优势与不足
• 交互式绘图:MATLAB支持交互式绘图,用户可以通过鼠 标操作对图形进行缩放、旋转等操作。
```
绘制饼状图
在此添加您的文本17字
总结词:饼状图用于展示各类别数据在总数据中所占的比 例。
在此添加您的文本16字

03_MATLAB作图2011

03_MATLAB作图2011

颜色
y m c r g b w k 黄色 棕色 青色 红色 绿色 蓝色 白色 黑色
help plot 查看
Subplots
SUBPLOT- display multiple axes in the same figure window
subplot(#rows, #cols, index); »subplot(2,2,1); »plot(1:10); »subplot(2,2,2); »x = 0:.1:2*pi; »plot(x,sin(x)); »subplot(2,2,3); »x = 0:.1:2*pi; »plot(x,exp(-x),’r’); »subplot(2,2,4); »plot(peaks);
Images
• imagesc – Pseudocolor – Colormaps
• image – M x N x 3 matrix
Histograms
• hist – designate bins • bar – generic bar graph
图形窗口
• 图形窗口菜单和工具栏 • ∆图形编辑
– 当xa, ya分别为 维和 维行向量,得到 和y均为 行m 分别为m维和 维行向量, 均为n行 分别为 维和n维行向量 得到x和 均为 列矩阵。 常用于生成X-Y平面上的网格数据。 平面上的网格数据。 列矩阵。meshgrid常用于生成 常用于生成 平面上的网格数据
• mesh(x,y,z)
– 绘制网面图,是最基本的曲面图形命令, 其中 y, z是同 绘制网面图,是最基本的曲面图形命令 其中x, 是同 阶矩阵,表示曲面三维数据。 阶矩阵,表示曲面三维数据。
» x = 0:1:2*pi; » y = sin(x); » plot(x,y);grid on;

数学建模B题国家一等奖Matlab程序

数学建模B题国家一等奖Matlab程序

附录3:程序源文件1.duqu_image.m文件%数据读取预处理文件%将附件中的图片读取到matlab矩阵中,并保存为image_1,image_2,image_3,image_4,image_5a,image_5b%所有附件均放在文件夹 D:\B 中%%%%%%%%%%%%%%%%%%%%%%%%图片名序列%图像名称序号b = [ones(1,10);0 1 2 3 4 5 6 7 8 9]';image_num= [strcat( num2str(0*b(:,1)),num2str(0*b(:,1)),num2str(b(:,2)) ),strcat( num2str(0*b(:,1)),num2str(b(:,1)),num2str(b(:,2)) ),strcat( num2str(0*b(:,1)),num2str(2*b(:,1)),num2str(b(:,2)) ),strcat( num2str(0*b(:,1)),num2str(3*b(:,1)),num2str(b(:,2)) ),strcat( num2str(0*b(:,1)),num2str(4*b(:,1)),num2str(b(:,2)) ),strcat( num2str(0*b(:,1)),num2str(5*b(:,1)),num2str(b(:,2)) ),strcat( num2str(0*b(:,1)),num2str(6*b(:,1)),num2str(b(:,2)) ),strcat( num2str(0*b(:,1)),num2str(7*b(:,1)),num2str(b(:,2)) ),strcat( num2str(0*b(:,1)),num2str(8*b(:,1)),num2str(b(:,2)) ),strcat( num2str(0*b(:,1)),num2str(9*b(:,1)),num2str(b(:,2)) ),strcat( num2str(b(:,1)),num2str(0*b(:,1)),num2str(b(:,2)) ),strcat( num2str(b(:,1)),num2str(b(:,1)),num2str(b(:,2)) ),strcat( num2str(b(:,1)),num2str(2*b(:,1)),num2str(b(:,2)) ),strcat( num2str(b(:,1)),num2str(3*b(:,1)),num2str(b(:,2)) ),strcat( num2str(b(:,1)),num2str(4*b(:,1)),num2str(b(:,2)) ),strcat( num2str(b(:,1)),num2str(5*b(:,1)),num2str(b(:,2)) ),strcat( num2str(b(:,1)),num2str(6*b(:,1)),num2str(b(:,2)) ),strcat( num2str(b(:,1)),num2str(7*b(:,1)),num2str(b(:,2)) ),strcat( num2str(b(:,1)),num2str(8*b(:,1)),num2str(b(:,2)) ),strcat( num2str(b(:,1)),num2str(9*b(:,1)),num2str(b(:,2)) ),strcat( num2str(2*b(:,1)),num2str(0*b(:,1)),num2str(b(:,2)) ),]; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 读取所有附件中的图片%读取附件1中的图像n = 19;image_name = strcat('D:/B/附件1','/',image_num,'.bmp');%拼接图像地址和名字for j = 1:nimage_1(:,:,j) = imread(image_name(j,:));%将图像读入矩阵endsave image_1 image_1;%附件1图像%读取附件2中的图像n = 19;image_name = strcat('D:/B/附件2','/',image_num,'.bmp');%拼接图像地址和名字for j = 1:nimage_2(:,:,j) = imread(image_name(j,:));%将图像读入矩阵endsave image_2 image_2;%附件2图像%读取附件3中的图像n = 209;image_name = strcat('D:/B/附件3','/',image_num,'.bmp');%拼接图像地址和名字for j = 1:nimage_3(:,:,j) = imread(image_name(j,:));%将图像读入矩阵endsave image_3 image_3;%附件3图像%读取附件4中的图像n = 209;image_name = strcat('D:/B/附件4','/',image_num,'.bmp');%拼接图像地址和名字for j = 1:nimage_4(:,:,j) = imread(image_name(j,:));%将图像读入矩阵endsave image_4 image_4;%附件4图像%读取附件5 a 中的图像n = 209;image_name = strcat('D:/B/附件5','/',image_num,'a','.bmp');%拼接图像地址和名字for j = 1:nimage_5a(:,:,j) = imread(image_name(j,:));%将图像读入矩阵endsave image_5a image_5a;%附件5a图像%读取附件5 b 中的图像n = 209;image_name = strcat('D:/B/附件5','/',image_num,'b','.bmp');%拼接图像地址和名字for j = 1:nimage_5b(:,:,j) = imread(image_name(j,:));%将图像读入矩阵endsave image_5b image_5b;%附件5a图像2.f_hang_left_right.m文件function [left_zi_chang right_zi_chang] = f_hang_left_right(image_hang)% 此函数计算一行字左右两端汉字的长度%image_hang表示附件图片中第几行字%image_hang = image_1(106:146,:,1);%取行[row col] = size(image_hang);image_01 = image_hang>=200; %01化图形,0表示汉字,1表示背景image_hang_he = sum(image_01,1);%对列求和%%%%%%%%%%%%%%%%%%%找汉字hanzi_fa_zhi = row;%表示空格kong_ge_chang = 3;% 空格的长度hang_he_01 = image_hang_he == hanzi_fa_zhi;if( hang_he_01(1) == 0 )%本行左边开头为汉字,统计汉字的长度for i =1:col-kong_ge_changif( sum(hang_he_01(i:i+kong_ge_chang-1)) == kong_ge_chang )break;endendleft_zi_chang = i - 1;elseleft_zi_chang = 0;endif(left_zi_chang > 41)left_zi_chang = 0;endif( hang_he_01(col) == 0 )%本行结束为汉字,统计汉字的长度for i =col:-1:kong_ge_changif( sum(hang_he_01(i-kong_ge_chang +1:i)) == kong_ge_chang ) break;endendright_zi_chang = col - i;elseright_zi_chang = 0;endif(right_zi_chang > 41)right_zi_chang = 0;end3.f_pi_pei_du.m文件function [left_zi_chang right_zi_chang] = f_hang_left_right(image_hang) % 此函数计算一行字左右两端汉字的长度%image_hang表示附件图片中第几行字%image_hang = image_1(106:146,:,1);%取行[row col] = size(image_hang);image_01 = image_hang>=200; %01化图形,0表示汉字,1表示背景image_hang_he = sum(image_01,1);%对列求和%%%%%%%%%%%%%%%%%%%找汉字hanzi_fa_zhi = row;%表示空格kong_ge_chang = 3;% 空格的长度hang_he_01 = image_hang_he == hanzi_fa_zhi;if( hang_he_01(1) == 0 )%本行左边开头为汉字,统计汉字的长度for i =1:col-kong_ge_changif( sum(hang_he_01(i:i+kong_ge_chang-1)) == kong_ge_chang ) break;endendleft_zi_chang = i - 1;elseleft_zi_chang = 0;endif(left_zi_chang > 41)left_zi_chang = 0;endif( hang_he_01(col) == 0 )%本行结束为汉字,统计汉字的长度for i =col:-1:kong_ge_changif( sum(hang_he_01(i-kong_ge_chang +1:i)) == kong_ge_chang ) break;endendright_zi_chang = col - i;elseright_zi_chang = 0;endif(right_zi_chang > 41)right_zi_chang = 0;end4.fujian_1_chengxu.m文件%%%%%%%%% 此文件,将附件1中的图片进行拼接% 1.先统计出附件1 所有行字的左右汉字长度% 2.计算匹配度% 3.根据匹配度进行拼接load image_1;%读取附件1数据文件% 人工干预计算下列值ding_kong = 37;% ding_kong 表示顶端空行zi_gao = 41;% zi_gao 表示字的高度zi_kuan = 41;% zi_kuan 表示字的宽度konghang_gao = 26;% konghang_gao 表示空行的高度hang_shu = 27;%附件1 所给文件的汉字总行数% 1.先统计出附件1 所有行字的左右汉字长度fujian_zitu = zeros(hang_shu,2);%附件1中的每一个子图的左右汉字长度fujian_1 = zeros(27,2,19);%附件1中所有图的左右汉字长度for j = 1:19zi_ding = ding_kong;for i = 1:hang_shu[fujian_zitu(i,1) fujian_zitu(i,2)]= f_hang_left_right( image_1( zi_ding+1 : zi_ding +zi_gao ,:,j) );zi_ding = zi_ding + zi_gao + konghang_gao;endfujian_1(:,:,j) = fujian_zitu;endsave fujian_1_zuoyou_zichang fujian_1;%保存字长结果fujian1_pinjie_jieguo = zeros(1,19);%保存拼接结果的矩阵pipeidu = zeros(1,19);%用来保存中间匹配度的向量fujian1_pinjie_jieguo(1) = 9;%人工干预找到的第一个(最左边)的纸条(即,图008.bmp)fa_zhi = 0.8;% 匹配度计算时的阀值,大于此阀值的任务匹配正确,小于此值的认为匹配不正确% 2.计算匹配度%匹配度fujian_1_pipei_du = zeros(19,19);for i= 1:19for j=1:19fujian_1_pipei_du(i,j) = f_pi_pei_du(fujian_1(:,2,i),fujian_1(:,1,j),fa_zhi);endendsave fujian_1_pipei_du fujian_1_pipei_du;;%保存匹配度结果fujian_1_pipei_du_bian = fujian_1_pipei_du;%用于去除已选的纸条% 3.根据匹配度进行拼接fj1_pinjie_jieguo = zeros(1,19);fj1_yong = zeros(1,19);fj1_pinjie_jieguo(1) = 9;fj1_yong(fj1_pinjie_jieguo(1)) = 1;for i = 1:18for j = 1:19;if( fj1_yong(j)==1 )fujian_1_pipei_du_bian(fj1_pinjie_jieguo(i),j) = 0;endend[max_pipei_du fj1_pinjie_jieguo(i+1)] = max(fujian_1_pipei_du_bian(fj1_pinjie_jieguo(i),:));fj1_yong(fj1_pinjie_jieguo(i+1)) = 1;endsave fj1_pinjie_jieguo fj1_pinjie_jieguo;;%保存拼接结果fj1_pinjie_jieguo%%%拼接结果输出到屏幕上%%%%%%%%%%%%fujian_1_jieguo_tu = zeros(1980,19*72);for i = 1:19fujian_1_jieguo_tu(:,(i-1)*72+1:i*72) = image_1(:,:,fj1_pinjie_jieguo(i));endsave fujian_1_jieguo_tu fujian_1_jieguo_tu;imview(fujian_1_jieguo_tu)5.fujian2_pinjie_jieguo.m文件%%%%%%%%% 此文件,将附件2中的图片进行拼接% 1.先统计出附件2 所有纸条的左右边界像素qian,hou% 2.计算匹配度% 3.根据匹配度进行拼接% 1.先统计出附件2 所有纸条的左右边界像素qian,houload image_2;for m=1:19qian(:,m)=image_2(:,1,m);hou(:,m)=image_2(:,72,m);end% 2.计算匹配度%图像0-1化qian_01 = qian>=255;hou_01 = hou>=255;%匹配度fujian2_pipei_du = zeros(19,19);for j= 1:19for i=1:19fujian2_pipei_du(i,j) = sum( qian_01(:,i) == hou_01(:,j) ) / 1980;endendsave fujian_2_pipei_du fujian2_pipei_du;% 3.根据匹配度进行拼接fj2_pinjie_jieguo = zeros(1,19);fj2_pinjie_jieguo(1) = 4;for i = 1:18[max_pipei_du fj2_pinjie_jieguo(i+1)] = max(fujian2_pipei_du(:,fj2_pinjie_jieguo(i))); endsave fj2_pinjie_jieguo fj2_pinjie_jieguo;fj2_pinjie_jieguofujian_2_jieguo_tu = zeros(1980,19*72);for i = 1:19fujian_2_jieguo_tu(:,(i-1)*72+1:i*72) = image_2(:,:,fj2_pinjie_jieguo(i));endsave fujian_2_jieguo_tu fujian_2_jieguo_tu;imview(fujian_2_jieguo_tu)6.fujian_3_fenzu.m 文件文件%% 1.将11*19的纸条,分成11组,即先把属于同一组的图片归组,依据就是“每个纸条的上边界空行数”或者“汉字数”load image_3;for i = 1:209image_hang_he(:,i) = sum(image_3(:,:,i)',1);end%若为空格则标记为1,并统计空格的个数。

利用matlab进行绘图的基本流程

利用matlab进行绘图的基本流程

利用matlab进行绘图的基本流程Matlab is a powerful software tool that is widely used for data analysis, visualization, and modeling. One of the most common tasks in Matlab is plotting graphs to visualize data in a clear and concise manner. The process of creating a plot in Matlab involves several steps, from importing data to customizing the appearance of the plot.Matlab是一种强大的软件工具,广泛用于数据分析、可视化和建模。

在Matlab中最常见的任务之一是绘制图形,以清晰、简洁的方式可视化数据。

在Matlab中创建图形的过程涉及几个步骤,从导入数据到定制绘图的外观。

The first step in plotting a graph in Matlab is to import the data that you want to visualize. This can be done by loading a data file into Matlab or by creating a matrix or array directly in the Matlab workspace. Once the data is imported, you can use Matlab's plotting functions, such as plot() or scatter(), to create the desired plot.在Matlab中绘制图形的第一步是导入您想要可视化的数据。

2011年数学建模B题

2011年数学建模B题

2011年全国大学生数学建模B题交巡警服务平台的设置与调度题目警车配置及巡逻问题的研究摘要:本文研究的是某城区警车配置及巡逻方案的制定问题,建立了求解警车巡逻方案的模型,并在满足D1的条件下给出了巡逻效果最好的方案。

在设计整个区域配置最少巡逻车辆时,本文设计了算法1:先将道路离散化成近似均匀分布的节点,相邻两个节点之间的距离约等于一分钟巡逻路程。

由警车的数目m,将全区划分成m个均匀的分区,从每个分区的中心点出发,找到最近的道路节点,作为警车的初始位置,由Floyd算法算出每辆警车3分钟或2分钟行驶路程范围内的节点。

考虑区域调整的概率大小和方向不同会影响调整结果,本文利用模拟退火算法构造出迁移几率函数,用迁移方向函数决定分区的调整方向。

计算能满足D1的最小车辆数,即为该区应该配置的最小警车数目,用MATLAB计算,得到局部最优解为13辆。

在选取巡逻显著性指标时,本文考虑了两个方面的指标:一是全面性,即所有警车走过的街道节点数占总街道节点数的比例,用两者之比来评价;二是均匀性,即所有警车经过每个节点数的次数偏离平均经过次数的程度,用方差值来大小评价。

问题三:为简化问题,假设所有警车在同一时刻,大致向同一方向巡逻,运动状态分为四种:向左,向右,向上,向下,记录每个时刻,警车经过的节点和能够赶去处理事故的点,最后汇总计算得相应的评价指标。

在考虑巡逻规律隐蔽性要求时,文本将巡逻路线进行随机处理,方向是不确定的,采用算法2进行计算,得出相应巡逻显著指标,当车辆数减少到10辆或巡逻速度变大时,用算法2计算巡逻方案和对应的参数,结果见附录所示。

本文最后还考虑到4个额外因素,给出每个影响因素的解决方案。

关键词:模拟退火算法;Floyd算法;离散化一问题的重述110警车在街道上巡逻,既能够对违法犯罪分子起到震慑作用,降低犯罪率,又能够增加市民的安全感,同时也加快了接处警时间,提高了反应时效,为社会和谐提供了有力的保障。

2011高教社杯全国大学生数学建模竞赛B题(题目改变)参考答案

2011高教社杯全国大学生数学建模竞赛B题(题目改变)参考答案

交巡警服务平台的设置与调度优化分析摘要本文综合应用了Floyd算法,匈牙利算法,用matlab计算出封锁全市的时间为1.2012小时。

并在下面给出了封锁计划。

为了得出封锁计划,首先根据附件2的数据将全市的道路图转为邻接矩阵,然后根据邻接矩阵采用Floyd算法计算出该城市任意两点间的最短距离。

然后从上述矩阵中找到各个交巡警平台到城市各个出口的最短距离,这个最短距离矩阵即可作为效益矩阵,然后运用匈牙利算法,得出分派矩阵。

根据分派矩阵即可制定出封锁计划:96-151,99-153,177-177,175-202,178-203,323-264,181-317, 325-325,328-328,386-332,322-362,100-387,379-418,483-483, 484-541,485-572。

除此以外,本人建议在编号为175的路口应该设置一个交巡警平台,这样可以大大减少封锁全市的时间,大约可减少50%。

关键词: Floyd算法匈牙利算法 matlab一、问题重述“有困难找警察”,是家喻户晓的一句流行语。

警察肩负着刑事执法、治安管理、交通管理、服务群众四大职能。

为了更有效地贯彻实施这些职能,需要在市区的一些交通要道和重要部位设置交巡警服务平台。

每个交巡警服务平台的职能和警力配备基本相同。

由于警务资源是有限的,如何根据城市的实际情况与需求合理地设置交巡警服务平台、分配各平台的管辖范围、调度警务资源是警务部门面临的一个实际课题。

试就某市设置交巡警服务平台的相关情况,建立数学模型分析研究下面的问题:警车的时速为60km/h, 现有突发事件,需要全市紧急封锁出入口,试求出全市所有的交巡警平台最快的封锁计划,一个出口仅需一个平台的警力即可封锁。

二、模型假设1、假设警察出警时的速度相同且不变均为60/km h 。

2、假设警察出警的地点都是平台处。

3、假设警察接到通知后同时出警,且不考虑路面交通状况。

三、符号说明及一些符号的详细解释A 存储全市图信息的邻接矩阵 D 任意两路口节点间的最短距离矩阵X 01-规划矩阵ij a ,i j 两路口节点标号之间直达的距离 ij d 从i 路口到j 路口的最短距离 ij b 从i 号平台到j 号出口的最短距离ij x 取0或1,1ij x =表示第i 号平台去封锁j 号出口在本文中经常用到,i j ,通常表示路口的编号,但是在ij d ,ij b ,ij x 不再表示这个意思,i 表示第i 个交巡警平台,交巡警平台的标号与附件中给的略有不同,如第21个交巡警平台为附件中的标号为93的交巡警平台,本文的标号是按照程序的数据读取顺序来标注的,在此声明;j 表示第j 个出口,如:第5个出口对应于附件中的路口编号为203的出口。

2011数学建模b题完整程序

2011数学建模b题完整程序

[num,data]=xlsread('F:\建模\cumcm2011Problems中文版\B\cumcm2011B附件2_全市六区交通网路和平台设置的数据表.xlsx')x=num(:,2)y=num(:,3)plot(x,y,'r.')[num1,data1]=xlsread('F:\建模\cumcm2011Problems中文版\B\cumcm2011B 附件2_全市六区交通网路和平台设置的数据表.xlsx')[num2,data2]=xlsread('F:\建模\cumcm2011Problems中文版\B\cumcm2011B 附件2_全市六区交通网路和平台设置的数据表.xlsx','全市交通路口的路线')xyznpathnumz=data[:,4]dataz=data[:,4]data[:,4]datedataz=data(:,4)hold onfor i=1:length(x)if(strcmp(z(1),'A')) plot(x(i),y(i),'.') endendhold onfor i=1:length(x)if(strcmp(z(1),'A')) plot(x(i),y(i),'.') endendhold onfor i=1:length(x)if(strcmp(z(i),'A')) plot(x(i),y(i),'.') endendz=z(2:end)hold onfor i=1:length(x)if(strcmp(z(i),'A')) endendhold onfor i=1:length(x)if(strcmp(z(i),'A')) plot(x(i),y(i),'.') endend[num1,data1]=xlsread('C:\Users\yaokaiqian\Desktop\cumcm2011Problems 中文版\B\cumcm2011B附件2_全市六区交通网路和平台设置的数据表.xls')[num2,data2]=xlsread('C:\Users\yaokaiqian\Desktop\cumcm2011Problems 中文版\B\cumcm2011B附件2_全市六区交通网路和平台设置的数据表.xls','全市交通路口的路线') m=num1(:,6)m=num(:,6)[num1,data1]=xlsread('C:\Users\yaokaiqian\Desktop\cumcm2011Problems 中文版\B\cumcm2011B附件2_全市六区交通网路和平台设置的数据表.xls')m=num1(:,6)n=num1(:,7)hold onfor i=1:length(x)if(strcmp(z(i),'A'))plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*'); endendendline1=num2(:,1)line2=num2(:,2)hold onfor i=1:length(x)if(strcmp(z(i),'A')) plot(x(i),y(i),'.'); if(m(i)==1)plot(x(i),y(i),'ro'); endif(n(i)==1)plot(x(i),y(i),'r*'); endendfor i=1:length(line1)if(line1(i)<=92)if(line2(i)<=92)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); endendendhold onfor i=1:length(x)if(strcmp(z(i),'A'))plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endtext(x(i),y(i),num2str(i));endend %%%%%%差一个点就OK了for i=1:length(line1)if(line1(i)<=92)if(line2(i)<=92)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); endendend ----------------------hold onfor i=1:length(x)plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endendfor i=1:length(line1)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); endendhold onfor i=1:length(x)if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endendfor i=1:length(line1)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); ?endhold onfor i=1:length(x)plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endendfor i=1:length(line1)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); ? endhold onfor i=1:length(x)if(strcmp(z(i),'A'))plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endtext(x(i),y(i),num2str(i));endendfor i=1:length(line1)if(line1(i)<=92)if(line2(i)<=92)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); end endhold onfor i=1:length(x)if(strcmp(z(i),'A'))plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endtext(x(i),y(i),num2str(i));endendfor i=1:length(line1)if(line1(i)<=92)if(line2(i)<=92)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); end endendhold onfor i=1:length(x)if(strcmp(z(i),'A'))plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endtext(x(i),y(i),num2str(i));endendfor i=1:length(line1)if(line1(i)<=92)if(line2(i)<=92)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); endendendfor i=1:length(line1)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); endhold onfor i=1:length(x)plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endtext(x(i),y(i),num2str(i)); endendfor i=1:length(line1)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); end ---------------------全图hold onfor i=1:length(x)plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endendfor i=1:length(line1)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); endtmp=cat(2)tmp1=1;for i=1:length(line1)if(line1(i)<=92)if(line2(i)<=92)tmp(tmp1,1)=line1(i) tmp(tmp1,2)=line2(i) endendendxlswrite('tmp.xls',tmp) hold onfor i=1:length(x)if(strcmp(z(i),'A')) plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro'); endif(n(i)==1)plot(x(i),y(i),'r*'); endtext(x(i),y(i),num2str(i));endend-----for i=1:length(line1)if(line1(i)<=92)if(line2(i)<=92) 连线line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); end endend------hold onfor i=1:length(x)plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro'); 描点endif(n(i)==1)plot(x(i),y(i),'r*');endend---------for i=1:length(line1)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); end tmp=cat(2)tmp1=1;for i=1:length(line1)if(line1(i)<=92)if(line2(i)<=92)tmp(tmp1,1)=line1(i)tmp(tmp1,2)=line2(i)endendendxlswrite('tmp.xls',tmp)clc;clearShapeX = [403 383.5 381 339 335 317 334.5 333 282 247 219 225 280 290 337 415 432 418 444 251 234 225 212 227 256 250.5 243 246 314 315 326 327 328 336 331 371 388.5 411 419 411 394 342 325342 345 348.5 351 348 370 371 354 363 357 351 369 335 381 391 392 395 398 401 405 410 408 415 418 422 418.5 405.5 405 409 417 420 424 438 438.5 434 438 440 447 448 444.5 441 440.5 ];ShapeY = [ 359343351 377.5376383362 353.5342325301316270 292 335 328 335 371 374 394 277 271 265 290 300 301 306 328 337367351355350 342.5339334335330333 330.5 327.5344343342 348 372 374 372 382 380.5 377 369 363 353 374 382.5 387 382 388 395 381 375 366 361 362 359 360 355 350 351 347 354 356 364.5 368 370 364 370 372 368 373 376 385 392 381 383381.5];N=length(ShapeX);for i=1:Nfor j=1:NDistance(i,j)=sqrt((ShapeX(i)-ShapeX(j))^2+(ShapeY(i)-ShapeY(j))^2); endendDistanceA=zeros(N);Max_V alue=zeros(N);for k=1:N[max_line,column]=max(Distance(k,:));A(k,column)=max_line;endMax_V alue(k,column)=max(max(A))[I,J]=find(Max_Value)point_start=[ShapeX(I) ShapeY(I)]point_end=[ShapeX(J) ShapeY(J)]hold onfor i=1:length(x)if(strcmp(z(i),'A'))plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endtext(x(i),y(i),num2str(i));endendfor i=1:length(line1)if(line1(i)<=92)if(line2(i)<=92)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); endendendhold onfor i=1:length(x)if(strcmp(z(i),'A'))plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endtext(x(i),y(i),num2str(i)); endendfor i=1:length(line1)if(line1(i)<=92)if(line2(i)<=92)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]);endendendx=x=num(:,2)[num2,data2]=xlsread('C:\Users\yaokaiqian\Desktop\cumcm2011Problems 中文版\B\cumcm2011B附件2_全市六区交通网路和平台设置的数据表.xls')hold onfor i=1:length(x)if(strcmp(z(i),'A'))plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endtext(x(i),y(i),num2str(i));endendfor i=1:length(line1)if(line1(i)<=92)if(line2(i)<=92)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); endendendhold onfor i=1:length(x)plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endendfor i=1:length(line1)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); end hold onfor i=1:length(x)if(strcmp(z(i),'A'))plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endtext(x(i),y(i),num2str(i));endendfor i=1:length(line1)if(line1(i)<=92)if(line2(i)<=92)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); end endend。

【数学建模】第3讲_MATLAB作图

【数学建模】第3讲_MATLAB作图

2. 多条曲线 plot3(x,y,z)
例 画多条曲线观察函数Z=(X+Y)2.
解 x=-3:0.1:3;y=1:0.1:5; [X,Y]=meshgrid(x,y); Z=(X+Y).^2; plot3(X,Y,Z)
其中x,y,z是都是m×n矩阵,其对应的每一列表示一条曲线.
(这里meshgrid(x,y)的作用 是产生一个以向量x为行、向量y 为列的矩阵)
解 输入命令: fplot(‘[tanh(x),sin(x),cos(x)]’,2*pi*[-1 1 -1 1])
3. 对数坐标图
在很多工程问题中,通过对数据进行对数转换可以 更清晰地看出数据的某些特征,在对数坐标系中描绘数 据点的曲线,可以直接地表现对数转换.对数转换有双对 数坐标转换和单轴对数坐标转换两种.用loglog函数 可以实现双对数坐标转换,用semilogx和semilogy 函数可以实现单轴对数坐标转换. loglog(Y) 表示 x、y坐标都是对数坐标系 semilogx(Y) 表示 x坐标轴是对数坐标系 semilogy(…) 表示y坐标轴是对数坐标系 plotyy 有两个y坐标轴,一个在左边,一个在右边
(2) mesh(x,y,z) 画网格曲面
数据矩阵.分别表示 数据点的横坐标、纵 坐标、函数值

画出曲面Z=(X+Y)2在不同视角的网格图.
解 x=-3:0.1:3; y=1:0.1:5; [X,Y]=meshgrid(x,y); Z=(X+Y).^2; mesh(X,Y,Z)
(3)meshz(X,Y,Z) 在网格周围画一个curtain图(如,参考平面) 例 绘peaks的网格图
返回
三维图形 1. 空间曲线 2. 空间曲面

2011年数学建模大赛b题matlab编程

2011年数学建模大赛b题matlab编程

2011年数学建模大赛b题matlab编程是一个涉及数学建模和编程的重要主题。

通过编程,我们可以深入理解数学建模的过程,并通过实际操作来加深对数学模型的理解和应用。

在这篇文章中,我将着重探讨2011年数学建模大赛b题matlab编程的相关内容,并提出个人观点和理解。

1. 背景介绍2011年数学建模大赛b题是一个关于XX的问题,要求参赛者通过建立数学模型来解决实际问题。

在这个过程中,matlab编程成为了必不可少的工具,能够帮助我们完成模型的求解和分析。

2. Matlab编程基础在探讨2011年数学建模大赛b题的过程中,我们首先需要了解matlab编程的基础知识。

如何定义变量、编写函数、进行矩阵运算等。

这些基础知识将为我们后续的模型建立和求解奠定基础。

3. 模型建立与求解在针对2011年数学建模大赛b题的编程过程中,我们需要根据题目要求建立相应的数学模型,并将其转化为matlab可求解的形式。

这一过程需要我们对题目有深入的理解,能够准确地将实际问题转化为数学模型,并使用matlab工具来进行求解。

4. 结果分析与验证完成模型求解后,我们需要对结果进行进一步的分析和验证。

这包括对模型结果的合理性进行评估,查找可能存在的误差来源,并对结果进行可视化展示。

通过这一步骤,我们能够全面地理解模型的求解过程和结果,为后续的讨论和应用奠定基础。

5. 个人观点与理解在完成对2011年数学建模大赛b题的matlab编程探讨后,我个人对这一过程有了更深的理解和感悟。

通过实际操作,我意识到数学建模和编程是紧密相连的,它们相互促进、相互依托。

在这个过程中,我不仅学到了丰富的数学知识,还提升了自己的编程能力和解决实际问题的能力。

总结:2011年数学建模大赛b题matlab编程是一个综合性的学习过程,它涉及了数学建模、编程、模型求解和结果分析等多个环节。

通过深入探讨这一主题,我对数学建模和编程的理解有了全面而深入的提升。

希望通过这篇文章的共享,能够给读者带来启发和收获,激发更多人对数学建模与编程的兴趣和学习热情。

2011年全国大学生数学建模竞赛B题

2011年全国大学生数学建模竞赛B题

2011高教社杯全国大学生数学建模竞赛承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。

我们知道,抄袭别人的成果是违反竞赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。

我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。

如有违反竞赛规则的行为,我们将受到严肃处理。

我们参赛选择的题号是(从A/B/C/D中选择一项填写):B我们的参赛报名号为(如果赛区设置报名号的话):所属学校(请填写完整的全名):参赛队员(打印并签名):1.韩晓峰2.杨晓帆3.李弘倩指导教师或指导教师组负责人(打印并签名):日期:2011年9月11日赛区评阅编号(由赛区组委会评阅前进行编号):2011高教社杯全国大学生数学建模竞赛编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):赛区评阅记录(可供赛区评阅时使用):评阅人评分备注全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):交巡警服务平台的设置与调度摘要在(1)第一问中,我们根据附表1所给各路口坐标算出A图中每条路线的长度,然后通过floyd算法找出了两点之间的最短路程,得出矩阵D,通过使用matlab圈出各服务平台到周围路口小于3min(即3km)的点,再根据就近原则,将各路口划分到这个圈中离此路口最近的交巡警平台。

对于任意到交巡警平台路程大于3min(即3km)序号为28,29,38,39,61,92的五个路口,则采用就近原则人工划入距离其最近的交巡警平台辖区,这样就在保证出警时间基本都小于3min的条件下,划分出各警务平台合理的管辖范围。

对于(1)第二问中,我们采用指派模型,用lingo软件对20个巡警服务平台对17个城市出入口进行封锁的方法进行了优化,得到初步的调度方案。

2011建模B题

2011建模B题

2011高教社杯全国大学生数学建模竞赛承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。

我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。

我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。

如有违反竞赛规则的行为,我们将受到严肃处理。

我们参赛选择的题号是(从A/B/C/D中选择一项填写): B我们的参赛报名号为(如果赛区设置报名号的话):所属学校(请填写完整的全名):太原科技大学参赛队员(打印并签名) :1.2.3.指导教师或指导教师组负责人(打印并签名):日期: 2011 年 9 月 11 日赛区评阅编号(由赛区组委会评阅前进行编号):2011高教社杯全国大学生数学建模竞赛编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):交巡警服务平台的设置与调度摘要近年来,随着城市人口的急剧增长和私家车的越来越多,交通问题已成为众多人们出行所考虑的问题,交巡警的工作日益显示出其重要性和必要性。

建立合理有效的城区交巡警服务平台机制一直是公安勤务改革的重头戏。

本文利用Matlab和C语言确定出交巡警服务平台管辖范围,同时建立规划模型来综合分析交巡警服务平台部署问题,获得了较为全面的结果。

具体内容如下: 首先,利用Matlab程序将A区92个交通节点进行标号,再通过C语言程序得到了A区现有20个交巡警服务平台的管辖范围;其次,根据实际附图,我们以到的距离为参考,以交巡警从到达节点的最短时间为约束条件,得到该13条交通要道快速全封锁的合理的优化方案;再次,考虑与平均密集度的差的正负以及大小,我们得到在和所管辖范围内各增加一个交巡警服务平台,然后考虑的那些交巡警服务平台,如果,考虑相对偏差发案率和特殊点优化法,可得到在,,,,处的管辖范围内各设置一个交巡警服务平台,最后考虑到A区交巡警服务平台的设置中出现的工作量不均衡和时间太长的现象,结合管辖范围内的总发案率,可得到,,,和处需设置交巡警服务平台;接下来,对于全区现有交巡警服务平台,我们通过与问题一类似的方法,将全区所有节点看为一个整体,利用Matlab和C程序分别给出了其最优管辖范围,并进行了优化;最后,我们考虑了处重大突发事件逃逸案的围堵问题,通过逐步扩大搜索范围的方法,建立规划数学模型,通过求解可得最优围堵时间是 3.85分钟,需要出动的围堵服务平台是。

Matlab绘图技巧与实例

Matlab绘图技巧与实例

Matlab绘图技巧与实例绘图在科学和工程领域中起着重要的作用,而Matlab作为一种功能强大的数学软件,具有丰富的绘图功能。

本文将介绍一些Matlab的绘图技巧,并通过一些实例来展示其用法和优势。

一、基本的绘图命令Matlab提供了一系列用于绘图的基本函数,最常用的是plot和scatter。

plot函数用于绘制曲线图,而scatter函数则用于绘制散点图。

这两个函数都可以接受多组数据,并且具有丰富的参数设置,可以对图形进行自定义。

例如,我们可以设置线条的颜色、线型和线宽,还可以添加标签和图例等。

二、特殊图形的绘制除了常见的曲线图和散点图外,Matlab还可以绘制一些特殊的图形,如柱状图、饼图和雷达图等。

这些图形可以用于展示不同类型的数据,从而更直观地呈现结果。

例如,柱状图可以用于比较不同组的数据,饼图则可以用于显示百分比等。

在绘制这些特殊图形时,Matlab提供了相应的函数,如bar、pie和polar等,使用这些函数可以轻松实现各种图形的绘制。

三、绘制3D图形Matlab还支持绘制3D图形,通过将数据在三维坐标系中表示,可以更全面地展示数据的分布和关系。

Matlab提供了许多用于绘制3D图形的函数,如plot3、scatter3和surf等。

使用这些函数可以绘制出各种复杂的3D图形,如曲面图、散点云和体积渲染等。

在绘制3D图形时,我们可以设置视角、光照和颜色等参数,从而使图形更加生动逼真。

四、图形的美化与字体设置除了绘图功能外,Matlab还提供了一些功能用于美化图形和设置字体。

通过设置标签和标题的字体、大小和颜色等,可以让图形更加清晰和美观。

此外,Matlab 还支持设置坐标轴的刻度、标签和范围,以及图形的背景颜色和边框样式等。

这些设置可以提高图形的可读性和视觉效果,从而更好地传达数据和结果。

五、图形的输出与保存Matlab不仅可以在软件中生成图形,还可以将图形输出为不同的格式,如图片文件和矢量图等。

2011数学建模B题交巡警服务平台资料

2011数学建模B题交巡警服务平台资料

摘要最短路作为图与网络技术研究中的一个经典问题一直在工程规划、地理信息系统、通信和军事运筹学等领域有着十分广泛的应用,基于对成本与效率的考虑,可以设计一可行性方案使其耗时最少。

针对本文要解决的的问题,通过图论对问题进行转化,转化为最优Hamilton 圈问题,采用Floyd算法思想、借助矩阵、MATLAB软件和编程,再通过数据的分析、筛选和计算,从而可在图上标出送货员到各个点的最短路径,得到最优解。

问题一:将1~30 号货物送到指定地点并返回,构造最优Hamilton 圈,采用矩阵翻转法来实现二边逐次修正法过程,Floyd算法,进而求出最优Hamilton 圈。

得到最终路线为:0/51→26→21→17→14→16→23→32→38→36→43→42→49→45→40→34→39→27→31→24→13→18→0/51,总长度为m54709,总时间为h.378问题二:基于问题一,在添加了时间限制的情况下,将时间限制条件加入到问题一求解的最优Hamilton 圈方法中去,得到在有时间限制的情况下的最佳线路,得到最终路线:0/51→18→13→24→31→34→40→45→42→49→43→38→32→23→16→14→17→21→36→39→27→26→0/51,总长度为m54996,总时间为.379h问题三:由于考虑到送货员一次送货所能承载的最大重量和体积,我们采用将区域分块。

对送货地点的进行相关分组,继而回归到问题一的方法中,在每组中寻求最佳送货路线,得出要完成这次送货,送货员必须分三趟进行送货以及其最终路线。

关键字:耗时最少图论最优Hamilton 圈矩阵翻转 Floyd算法一问题的重述现今社会网络越来越普及,网购已成为一种常见的消费方式,随之物流行业也渐渐兴盛,每个送货员需要以最快的速度及时将货物送达,而且他们往往一人送多个地方,请设计方案使其耗时最少。

现有一快递公司,库房在图1中的O点,一送货员需将货物送至城市内多处,请设计送货方案,使所用时间最少。

2011数学建模B题图形和matlab源代码

2011数学建模B题图形和matlab源代码

AA=textread('E:\Appendix\B01.txt');ee=(AA(:,4));k=sum(ee)/92;m=ee'/k;for i=1:92d(i,:)=m(i)./m;endd层次分析法matlab源程序disp('请输入判断矩阵A(n阶)');A=input('A=');[n,n]=size(A);x=ones(n,100);y=ones(n,100);m=zeros(1,100);m(1)=max(x(:,1));y( :,1)=x(:,1);x(:,2)=A*y(:,1);m(2)=max(x(:,2));y(:,2)=x(:,2)/m(2);p=0.0001;i=2;k=abs(m(2)-m(1));while k>p i=i+1; x(:,i)=A*y(:,i-1); m(i)=max(x(:,i)); y(:,i)=x(:,i)/m(i); k=abs(m(i)-m(i-1));enda=sum( y(:,i));w=y(:,i)/a;t=m(i);disp(w);disp(t); %以下是一致性检验CI=(t-n)/(n-1);RI=[0 0 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 1.59];CR=CI/RI(n);if CR<0.10 disp('此矩阵的一致性可以接受!'); disp('CI=');disp(CI); disp('CR=');disp(CR);endfunction AHPInit1(x,y)%层次分析的初始化%默认只有两层x为准则数,y为方案数%CToT为准则对目标生成的比较阵%EigOfCri为准则层的特征向量%EigOfOpt为选项层的特征向量EigOfCri=zeros(x,1);%准则层的特征向量EigOfOpt=zeros(y,x);dim=x;%维度RI=[0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.51];%RI标准%生成成对比较阵for i=1:dim CToT(i,:)=input('请输入数据:');endCToT %输出pause,tempmatrix=zeros(x+1);tempmatrix=AHP1(dim,CToT);EigOfCri=tempmatrix(1:x);ci1=temp matrix(1+x);EigOfCrici1pause,matrix=cell(x);%元胞数组ci=zeros(1,x);dim=y;for k=1:x matrix{k}=zeros(dim,dim);%生成成对比较阵for i=1:dim matrix{k}(i,:)=input('请输入数据:');end%判断该比较阵是不是一致阵tempmatrix=zeros(y+1);tempmatrix=AHP1(dim,matrix{k});EigOfOpt(:,k)=tempmatrix(1:y);ci(k)=te mpmatrix(y+1);EigOfOpt(:,k)ci(k)pause,end%下面进行组合一致性检查RI=[0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.51];CR=ci1/RI(x)+ci*EigOfCri/RI(y);CRif CR>0.1 disp('组合一致性不通过,请重新评分') returnend%下面根据比较阵的结果进行组合result=EigOfOpt*EigOfCri;resultfunction f=AHP1(dim,CmpMatrix)RI=[0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.51];%判断该比较阵是不是一致阵%判断该比较阵是不是一致阵[V,D]=eig(CmpMatrix);%求得特征向量和特征值%求出最大特征值和它所对应的特征向量tempNum=D(1,1);pos=1;for h=1:dim if D(h,h)>tempNum tempNum=D(h,h); pos=h; endend eigVector=V(:,pos);maxeig=D(p os,pos);maxeigdimCI=(maxeig-dim)/(dim-1);CR=CI/RI(dim);if CR>0.1 disp('准则对目标影响度评分生成的矩阵不是一致阵,请重新评分') returnendCI%归一化sum=0;for h=1:dim sum=sum+eigVector(h);endsumpause,for h=1:dim eigVector(h)=eigVector(h)/sum;endf=[eigVector;CI];。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
试就某市设置交巡服务平台的相关情况,建立数学模型分析研究下面的问题:
(1)附件1中的附图1给出了该市中心城区A的交通网络和现有的20个交巡警服务平台的设置情况示意图,相关的数据信息见附件2。请为各交巡警服务平台分配管辖范围,使其在所管辖的范围内出现突发事件时,尽量能在3分钟内有交巡警(警车的时速为60km/h)到达事发地。
x=d(1:20,2);
y=d(1:20,3);
hold on
plot(x,y,'r+')
way=load('way.txt');
for k=1:length(way(:,1))
if way(k,1)<93|| way(k,2)<93
hold on
plot([d(way(k,1),2),d(way(k,2),2)], [d(way(k,1),3),d(way(k,2),3)])
“有困难找警察”,是家喻户晓的一句流行语。警察肩负着刑事执法、治安管理、交通管理、服务群众四大职能。为了更有效地贯彻实施这些职能,需要在市区的一些交通要道和重要部位设置交巡警服务平台。每个交巡警服务平台的职能和警力配备基本相同。由于警务资源是有限的,如何根据城市的实际情况与需求合理地设置交巡警服务平台、分配各平台的管辖范围、调度警务资源是警务部门面临的一个实际课题。
(2)针对全市(主城六区A,B,C,D,E,F)的具体情况,按照设置交巡警服务平台的原则和任务,分析研究该市现有交巡警服务平台设置方案(参见附件)的合理性。如果有明显不合理,请给出解决方案。
如果该市地点P(第32个节点)处发生了重大刑事案件,在案发3分钟后接到报警,犯罪嫌疑人已驾车逃跑。为了快速搜捕嫌疑犯,请给出调度全市交巡警服务平台警力资源的最佳围堵方案。
end
end
d=load('dta.txt');
area=find(d(:,4)==1);
x=d(1:length(area),2);
y=d(1:length(area),3);
plot(x,y,'*')
sr=num2str(d(1:length(area),1));
hold on
text(x+1,y+1,sr);
对于重大突发事件,需要调度全区20个交巡警服务平台的警力资源,对进出该区的13条交通要道实现快速全封锁。实际中一个平台的警力最多封锁一个路口,请给出该区交巡警服务平台警力合理的调度方案。
根据现有交巡警服务平台的工作量不均衡和有些地方出警时间过长的实际情况,拟在该区内再增加2至5个平台,请确定需要增加平台的具体个数和位置。
相关文档
最新文档