title: 数学建模-day3
date: 2018-10-07 23:07:14
tags: 数模
categories: 数学建模
img: https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1538991809564&di=a39e2aa7ff59c221d0a9c52ddd984c8c&imgtype=0&src=http%3A%2F%2Fwww.leewiart.com%2Fuserfiles%2F18573%2F1756b215a1834ac2a831020e54884853.jpg
数学建模_day3 - matlab 基本用法
day3 继续 day2的 matlab 基本用法学习,今天学习数学模型绘图,matlab的绘图功能十分强大,各种功能如下图。
六. 根据条件构建二维图和三维图像
plot 函数 -- 二维
创建二维线图首先需要构建一个二维的函数,比如常见的 y = sin(x),y = 2*x,y = 2^x。
可以通过以下代码定义y = sin(x)函数:
x = -100:10:100; //创建一个-100到100步长为10的一维数组用来作为X
y = sin(x); //构成函数 y = sin(x)
成品图如下
:
因为步长的关系造成了这张图片的狰狞,不过没关系,我们可以改一下x的范围:
x = 0:pi/100:2*pi; //改成单位圆范围
y = sin(x);
plot(x,y)
成品图如下
:
surf 和 mesh 函数 -- 三维
三维图通常显示一个由带两个变量的函数(即 z = f (x,y))定义的曲面图。 surf 函数及其伴随函数 mesh 以三维形式显示曲面图。surf 使用颜色显示曲面图的连接线和面。mesh 生成仅以颜色标记连接定义点的线条的线框曲面图。
例如在三维坐标系中,构建一个 Z=1,-1<x<1,-1<y<1,的平面,我们要输入以下代码:
x = -1:0.1:1;y = x;
z = ones(21,21);
mesh(x,y,z);
成品图如下
:
exp函数,例如exp(5)代表的是e^5。要计算 z,请首先使用 meshgrid
在将要创建的三维函数的域中创建一组 (x,y) 点。 :
[X,Y] = meshgrid(-2:.2:2); //创建(x,y)点
Z = X .* exp(-X.^2 - Y.^2); //得到Z
surf(X,Y,Z); //画图
成品图如下
:
cylinder 和 subplot 函数
cylinder通常用于生成圆柱模型并返回x,y,z坐标值,subplot通常用于分割窗口用以显示不同的图形。
Matlab cylinder 函数:
1、cylinder函数功能说明:绘制三维圆柱图。
2、cylinder函数用法说明:
(1)[x,y,z]=cylinder 函数返回一半径和高度都为1的圆柱体x,y,z轴的坐标值,圆柱体沿其周长有20个等距分布的点;
(2)[x,y,z]=cylinder(r) 函数一个半径为r、高度为1的圆柱体的x,y,z轴的坐标值,圆柱体沿其周长有20个等距分布的点;
(3)[x,y,z]=cylinder(r,n) 函数一个半径为r、高度为1的圆柱体的x,y,z轴的坐标值,圆柱体沿其周长有n个等距分布的点;
(4)cylinder(...) 函数只绘制圆柱,没有任何的输出参量。其他参量及结果同上。
用一个例子来展示一下cylinder和subplot的用法:
t = 0:pi/10:2*pi;
[X,Y,Z] = cylinder(2+cos(t));
surf(X,Y,Z)
subplot(2,2,1); mesh(X); title('X');
subplot(2,2,2); mesh(Y); title('Y');
subplot(2,2,3); mesh(Z); title('Z');
subplot(2,2,4); mesh(X,Y,Z); title('X,Y,Z');
成品图如下
: