matlab 画三条曲线,如何利用MATLAB(plot 3函数和fplot3函数)绘制三维曲线?
文章目录
0 前言
1 plot3函数
1.1 plot3函数的基本用法
1.2 plot3(x,y,z)函数参数的变化形式
1.3 含多组输入参数的plot3函数
1.4 含选项的plot3函数
2 fplot3函数
2.1 fplot3函数的基本用法
2.2 练习
3 结语
0 前言
本文是科学计算与MATLAB语言的专题四的第四小节总结笔记,并结合了自己一点的理解,看完本文,可以轻松利用MATLAB的plot3函数和fplot函数,画出三维曲线。
1 plot3函数
1.1 plot3函数的基本用法
plot3(x,y,z)
其中
参数x、y、z组成一组曲线的坐标。
例1 绘制一条空间折线。
x=[0.2, 1.8, 2.5];
y=[1.3, 2.8, 1.1];
z=[0.4, 1.2, 1.6];
plot3(x, y, z)
grid on
axis([0, 3, 1, 3, 0, 2]);
xlabel({'X轴'});
zlabel({'Z轴'});
ylabel({'Y轴'});
例2 绘制螺旋线 { x = s i n ( t ) + t c o s ( t ) y = c o s ( t ) − t s i n ( t ) ( 0 ≤ t ≤ 10 π ) z = t \left\{\begin{aligned} x&=sin(t)+tcos(t)\\ y&=cos(t)-tsin(t)(0 \leq t\leq10\pi)\\ z&=t \end{aligned}\right.⎩⎪⎨⎪⎧xyz=sin(t)+tcos(t)=cos(t)−tsin(t)(0≤t≤10π)=t
t=linspace(0, 10*pi, 200);
x=sin(t)+t.*cos(t);%''.*'',按两个矩阵每个对应位置元素相乘形成的一个新矩阵
y=cos(t)-t.*sin(t);
z=t;
subplot(1, 2, 1)
plot3(x, y, z)
grid on
subplot(1, 2, 2)
plot3(x(1:4:200), y(1:4:200), z(1:4:200))%点的间隔变大,曲线没有图一光滑。
grid on
1.2 plot3(x,y,z)函数参数的变化形式
plot3(X,Y,Z)
参数X、Y、Z是同型矩阵时,以X、Y、Z对应列元素绘制曲线,曲线条数等于矩阵列数。
参数X、Y、Z中有向量,也有矩阵时,向量的长度应与矩阵相符。
向量指的是m×1的行向量,或1×n的列向量
被绕晕了吗?看以下示例。
例3 在空间不同位置绘制5条正弦曲线。
t=0:0.01:2*pi;
t=t';
x=[t, t, t, t, t];
y=[sin(t), sin(t)+1, sin(t)+2, sin(t)+3, sin(t)+4];
z=x;
%这里x、y、z都是一个629×5的同型矩阵,所以曲线的条数为5。
plot3(x,y,z)
这个例子也可以采用以下代码实现。
t=0:0.01:2*pi;
x=t;
y=[sin(t); sin(t)+1; sin(t)+2; sin(t)+3; sin(t)+4];
z=x;
plot3(x,y,z)
1.3 含多组输入参数的plot3函数
plot3(x1,y1,z1,×2,y2,z2,…,xn,yn,zn)
每一组x、y、z向量构成一组数据点的坐标,绘制一条曲线。
例4 绘制三条不同长度的正弦曲线。
t1=0:0.01:1.5*pi;
t2=0:0.01:2*pi;
t3=0:0.01:3*pi;
plot3(t1,sin(t1),t1, t2,sin(t2)+1,t2, t3,sin(t3)+2,t3)
1.4 含选项的plot3函数
plot3(x,y,z,选项)
选项用于指定曲线的线型、颜色和数据点标记。
例5 绘制空间曲线{ x = c o s ( t ) y = s i n ( t ) ( 0 ≤ t ≤ 6 π ) z = 2 t \left\{ \begin{aligned} x&=cos(t)\\ y&=sin(t)(0\leq t \leq6\pi)\\ z&=2t \end{aligned}\right.⎩⎪⎨⎪⎧xyz=cos(t)=sin(t)(0≤t≤6π)=2t
t=0:pi/50:6*pi;
x=cos(t);
y=sin(t);
z=2*t;
plot3(x,y,z,'p')
xlabel('X'),ylabel('Y'),zlabel('Z');
grid on
2 fplot3函数
2.1 fplot3函数的基本用法
fplot3(funx,funy,funz,tlims)
其中
funx、funy、funz代表定义曲线x、y、z坐标的函数,通常采用函数句柄的形式。
tlims为参数函数自变量的取值范围,用二元向量[tmin,tmax]描述,默认为[-5,5]。
2.2 练习
例6 绘制墨西哥帽顶曲线{ x t = e − t 10 s i n ( 5 t ) y t = e − t 10 c o s ( 5 t ) ( − 12 ≤ t ≤ 12 ) z t = t \left\{ \begin{aligned} x_t &= e^{-\frac{t}{10}sin(5t)}\\ y_t &= e^{-\frac{t}{10}cos(5t)}(-12\leq t \leq12)\\ z_t&= t \end{aligned}\right.⎩⎪⎪⎨⎪⎪⎧xtytzt=e−10tsin(5t)=e−10tcos(5t)(−12≤t≤12)=t
xt = @(t) exp(-t/10).*sin(5*t);
yt = @(t) exp(-t/10).*cos(5*t);
zt = @(t) t;
fplot3(xt, yt, zt, [-12, 12])
用红色点划线绘制墨西哥帽顶曲线。
xt = @(t) exp(-t/10).*sin(5*t);
yt = @(t) exp(-t/10).*cos(5*t);
zt = @(t) t;
fplot3(xt, yt, zt, [-12, 12], 'r-.')
3 结语
如果本文对您有帮助,可以点个赞哈,如有错误疑问,请您指出哈。
matlab 画三条曲线,如何利用MATLAB(plot 3函数和fplot3函数)绘制三维曲线?相关推荐
- matlab画三色圆盘
matlab画三色圆盘 function img1=fillcolor img1=zeros(300,300,3); x1=150;y1=100; x2=100;y2=200; x3=200;y3=2 ...
- matlab实验7绘图操作绘制三维曲线,上机习题6 MATLAB7.0三维绘图
matlab三维绘图经典 实验六 MATLAB7.0三维绘图 实验目的: ① 掌握绘制三维图能形的方法: ② 掌握图形修饰处理方法: ③ 知道图像处理方法,了解动画制作方法. 实验要求:给出程序和实验 ...
- matlab实验7绘图操作绘制三维曲线,matlab上机习题6 MATLAB7.0三维绘图
实验六MATLAB7.0三维绘图实验目的: ①掌握绘制三维图能形的方法: ②掌握图形修饰处理方法: ③知道图像处理方法,了解动画制作方法. 实验要求:给出程序和实验结果. 实验内容: 一.绘制三维曲线 ...
- Matlab绘制三维曲线(plot3)和三维图形(mesh surf)
原文链接:http://blog.csdn.net/leo2351960/article/details/37655089 Plot3,绘制三维曲线,与plot命令类似,用法为 [html] view ...
- matlab 一条水平线,matlab画一条水平线
凸轮廓线的MATLAB画法_工学_高等教育_教育专区.基于matlab的凸轮画法实例 凸轮廓线的 MATLAB 画法 1 凸轮轮廓方程 X ? OE ? EF ? E * Cos( J ) ? ( . ...
- matlab画分形minkowski,分形系列之matlab绘制koch曲线
从一条直线段开始,将线段中间的三分之一部分用一个等边三角形的两边代替,形成山丘形图形如下,在新的图形中,又将图中每一直线段中间的三分之一部分都用一个等边三角形的两条边代替,再次形成新的图形如此迭代,形 ...
- matlab画三次抛物线,怎样用几何画板画三次抛物线?
数学中有许多常用的曲线,有的是使用函数就可以直接绘制的,有的是需要使用参数曲线绘制的.有的需要使用直角坐标系,有的需要使用极坐标系.前面已经介绍过几何画板中抛物线的绘制方法,那都是普通的抛物线,其实还 ...
- matlab的三条线如何区分,股票三条线交叉图解,股票三条线怎么区分
内容导航: Q1:股票K线图的三条线表示什么 K线图中的三条线是移动平均线,也就是通常说的"均线". 其中,交易软件中默认的黄色为30日均线, 白色为10日均线, 紫色为60日均线 ...
- matlab的三条线如何区分,股票的三条线代表什么意思?股票k线图中的三条线如何判断...
股票的三条线代表什么意思? 它各自意味着KDJ三条线,在其中J线的挪动速率更快,次之是K线,比较慢的是D线.KDJ指标是股市上最常见的技术性分析工具,它在根据当日或近期几日最高成交价,最低价位及收盘价 ...
最新文章
- ompl_interface/OMPLPlanner
- python打印小猪佩琪_极度舒适的 Python 入门教程,小猪佩奇也能学会~
- apache正向代理配置
- Asp.NET Core2.0 EF ABP Postgresql 数据迁移
- python 异步api ThreadPoolExecutor 、ProcessPoolExecutor(多线程、多进程)
- JS实现文件的上传与下载
- 自定义铃声行业如何为应用商店铺平了道路,然后消失了
- linux hugepages大小,配置Linux服务器 hugepages
- 硬件系统工程师需要具备哪些技能
- 利用DataEase的关联数据集制作宽表
- 诗词乱拼 zz from smth.org
- node插件rimraf
- win7系统备份怎么做的几种方法
- 服务端开发or客户端开发的选择
- 【自然语言处理】【ChatGPT系列】大模型的涌现能力
- Skia深入分析5——skia文字绘制的实现
- 快捷给UE4项目改名
- Springboot自动重启
- 情人节表白代码(1)
- 分享几个无版权图片网站
热门文章
- python编程无师自通专业程序员的养成_正版 Python编程无师自通——专业程序员的养成 算机与互联网 编程语言与程序设计 计算机 网络...
- 华为存储s2600t配置上架
- MySQL中级优化教程(五)——数据库建表时数据类型的选择
- 华为防火墙NAT策略原理+实验验证!
- Latex 固定图片的位置
- linux 正点原子ov5640_【正点原子FPGA连载】第四十七章 基于OV5640的以太网传输视-摘自【正点原子】开拓者 FPGA 开发指南 (amobbs.com 阿莫电子论坛)...
- python字典程序题_Python学习之字典实现成绩管理程序
- 编码系列--Base32编码
- c++ 之动态库与静态库区别
- 免费的中医方剂管理软件