Matlab应用实例(8)—fminimax

设某城市有某种物品的10个需求点,第i个需求点Pi的坐标为(ai,bi),道路网与坐标轴平行,彼此正交。现打算建一个该物品的供应中心,且由于受到城市某些条件的限制,该供应中心只能设在x界于[5,8],y界于[5.8]的范围之内。问该中心应建在何处为好?

P点的坐标为:


ai


1


4


3


5


9


12


6


20


17


8


bi


2


10


8


18


1


4


5


10


8


9

解:设供应中心的位置为(x,y),要求它到最远需求点的距离尽可能小,此处采用沿道路行走计算距离(如图8-1),则数学模型为:

图8-1  供应中心到需求点的行走路线图

用MATLAB的fminimax函数进行求解

fun011.m

function f=fun011(x)

m=[1 4 3 5 9 12 6 20 17 8];

n=[2 10 8 18 1 4 5 10 8 9];

str=[repmat(‘   (‘,10,1) num2str(m‘)  num2str(n‘) repmat(‘)‘,10,1)];

plot(m,n,‘o‘)

text(m,n,cellstr(str))

hold on

for i=1:10

f(i)=abs(x(1)-m(i))+abs(x(2)-n(i));

end

主函数

fun011yunxing.m

clc

tic

x0=[6;6];

A=[-1 0;1 0;0 -1;0 1];

b=[-5;8;-5;8];

lb=[0;0];

ub=[];

[x,fva,maxfval,exitflag,output]=fminimax(@fun011,x0,A,b,[],[],lb,ub)

plot(x(1),x(2),‘r *‘)

toc

解得:

x =

8

8

fva =

13     6     5    13     8     8     5    14     9     1

maxfval =

14

exitflag =

4

output =

iterations: 3

funcCount: 14

……

时间已过 0.670458 秒。

求解的同时我们用图8-2描述了该问题,*点就是所求点。且最小的最大供应距离14为从供应中心(8,8)到需求点(20,10)的距离。

图 8-2  需求点及供应中心

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-31 08:05:43

Matlab应用实例(8)—fminimax的相关文章

Matlab 绘图实例

概要 ? 每次用 Matlab 绘图都要搜一堆资料设置一些参数,本次将绘图中的一些参数设置实例展示在这里,以备不时之需.暂包括折线图,面积图. ? 折线图实例 ? 下图是效果图: 图 1:折线图效果图 ? Matlab 代码如下: clc;clear; y1 = 0; y2 = 0; len = 249; for i = 2:len y1(i) = y1(i-1) + unifrnd(-0.8,1); end for i = 2:len y2(i) = y2(i-1) + unifrnd(-0.

[zz]求一维序列的信息熵(香浓熵)的matlab程序实例

对于一个二维信号,比如灰度图像,灰度值的范围是0-255,因此只要根据像素灰度值(0-255)出现的概率,就可以计算出信息熵.    但是,对于一个一维信号,比如说心电信号,数据值的范围并不是确定的,不会是(0-255)这么确定,如果进行域值变换,使其转换到一个整数范围的话,就会丢失数据,请高手指点,怎么计算. 比如数字信号是x(n),n=1~N(1)先用Hist函数对x(n)的赋值范围进行分块,比如赋值范围在0~10的对应第      一块,10~20的第二块,以此类推.这之前需要对x(n)做

Matlab编程实例(1) 移动平均

MATLAB数字信号处理作业,把自己写的程序发上来..欢迎交流~ QQ 五幺九七九零六四 首先是任意点移动平均: 主程序:mov_average_main.m (运行) 函数:mov_average.m  (多点移动平均) /////////mov_average_main.m/////////// %多点移动平均 close all; clear all; numSample=500;    %采样精度为100 l=input('请输入用于平滑的窗口大小"n"'); if l>

Matlab应用实例(9)—A\b解线性方程组

说明:A\b用来求解线性方程组,只要写出系数矩阵A和资源向量b,就可以用左除的方法(高斯消元法)得到解.其调用格式为X=A\b. [例1]求下列线性方程组: 解:写成矩阵形式有: 用MATLAB进行求解 主函数: A=[1 -2 3;3 -2 1;1 1 -1]; b=[2;7;1]; X=A\b 解得: X = 1.6250 -1.5000 -0.8750 版权声明:本文为博主原创文章,未经博主允许不得转载.

MATLAB 线性规划实例应用

线性规划 线性规划函数 功能:求解线性规划问题 语法 x = linprog(f,A,b):求解问题 min fx,约束条件为 Ax <= b x = linprog(f,A,b,Aeq,beq):求解上面的问题,但增加等式约束,即 Aeqx = beq,若没有不等式存在,则令 A= [].b = [] x = linprog(f,A,b,Aeq,beq,lb,ub):定义设计变量 x 的下届 lb 和 上届 ub,使得 x 始终在该范围内,若没有等式约束,令 Aeq = [].beq = []

关于二阶齐次差分方程的MATLAB解法

看PDF的截图,凑活看吧 之后举个MATLAB的实例 解 X(K+2)+3X(K+1)+2X(K)=0 其中X(0)=0,X(1)=1 clc,clearsyms a k yka=[0 1;-2 -3]; a=sym(a);%a来自于上面截图中的A,将二阶转化为一阶的那个系数 [vec,val]=eig(a);y0=[0;1];yk=vec*val.^k*inv(vec)*y0 关于二阶齐次差分方程的MATLAB解法,布布扣,bubuko.com

(转)Matlab 正则表达式零基础起步教程

摘        要:正则表达式是一个重要的编程概念.应用正则表达式可以实现很多强大的字符处理功能,有时也可以为常规方法解决起来比较复杂的问题另辟蹊径.本文试图通过比较详尽的示例为没有基础的读者介绍正则表达式的基本概念.用法及其在Matlab中的实现.文末附上几个应用表达式解决实际问题的实例,以利于读者在自己的实践中应用. 关  键  词:正则表达式    Matlab    regexp 1.  引言 正则表达式就是一个表达式(也是一串字符),它定义了某种字符串模式——利用正则表达式,可以 对

MATLAB编程与应用系列-关于MATLAB编程入门教程的总体编写安排

本系列教程来源于出版设计<基于MATLAB编程基础与典型应用书籍>,如涉及版权问题,请联系:[email protected]. 出版社:人民邮电出版社, 页数:525. 本系列教程目前基于MATLABR2006a,可能对于更高级版本的功能和函数有差异,教程中如有问题,请联系:[email protected] #MATLAB基本介绍Matlab工程软件是MathWorks公司推出的一款具备强大数学运算能力的数学软件.随着工具箱的不断丰富和完善,Matlab工程软件几乎可以应用于社会各种工程领

UVW平台运动控制算法以及matlab仿真

UVW平台运动控制算法以及matlab仿真 最近公司同事因为对某视觉对位平台的运动控制算法有疑问,所以来请教我.由于我也是第一次接触到UVW自动对位平台(也可以叫XXY自动对位平台),于是找了一些资料学习一下,大概了解了运动模式后,使用matlab模拟了此平台,并验证了UVW平台资料提供的运动控制算法的正确性. 一.UVW平台介绍 1.这是一种可以实现以平面上任意一点为中心,进行旋转运动的装置,并可沿着任意的方向平移.2.此平台和视觉CCD纠偏系统对接在一起,可以很快完成高精度的纠偏工作,重复定