[数学建模(八)]使用MATLAB绘图1

目录

1..二维图
  1.1 基本画图功能
  1.2 plot参数说明 :线条类型,点类型,颜色 
  1.3 坐标轴定标和图形说明
  1.4 子图 :subplot
  1.5 其他类型的二维图 :极坐标图,条形图,饼图,柱状图,双y轴图
  1.6 函数绘图 :fplot
2.三维绘图
  2.1 三维线图 plot3()
  2.2 曲面图 mesh surf
  2.3 等高图  contour()
  2.4 伪色图 pcolor()

1.二维图

1.1 基本画图功能

1.2 plot参数说明

1.3 坐标轴定标和图形说明

1.4 子图

subplot(m,n,p) 把图形窗口分成m行n列,p对应第几个子图。

例如subplot(2,2,1)

例子:

x=0:pi/20:2*pi;

y1=sin(x);

y2=cos(x);

%第一个图形窗口

figure(1)

plot(x,y1,‘:*k‘,x,y2,‘--*r‘);   %参数依次为:线条类型,点类型,颜色

title(‘正弦与余弦‘)              %标题

xlabel(‘x轴‘)                   %标注x轴

ylabel(‘y轴‘)                   %标注y轴

legend(‘y1=sinx‘,‘y2=cosx‘)     %标注函数线

text(0.7853,0.7071,‘交点‘)      %在某个点添加文本框

grid on                         %添加栅格

%第二个图形窗口

figure(2)                       %重新打开一个空白图形窗口

subplot(2,1,1)

axis([0,pi,0,1])                %限制x,y轴的最大最小值,[xmin,xmax,ymin,ymax]

plot(x,y1,‘r‘,‘LineWidth‘,2)    %使线条扩大一定倍数

legend(‘y1=sinx‘)

subplot(2,1,2)                  %把图形窗口分成2行1列

axis([0,pi,0,1])   

plot(x,y2,‘b‘,‘LineWidth‘,2)

legend(‘y1=sinx‘)

运行结果:

1.5 其他类型的二维图

(1)极坐标图: polar(theta,r)

(2)对数图

(3)条形图,柱状图和饼图

柱状图:显示数据的分布情况。

(4)双y轴图:适用于同个x区间,但y值相差较大的情况。

例子:

x=[1:5];

figure(1)

subplot(2,2,1)

bar(x);   %垂直条形图

subplot(2,2,2)

barh(x);  %水平条形图

subplot(2,2,3)

bar3(x);  %三维条形图

subplot(2,2,4)

bar3h(x); %三维水平条形图

figure(2)

subplot(2,2,1)

pie(x);   %饼图

subplot(2,2,2)

pie3(x);  %三维饼图

subplot(2,2,3)

x1=[1 2 4 6 2 2 5 3 4 5 6 2 7 1 2  8 9 2 3 4 6];

hist(x1,10);  %柱状图,把数据从最大值到最小值等分成10份

subplot(2,2,4)

x2=0:pi/20:2*pi;

y1=sin(x2);

y2=exp(x2);

plotyy(x2,y1,x2,y2)  %双y图

运行结果:

1.6 函数绘图:fplot(‘sin(x)‘,[-2*pi,2*pi])

2.三维绘图

2.1 三维线图

x=linspace(0,10*pi,1000);  %0到10*pi中间插入1000个值

y=cos(x);

z=sin(x);

plot3(x,y,z)

grid

xlabel(‘angle‘);

ylabel(‘cos(x)‘);

zlabel(‘sin(x)‘);

title(‘弹簧‘)

运行结果:

2.2 曲面图

(1)mesh图 (无颜色):mesh(x,y,z)

(2)surf图 surf(x,y,z)

渲染颜色:shading interp    去掉颜色:shading flat

用户自定义颜色:colormap(gray)  %输出灰色

其他颜色:

例子:

z=[1:10;2:2:20;3:12];

x=linspace(1,50,10);

y=[500,750,1000];

subplot(2,2,1);

mesh(x,y,z);     %mesh图

title(‘mesh图‘)

subplot(2,2,2);

surf(x,y,z);     %surf图

title(‘surf图‘)

subplot(2,2,3);

surf(x,y,z);   

shading interp; %渲染阴影图

title(‘渲染阴影图‘)

subplot(2,2,4);

surf(x,y,z);

shading flat;   %去掉色图中的网格

title(‘去掉色图中的网格‘)

运行结果:

2.3  等高图

[x,y,z]=peaks;

subplot(1,2,1);

plot3(x,y,z);

contour(x,y,z)   %绘制三维等高图

 subplot(1,2,2);

surfc(x,y,z) %同时绘制等高图和曲面图

运行结果:

2.4 伪色图

概念:用带栅格的二维阴影图代替等高图中的轮廓线。

[x,y,z]=peaks;

subplot(2,2,1);

pcolor(x,y,z);

title(‘绘制伪色图‘)

subplot(2,2,2);

pcolor(x,y,z);

shading interp;

title(‘去掉了三维图形的网格‘)

subplot(2,2,3);

pcolor(x,y,z);

shading interp;

hold on;

contour(x,y,z,20,‘k‘)

title(‘在图形上叠加等高线‘)

subplot(2,2,4);

contour(x,y,z)

title(‘普通的等高图‘)

运行结果:

时间: 2024-11-07 14:16:56

[数学建模(八)]使用MATLAB绘图1的相关文章

[数学建模(七)]使用MATLAB实现数据拟合

目录 1.线性最小二乘法 2.多项式拟合方法(polyfit) 3.最小二乘优化:lsqlin,lsqcurvefit,lsqnonlin,lsqnonneg 4.曲线拟合的用户图形界面求法(cftool) 1.线性最小二乘法 x=[19 25 31 38 44]'; y=[19.0 32.3 49.0 73.3 97.8]'; r=[ones(5,1),x.^2]; ab=r\y % if AB=C then B=A\C x0=19:0.1:44; y0=ab(1)+ab(2)*x0.^2;

[数学建模(六)]使用MATLAB实现插值

常用的插值:拉格朗日多项式插值.牛顿插值.分段线性插值.Hermite 插值和三次样条插值. 1.拉格朗日插值法 function y=lagrange(x0,y0,x); n=length(x0);m=length(x); for i=1:m z=x(i); s=0.0; for k=1:n p=1.0; for j=1:n if j~=k p=p*(z-x0(j))/(x0(k)-x0(j)); end end s=p*y0(k)+s; end y(i)=s; end 测试: >> x0=

数学建模培训二 ---- matlab的基本应用

while循环结构主要用来做迭代 find()函数很重要,用来找符合条件的数据 plot()用来画图 axis()用来限定坐标轴的范围 hold on: hold off 用来作图用 打断点调试方法(F5单步运行) load导入数据 roots用来求多项式的根 polyfit()用来做多项式拟合插值 polyfit(x, y, 拟合函数的阶) mean()用来求均值 syms用来定义符号 rand()用来产生随机数 nlinfit()非线性拟合 doublle()可以将一个符号矩阵转化成一个数值

MATLAB在数学建模中的应用(二)

size():获取矩阵的行数和列数 (1)s=size(A), 当只有一个输出参数时,返回一个行向量,该行向量的第一个元素为矩阵的行数,第二个元素是矩阵的列数. (2)[r,c]=size(A), (3)size(A,n)如果在size函数的输入参数中再添加一项n,并用1或2为n赋值,则 size将返回矩阵的行数或列数.其中r=size(A,1)该语句返回的是矩阵A的行数, c=size(A,2) 该语句返回的是矩阵A的列数.另外length()=max(size()). subplot():

python 版 mldivide matlab 反除(左除)《数学建模算法与程序》Python笔记

今天在阅读数学建模的时候看到了差分那章 其中有一个用matlab求线性的代码,这里我贴出来 这里我送上 Python代码 In [39]: import numpy as np ...: from scipy.optimize import nnls ...: x = np.array([[1,2,3,4,5],[1,1,1,1,1]]) ...: x = x.T ...: y = np.array([11,12,13,15,16]) ...: nnls(x,y) ...: Out[39]: (

在数学建模中学MATLAB

为期三周的数学建模国赛培训昨天正式结束了,还是有一定的收获的,尤其是在MATLAB的使用上. 1. 一些MATLAB的基础性东西: 元胞数组的使用:http://blog.csdn.net/z1137730824/article/details/39206823 对于任意文件夹的同一格式的图片的批量读取:http://blog.csdn.net/haizimin/article/details/39646595 关于MATLAB在微分/偏微分方程以及其他高等数学问题中的应用. 关于MATLAB在

数学建模--matlab基础知识

虽然python也能做数据分析,不过参加数学建模,咱还是用专业的 1. Matlab-入门篇:Hello world! 程序员入门第一式: disp('hello world!') 2. 基本运算 先了解基本的运算符,做一些简单的尝试: +   Plus; addition operator. -   Minus; subtraction operator. *   Scalar and matrix multiplication operator. ^   Scalar and matrix

余胜威《MATLAB数学建模经典案例实战》2015年版

内容介绍 本书全面.系统地讲解了数学建模的知识.书中结合历年全国大学生数学建模竞赛试题,采用案例与算法程序相结合的方法,循序渐进,逐步引导读者深入挖掘实际问题背后的数学问题及求解方法.在本书案例的分析计算中巧妙地结合了MATLAB等工具,并采用不同的算法进行模型求解,达到异曲同工之妙.本书结合实际,对网上讨论的很多疑难问题也做了解答. 本书共25章,分3篇.主要内容有:MATLAB基础知识.LINGO基础知识.SPSS基础知识.数学建模基础理论及算法设计.基于LINGO的基础理论及算法设计.企业

(转载)MatLab绘图

转载自:http://www.cnblogs.com/hxsyl/archive/2012/10/10/2718380.html 转载自:http://www.cnblogs.com/jeromeblog/p/3396494.html plot选项: 一 基础功能 二维图形 一. plot函数① 函数格式:plot(x,y)  其中x和y为长度相同                     坐标向量     函数功能:以向量x.y为轴,绘制曲线. [例] 在区间0≤X≤2?内,绘制正弦曲线y=si

第十五届中国研究生数学建模竞赛之机场登机口调度

第十五届中国研究生数学建模竞赛之机场登机口调度 1.问题描述 具体题目文件见:https://github.com/luoshui3000/Airport_gate_scheduling 问题一:本题只考虑航班-登机口分配.作为分析新建卫星厅对航班影响问题的第一步,首先要建立数学优化模型,尽可能多地分配航班到合适的登机口,并且在此基础上最小化被使用登机口的数量.本问题不需要考虑中转旅客的换乘,但要求把建立的数学模型进行编程,求最优解. 2.使用方法 我们根据登机口和航班的宽窄机和航线性质,将所有