数学建模常用Matlab/Lingo/c代码总结系列——Matlab图形绘制函数汇总

基本绘图和图形

box

坐标轴边界

errorbar

沿曲线绘制误差条

hold

在图形窗口中保留当前图形

line

创建线条对象

LineSpec (Line Specification)

线条规格字符串语法

loglog

对数-对数刻度图

plot

二维线条图

plot3

三维线条图

plotyy

y轴分居左右两侧的线条图

polar

极坐标图

semilogx, semilogy

半对数坐标图

subplot

在窗口的平铺位置创建坐标轴


绘图工具

figurepalette

显示或隐藏图形窗口的调色板

pan

交互式移动图像以多方向浏览

plotbrowser

显示或隐藏窗口的图形浏览器

plotedit

交互式编辑和标注图形

plottools

显示或隐藏图形工具

propertyeditor

显示或隐藏属性编辑器

rotate3d

使用鼠标旋转三维视图

showplottool

显示或隐藏窗口的图形工具

zoom

图形的放大、缩小或按比例缩放


标注图形

annotation

创建注释对象

clabel

等高线高程标签

datacursormode

使能或禁止交互式数据光标模式

datetick

日期格式的刻度标签

gtext

在二维视图中利用鼠标放置文本

legend

线条和补片对象的图例

rectangle

创建二维矩形对象

texlabel

产生Tex格式的字符串

title

为当前坐标轴添加标题

xlabel, ylabel, zlabel

X,Y和Z轴的标签


专业绘图(Area、条形图、圆饼图)

area

填充区域的二维图形

bar, barh

绘制条形图(垂直和水平)

bar3, bar3h

绘制三维条形图

pareto

帕累托图表

pie

饼图

pie3

三维饼图

专业绘图(等高线图)

contour

等高线图矩阵

contour3

三维等高线图

contourc

低层次的等高线图计算

contourf

填充二维等高线图

ezcontour

易于使用的轮廓绘图仪

ezcontourf

易于使用的填充轮廓绘图仪


专业绘图(方向和速度图)

comet

二维彗星图

comet3

三维彗星图

compass

绘制从原点射出的箭头

feather

绘制速度矢量图

quiver

抖动或速度图

quiver3

三维抖动或速度图


专业绘图(离散数据图)

stairs

阶梯图

stem

情节离散序列数据

stem3

情节 3 - D离散序列数据


专业绘图(函数绘图)

ezcontour

易用的等高线绘图仪

ezcontourf

易用的填充的等高线绘图仪

ezmesh

易用的三维网格绘图仪

ezmeshc

易用的组合式的网格 /等高线绘图仪

ezplot

易用的函数绘图仪

ezplot3

易用的三维参数化曲线绘图仪

ezpolar

易用的极坐标绘图仪

ezsurf

易用的三维彩色绘图仪

ezsurfc

易用的曲面/等高线绘图仪

fplot

在指定的坐标范围内绘制图形


专业绘图(直方图)

hist

直方图阴谋

histc

直方图计数

rose

角直方图阴谋

专业绘图(多边形和曲面)

cylinder

生成缸

delaunay

Delaunay三角网

delaunay3

三维 Delaunay镶嵌

delaunayn

N维 Delaunay镶嵌

dsearch

搜索Delaunay三角网的最近点

ellipsoid

生成椭球

fill

填充二维多边形

fill3

填充的3 - D多边形

inpolygon

多边形区域内点

pcolor

伪(棋盘)阴谋

polyarea

多边形面积

rectint

矩形的交集区

ribbon

丝带阴谋

slice

容积片情节

sphere

生成领域

waterfall

瀑布图

专业绘图(散点/气泡图)

plotmatrix

散点图矩阵

scatter

散点图

scatter3

三维散点图

专业绘图(动画)

frame2im

返回图像数据与电影相关的框架

getframe

电影帧捕获

im2frame

帧图像转换到电影

movie

播放录制的电影帧

noanimate

所有对象的变化 EraseMode正常


位图图像

frame2im

返回图像数据与电影相关的框架

im2frame

帧图像转换到电影

im2java

图像转换到Java形象

image

显示图像对象

imagesc

规模的数据和显示图像对象

imfinfo

信息图形文件

imformats

管理图像文件格式的注册表

imread

阅读图像从图形文件

imwrite

写入图像图形文件

ind2rgb

索引图像转换到RGB图像


打印

hgexport

出口数字

orient

印刷纸张方向

print, printopt

打印数字或保存到文件和打印机的默认配置

printdlg

打印对话框

printpreview

打印预览图

saveas

保存数字或Simulink框图使用指定的格式


句柄图形(查找和辨识图形对象)

allchild

查找指定对象的所有儿童

ancestor

祖先的图形对象

copyobj

复制的图形对象和他们的后代

delete

删除文件或图形对象

findall

查找所有的图形对象

findfigs

查找离屏数字可见

findobj

找到具有特殊性能的图形对象

gca

当前轴手柄

gcbf

处理数字包含对象,其回调是执行

gcbo

处理的对象,其回调是执行

gco

处理当前对象

get

查询处理图形对象的属性

ishandle

确定是否输入是有效的句柄图形处理

propedit

打开属性编辑器

set

处理图形对象的属性设置


句柄图形(对象创建函数)

axes

创建轴图形对象

figure

创建数字图形对象

hggroup

创建 hggroup对象

hgtransform

创建 hgtransform图形对象

image

显示图像对象

light

根据创建对象

line

创建线对象

patch

创建一个或多个填充多边形

rectangle

创建二维矩形对象

root object

surface

创建面对象

text

创建文本对象在当前轴

uicontextmenu

创建上下文菜单


句柄图形(绘图对象)

Annotation Arrow Properties

注释定义箭头性能

Annotation Doublearrow Properties

定义注释 doublearrow性能

Annotation Ellipse Properties

椭圆定义批注的属性

Annotation Line Properties

注释行属性定义

Annotation Rectangle Properties

注释定义矩形属性

Annotation Textarrow Properties

定义注释 textarrow性能

Annotation Textbox Properties

定义注释文本框属性

Areaseries Properties

属性定义 areaseries

Barseries Properties

属性定义 barseries

Contourgroup Properties

属性定义 contourgroup

Errorbarseries Properties

属性定义 errorbarseries

Image Properties

定义图像属性

Lineseries Properties

属性定义 lineseries

Quivergroup Properties

属性定义 quivergroup

Scattergroup Properties

属性定义 scattergroup

Stairseries Properties

属性定义 stairseries

Stemseries Properties

属性定义 stemseries

Surfaceplot Properties

属性定义 surfaceplot

句柄图形(图形窗口)

clf

清除目前的数字窗口

close

删除指定的数字

closereq

默认关闭请求函数图

drawnow

刷新事件队列和更新的数字窗口

gcf

目前的数字处理

hgload

负载处理图形对象的层次结构从文件

hgsave

保存对象的层次结构来处理图形文件

newplot

确定要绘制图形对象

opengl

控制OpenGL渲染

refresh

目前的数字重绘

saveas

保存数字或Simulink框图使用指定的格式


句柄图形(坐标轴操作)

axis

轴缩放和外观

box

轴边界

cla

清除当前轴

gca

当前轴手柄

grid

电网线 2 - D和3 - D图

ishold

当前保持状态

makehgtform

创建 4 × 4变换矩阵


句柄图形(对象属性操作)

get

查询处理图形对象的属性

linkaxes

同步限制指定的2 - D轴

linkprop

保持相应的属性值相同

refreshdata

刷新数据图表数据源时指定

set

处理图形对象的属性设置



  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
案例一:生产调度问题 问题描述:某工厂生产两种产品,需求量分别为1000和2000,可以通过两个车间进行生产,车间1每小时可生产300件第一种产品和200件第二种产品,车间2每小时可生产200件第一种产品和400件第二种产品。每小时车间1的生产成本为400元,车间2的生产成本为500元。求生产调度方案,使得总成本最小。 Matlab代码: ```matlab cvx_begin variables x y minimize(400*x + 500*y) subject to 300*x + 200*y >= 1000; 200*x + 400*y >= 2000; x >= 0; y >= 0; cvx_end ``` Lingo代码: ```Lingo Model: MIN = 400*x1 + 500*x2; Capacity1: 300*x1 + 200*x2 >= 1000; Capacity2: 200*x1 + 400*x2 >= 2000; Bounds: x1 >= 0; x2 >= 0; End; ``` 案例二:货车调度问题 问题描述:某货车要从A地经过B、C、D、E四个城市,最终到达F地。各城市之间的距离和所需时间如下表所示: | 城市 | A到B | A到C | A到D | A到E | B到C | B到D | B到E | C到D | C到E | D到E | |------|------|------|------|------|------|------|------|------|------|------| | 距离 | 100 | 200 | 300 | 400 | 150 | 250 | 350 | 200 | 300 | 150 | | 时间 | 5 | 10 | 15 | 20 | 8 | 12 | 18 | 12 | 16 | 10 | 货车的速度固定,每小时60公里。求从A到F的最短时间和最短路径。 Matlab代码: ```matlab % 城市之间的距离 dis=[0 100 200 300 400;100 0 150 250 350;200 150 0 200 300;300 250 200 0 150;400 350 300 150 0]; % 城市之间的时间 time=[0 5 10 15 20;5 0 8 12 18;10 8 0 12 16;15 12 12 0 10;20 18 16 10 0]; % 货车的速度,每小时60公里 speed=60; % A到F的距离和时间 dis_AF=dis(1,5); time_AF=time(1,5); % 定义变量 cvx_begin variables x1 x2 x3 x4 x5 % 最小化时间 minimize((dis(1,2)*x1+dis(1,3)*x2+dis(1,4)*x3+dis(1,5)*x4+dis_AF*x5)/speed) subject to % 从A出发,到达各个城市的时间之和等于总时间 (time(1,2)*x1+time(1,3)*x2+time(1,4)*x3+time(1,5)*x4+time_AF*x5) == (dis(1,2)*x1+dis(1,3)*x2+dis(1,4)*x3+dis(1,5)*x4+dis_AF*x5)/speed; % 从A出发,到达各个城市的时间不能超过总时间 (time(1,2)*x1+time(1,3)*x2+time(1,4)*x3+time(1,5)*x4+time_AF*x5)/speed <= 24; % 货车到达每个城市的时间必须大于等于0 x1 >= 0; x2 >= 0; x3 >= 0; x4 >= 0; x5 >= 0; cvx_end % 最短时间 shortest_time=(dis(1,2)*x1+dis(1,3)*x2+dis(1,4)*x3+dis(1,5)*x4+dis_AF*x5)/speed; % 最短路径 shortest_path=['A','B','C','D','E','F']; ``` Lingo代码: ```Lingo Model: MIN = (100*x1 + 200*x2 + 300*x3 + 400*x4 + 500*x5)/60; Time1: (5*x1 + 10*x2 + 15*x3 + 20*x4 + 25*x5)/60 = (100*x1 + 200*x2 + 300*x3 + 400*x4 + 500*x5)/60; Time2: (5*x1 + 8*x2 + 12*x3 + 18*x4 + 23*x5)/60 = (100*x1 + 150*x2 + 250*x3 + 350*x4 + 450*x5)/60; Time3: (5*x1 + 12*x2 + 12*x3 + 16*x4 + 21*x5)/60 = (200*x1 + 150*x2 + 200*x3 + 300*x4 + 400*x5)/60; Time4: (5*x1 + 15*x2 + 10*x3 + 10*x4 + 15*x5)/60 = (300*x1 + 250*x2 + 200*x3 + 150*x4 + 250*x5)/60; Time5: (5*x1 + 20*x2 + 10*x3 + 15*x4 + 10*x5)/60 = (400*x1 + 350*x2 + 300*x3 + 150*x4 + 100*x5)/60; Bounds: x1 >= 0; x2 >= 0; x3 >= 0; x4 >= 0; x5 >= 0; End; ``` 案例三:线性回归问题 问题描述:给定一个数据集,求解线性回归型,即找到一个线性函数,最小化预测值与真实值之间的均方误差。 Matlab代码: ```matlab % 生成数据集 x = linspace(0,1,100)'; y = 2*x + 1 + randn(size(x))*0.1; % 定义变量 cvx_begin variables a b % 最小化误差 minimize(sum_square(y - a*x - b)) cvx_end % 绘制图像 plot(x,y,'o'); hold on; plot(x,a*x+b); ``` Lingo代码: ```Lingo Model: MIN = SUM((y[i] - a*x[i] - b)^2, i=1 to 100); End; ``` 案例四:网络流问题 问题描述:某公司的产品需要从原材料仓库运输到加工车间,每个车间的加工时间不同,需要的原材料数量也不同。给定原材料仓库、加工车间和产品数量,求解最大流问题,即最大化运输的产品数量。 Matlab代码: ```matlab % 邻接矩阵 capacities = [0 7 0 4 0 0 0;0 0 6 0 5 0 0;0 0 0 0 0 3 0;0 0 0 0 0 4 5;0 0 0 0 0 2 3;0 0 0 0 0 0 6;0 0 0 0 0 0 0]; % 源点 source = 1; % 汇点 sink = 7; % 定义变量 cvx_begin variables flows(7,7) % 最大化流量 maximize(sum(flows(:,sink))-sum(flows(source,:))) subject to % 流量不能超过容量 flows <= capacities; % 流量必须大于等于0 flows >= 0; % 流量守恒 for i = 1:7 if i ~= source && i ~= sink sum(flows(:,i)) == sum(flows(i,:)) end end cvx_end % 最大流量 max_flow=sum(flows(:,sink))-sum(flows(source,:)); ``` Lingo代码: ```Lingo Model: MAX = SUM(flows[1,sink] + flows[2,sink] + flows[3,sink] + flows[4,sink] + flows[5,sink] + flows[6,sink] - flows[source,1] - flows[source,2] - flows[source,3] - flows[source,4] - flows[source,5] - flows[source,6]); Capacity1: flows[1,2] <= 7; Capacity2: flows[1,4] <= 4; Capacity3: flows[2,3] <= 6; Capacity4: flows[2,5] <= 5; Capacity5: flows[3,6] <= 3; Capacity6: flows[4,6] <= 4; Capacity7: flows[4,7] <= 5; Capacity8: flows[5,6] <= 2; Capacity9: flows[5,7] <= 3; Capacity10: flows[6,7] <= 6; Bounds: flows >= 0; Balance1: SUM(flows[i,1], i=2 to 6) - flows[source,1] = 0; Balance2: flows[1,2] - flows[2,3] - flows[2,5] - flows[source,2] = 0; Balance3: flows[3,6] - flows[source,3] = 0; Balance4: flows[4,6] + flows[4,7] - flows[source,4] = 0; Balance5: flows[5,6] + flows[5,7] - flows[source,5] = 0; Balance6: SUM(flows[6,i], i=3 to 7) - flows[3,6] - flows[4,6] - flows[5,6] - flows[source,6] = 0; Balance7: SUM(flows[7,i], i=4 to 5) - flows[2,5] - flows[5,7] - flows[4,7] - flows[source,7] = 0; End; ``` 案例五:整数规划问题 问题描述:给定一个非负整数矩阵,求解一个非负整数向量,使得矩阵乘以向量后,得到的向量中所有元素的和最小。 Matlab代码: ```matlab % 非负整数矩阵 A=[3 2 1;4 1 2;1 1 3]; % 定义变量 cvx_begin variable x(3) integer nonnegative % 最小化和 minimize(sum(A*x)) cvx_end % 最小和 min_sum=sum(A*x); ``` Lingo代码: ```Lingo Model: MIN = 3*x1 + 2*x2 + x3 + 4*x4 + x5 + 2*x6 + x7 + x8 + 3*x9; Bounds: x1 >= 0; x2 >= 0; x3 >= 0; x4 >= 0; x5 >= 0; x6 >= 0; x7 >= 0; x8 >= 0; x9 >= 0; End; ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值