matlab学习笔记之五种常见的图形绘制功能
2024-08-26 15:46:09
分类:
- 离散数据图形绘制
- 函数图形绘制
- 网格图形绘制
- 曲面图形绘制
- 特殊图形绘制
本文重点介绍matlab五种图形绘制方法的后三种。
一、网格图形绘制
以绘制函数z=f(x,y)三维网格图为例,下面为绘制步骤:
- 确定自变量x和y的取值范围和取值间隔
x = x1:dx:x2; y = y1:dy:y2;
2.构成xoy平面上的自变量采样格点矩阵
1) 利用“格点”矩阵生成原理生成矩阵
X = ones(size(y))*x; Y = y*ones(size(x));
2) 利用meshgrid命令生成“格点”矩阵
[X,Y] = meshgrid(x,y);
3.计算在自变量采样“格点”上的函数值
1) mesh(X,Y,X)
2) mesh(Z)
3) mesh(X,Y,Z,C)
4) mesh(X,Y,Z,’PropertyName’,PropertyValue,...)
实例:绘制的图像,并作定义域的裁剪。
clear,clf, a = -;b = ;c = -;d = ;n = ;eps1 = 0.01; x = linspace(a,b,n);y = linspace(c,d,n); [X,Y] = meshgrid(x,y); % 计算函数值z,并做函数的定义域剪裁 for i = :n for j = :n if(-X(i,j))<eps1 || X(i,j) - Y(i,j) < eps1 Z(i,j) = NaN; else Z(i,j) = *sqrt( - X(i,j))^-.*log(X(i,j)-Y(i,j)); end end end % 画定义域边界线 zz = -*ones(,n);plot3(x,x,zz),grid on,hold on mesh(X,Y,Z) view([-56.5 ]); xlabel('x'),ylabel('y'),zlabel('z'),box on
结果:
二、曲面图形绘制
曲面图形的绘制使用surf函数完成,与mesh函数类似。
surf函数使用方式:
1)surf(X,Y,X)
2)surf(Z)
3)surf(X,Y,Z,C)
4)surf(X,Y,Z,’PropertyName’,PropertyValue,...)
实例:绘制圆锥体曲面。
clc,clear,close all X = -::; Y = -::; [X,Y] = meshgrid(X,Y); Z = sqrt(X.^ + Y.^); surf(X,Y,Z) xlabel('x') ylabel('y') zlabel('z') box on axis tight colormap(lines) shading interp set(gca,'Ydir','reverse'); set(gcf,'color','w');
结果:
三、特殊图形绘制
Matlab对于不同的三维曲面的绘制提供了不同的画图函数,如slice切片函数、quiver3三维箭头标记函数、sphere等。下面以绘制空间曲线及其运动为例抛砖引玉:
已知空间曲线的方程为:
% 空间曲线的绘制 clc,clear,close all t = :0.1:1.5; % 设置运动时间 % 给定曲线方程 x = t.^; y = (/)*t.^; z = (/)*t.^-(/)*t.^; plot3(x,y,x,'r.-'),hold on,grid on % 计算各方向梯度 Vx = gradient(x); Vy = gradient(y); Vz = gradient(z); % 绘制速度矢量图 quiver3(x,y,z,Vx,Vy,Vz); xlabel('x') ylabel('y') zlabel('z')
结果:
欢迎探讨。
最新文章
- Web 前端开发精华文章集锦(jQuery、HTML5、CSS3)【系列十八】
- Effective STL中文版 译序
- SwitchyOmega
- 使用Ninject来解决程序中组件的耦合问题
- javascript complete, onload
- salvage 数据块打捞工具
- IPVS
- Oracle将英文字符集数据转换成中文
- 纯JS写出日历
- linux 命令入门
- 参照openRTSP写的一个RTSP client 加了一些注解
- Android GPS应用:临近警告
- openGL线s的绘制
- 【struts2】ActionContext与ServletActionContext
- react native 升级到0.31.0的相关问题 mac Android Studio开发环境
- year:2017 month:08 day:04
- lombok使用
- Vue(五)Vue规范
- Python库 - Albumentations 图片数据增强库
- Symbol Table Applications
热门文章
- 【C语言天天练(二三)】errno变量
- Silverlight实例教程 - Validation数据验证基础属性和事件(转载)
- Atitit.编程语言and&#160;自然语言的比较and&#160;编程语言未来的发展
- atitit.编程语言&#160;类与对象的&#160;扩展机制.doc
- websocket echo test
- 【转】jQuery.extend 函数详解
- Anaconda+Tensorflow环境安装与配置(转载)
- 在python中Flask配置服务
- java 调用cmd命令
- Spring MVC多动作控制器