当前位置:网站首页>Getting started with MATLAB 3D drawing command plot3
Getting started with MATLAB 3D drawing command plot3
2022-08-04 00:22:00 【Yang Laotou Soft Worker】
I. Introduction
Matlab software provides powerful visualization functions, which can draw both plane graphics and three-dimensional graphics.Drawing a three-dimensional curve graph or a scatter plot can be done using the command plot3.This article gives an introduction to using plot3 to draw three-dimensional curves (in fact, surfaces) or scatter plots.
2. Detailed description of the basic usage of plot3
Basic syntax: plot3(x, y, z, s )
where x, y and z are arrays of the same dimension, and (x, y) constitutes a three-dimensionalThe coordinate point of the surface graph on the definition domain, z is the vertical coordinate, it can be a function of (x, y), or it can only have a numerical relationship.
s are primitive attributes.
Its function is to draw the curve graph of the space surface according to the color given by the attribute s or the line element and the grid point (x, y, z) on the surface.
The primitive attributes s can be defaulted.When the default s is used, the three-dimensional curve graph is drawn with the color automatically specified by the system;
Example 1. The grid of the abscissa and the ordinate is known, and the spatial graph is drawn.
% Sample code (1) Drawing using the color given by the system
[x,y]=meshgrid(-2*pi:0.2:2*pi);z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y);;plot3( x, y, z );
%Running results
%Sample code (2): specify color
[x,y]=meshgrid(-2*pi:0.2:2*pi);z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y);plot3( x, y, z, 'r' )
%Running results
%Sample code (3): each line is assigned a color according to its own needs
[x,y]=meshgrid(-2*pi:0.2:2*pi);z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y);len = length( z );for i = 1 : lenplot3( x(:,i), y(:,i), z(:,i), 'color', [ i/(len), (i+len)/(3*len), (i+len))/(6*len) ])hold onend
%run result
Example 2: Drawing a spiral diagram (dotted line)
Reference code:
clear allclct = [ 0 : 0.02 : 10 ] * pi;r = 2;x = r * cos(t);y = r * sin(t);z = 0.5 * t;plot3( x, y, z, 'b--' )
%Running results
Example 3: Draw randomScatter Plot
Reference Code:
clear allclc[ x, y ] = meshgrid( 0 : 0.2 : 3 );z1 = randn( size(x) );plot3( x, y, z1, 'ro' )hold on[ x, y ] = meshgrid( 1 : 0.2 : 4 );z2 = randn( size(x) ) + 2;plot3( x, y, z2, '.', 'markersize', 20 )xlabel('x');ylabel('y');zlabel('z');grid on
Example 4: Draw the upper half-cone truncated unit sphereScatter plot of the resulting surface.
Reference code: (borrowed spherical coordinates)
clear allclcr=1;for phi = 0:pi/80:pi/4for theta = 0:pi/20:2*pix = r*sin(phi)*cos(theta);y = r*sin(phi)*sin(theta);z = r*cos(phi);% vertical coordinates on the spherezz = r*sin(phi);% vertical coordinates on the conical surfacecol1 = abs(x);col2 = abs(y);col3 = abs(z);plot3(x,y,z,'.','color',[col1,col2,col3]);% sphericalhold onplot3(x,y,zz,'r.')% conical surfaceendendaxis equalxlabel('x');ylabel('y');zlabel('z');
Run result:
边栏推荐
- 手撕Gateway源码,今日撕工作流程、负载均衡源码
- 七夕活动浪漫上线,别让网络拖慢和小姐姐的开黑时间
- XSLT – 编辑 XML概述
- Nanoprobes Alexa Fluor 488 FluoroNanogold 偶联物
- 分布式事务框架 seata
- Free自由协议系统开发
- 共享新能源充电桩充电站建设需要些什么流程及资料?
- The world's first mass production, with the most fixed points!How does this AVP Tier1 lead?
- 带你造轮子,自定义一个随意拖拽可吸边的悬浮View组件
- A simple understanding of TCP, learn how to shake hands, wave hands and various states
猜你喜欢
随机推荐
POE交换机全方位解读(下)
The Beijing E-sports Metaverse Forum was successfully held
[Miscellaneous] How to install the specified font into the computer and then use the font in the Office software?
双目IMU标定kalibr
ML18-自然语言处理
FPGA按键消抖+蜂鸣器
Nanoprobes Mono- Sulfo -NHS-Nanogold的使用和应用
迭代扩展卡尔曼滤波IEKF
【性能优化】MySQL常用慢查询分析工具
C# wpf使用ffmpeg命令行实现录屏
Shell编程之循环语句(for、while)
【面经】被虐了之后,我翻烂了equals源码,总结如下
Graph-node:创建一个新的subgraph
利用matlab求解线性优化问题【基于matlab的动力学模型学习笔记_11】
vscode插件设置——Golang开发环境配置
FastDFS 一文读懂
第1章:初识数据库与MySQL----MySQL安装
分布式事务框架 seata
小身材有大作用——光模块基础知识(一)
dynamic memory two