我是靠谱客的博主 超帅蓝天,最近开发中收集的这篇文章主要介绍matlab学习笔记之五种常见的图形绘制功能 matlab学习笔记之五种常见的图形绘制功能 ,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

转载:https://www.cnblogs.com/always-chang/p/5653105.html

    <div id="post_detail">

matlab学习笔记之五种常见的图形绘制功能

分类:

  • 离散数据图形绘制
  • 函数图形绘制
  • 网格图形绘制
  • 曲面图形绘制
  • 特殊图形绘制

本文重点介绍matlab五种图形绘制方法的后三种。

 

一、网格图形绘制

以绘制函数z=f(x,y)三维网格图为例,下面为绘制步骤:

  1. 确定自变量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 = -1;b = 1;c = -15;d = 15;n = 20;eps1 = 0.01;

x = linspace(a,b,n);y = linspace(c,d,n);

[X,Y] = meshgrid(x,y);

% 计算函数值z,并做函数的定义域剪裁

for i = 1:n

</span><span style="color: #0000ff;">for</span> j = <span style="color: #800000;">1</span>:<span style="color: #000000;">n

    </span><span style="color: #0000ff;">if</span>(<span style="color: #800000;">1</span><span style="color: #0000ff;">-X</span>(i,j))&lt;eps1 || X(i,j) - Y(i,j) &lt;<span style="color: #000000;"> eps1

        Z(i</span>,j) =<span style="color: #000000;"> NaN;

    </span><span style="color: #0000ff;">else</span><span style="color: #000000;">

        Z(i</span>,j) = <span style="color: #800000;">1000</span>*<span style="color: #0000ff;">sqrt</span>(<span style="color: #800000;">1</span> - X(i,j))^-<span style="color: #800000;">1</span>.*<span style="color: #0000ff;">log</span>(X(i,j)-Y(i,<span style="color: #000000;">j));

    end

end

end

% 画定义域边界线

zz = -20*ones(1,n);plot3(x,x,zz),grid on,hold on

mesh(X,Y,Z)

view([-56.5 38]);

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 = -10:1:10;

Y = -10:1:10;

[X,Y] = meshgrid(X,Y);

Z = sqrt(X.^2 + Y.^2);

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 = 00:0.1:1.5; % 设置运动时间

% 给定曲线方程

x = t.^2;

y = (2/3)*t.^3;

z = (6/4)*t.^4-(1/3)*t.^3;

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’)

复制代码

结果:

 

 

 欢迎探讨。

 

学到即赚到。
分类: Matlab
好文要顶 关注我 收藏该文
Acelit
关注 - 14
粉丝 - 22
+加关注
0
0
« 上一篇: matlab学习笔记之求解线性规划问题和二次型问题
» 下一篇: 学到即赚到
	</div>
	<div class="postDesc">posted @ <span id="post-date">2016-07-08 13:26</span> <a href="https://www.cnblogs.com/always-chang/">Acelit</a> 阅读(<span id="post_view_count">2697</span>) 评论(<span id="post_comment_count">0</span>)  <a href="https://i.cnblogs.com/EditPosts.aspx?postid=5653105" rel="nofollow">编辑</a> <a href="#" onclick="AddToWz(5653105);return false;">收藏</a></div>
</div>
<script type="text/javascript">var allowComments=true,cb_blogId=268187,cb_entryId=5653105,cb_blogApp=currentBlogApp,cb_blogUserGuid='ddd26d8b-dcda-e511-9fc1-ac853d9f53cc',cb_entryCreatedDate='2016/7/8 13:26:00';loadViewCount(cb_entryId);var cb_postType=1;var isMarkdown=false;</script>
</div><!--end: forFlow -->
</div><!--end: mainContent 主体内容容器-->

<div id="sideBar">
	<div id="sideBarMain">

公告

昵称: Acelit
园龄: 3年
粉丝: 22
关注: 14
+加关注
		<div id="blog-calendar" style=""><table id="blogCalendar" class="Cal" cellspacing="0" cellpadding="0" title="Calendar">
<tbody><tr><td colspan="7"><table class="CalTitle" cellspacing="0">
	<tbody><tr><td class="CalNextPrev"><a href="javascript:void(0);" onclick="loadBlogCalendar('2019/02/01');return false;">&lt;</a></td><td align="center">2019年3月</td><td class="CalNextPrev" align="right"><a href="javascript:void(0);" onclick="loadBlogCalendar('2019/04/01');return false;">&gt;</a></td></tr>
</tbody></table></td></tr><tr><th class="CalDayHeader" align="center" abbr="日" scope="col">日</th><th class="CalDayHeader" align="center" abbr="一" scope="col">一</th><th class="CalDayHeader" align="center" abbr="二" scope="col">二</th><th class="CalDayHeader" align="center" abbr="三" scope="col">三</th><th class="CalDayHeader" align="center" abbr="四" scope="col">四</th><th class="CalDayHeader" align="center" abbr="五" scope="col">五</th><th class="CalDayHeader" align="center" abbr="六" scope="col">六</th></tr><tr><td class="CalOtherMonthDay" align="center">24</td><td class="CalOtherMonthDay" align="center">25</td><td class="CalOtherMonthDay" align="center">26</td><td class="CalOtherMonthDay" align="center">27</td><td class="CalOtherMonthDay" align="center">28</td><td align="center">1</td><td class="CalWeekendDay" align="center">2</td></tr><tr><td class="CalWeekendDay" align="center">3</td><td align="center">4</td><td align="center">5</td><td align="center">6</td><td align="center">7</td><td align="center">8</td><td class="CalWeekendDay" align="center">9</td></tr><tr><td class="CalWeekendDay" align="center">10</td><td align="center">11</td><td align="center">12</td><td align="center">13</td><td align="center">14</td><td align="center">15</td><td class="CalWeekendDay" align="center">16</td></tr><tr><td class="CalWeekendDay" align="center">17</td><td align="center">18</td><td align="center">19</td><td align="center">20</td><td align="center">21</td><td align="center">22</td><td class="CalTodayDay" align="center">23</td></tr><tr><td class="CalWeekendDay" align="center">24</td><td align="center">25</td><td align="center">26</td><td align="center">27</td><td align="center">28</td><td align="center">29</td><td class="CalWeekendDay" align="center">30</td></tr><tr><td class="CalWeekendDay" align="center">31</td><td class="CalOtherMonthDay" align="center">1</td><td class="CalOtherMonthDay" align="center">2</td><td class="CalOtherMonthDay" align="center">3</td><td class="CalOtherMonthDay" align="center">4</td><td class="CalOtherMonthDay" align="center">5</td><td class="CalOtherMonthDay" align="center">6</td></tr>
		<div id="leftcontentcontainer">
			<div id="blog-sidecolumn"><div id="sidebar_search" class="sidebar-block">
    • C/C++(10)
    • DataBase
    • Design Pattern(1)
    • DSA
    • Hardware Design(1)
    • Image Processing(2)
    • Linux/OS
    • Machine Learning(12)
    • Matlab(4)
    • Problems Set(1)
    • Python
    • Summay(2)
    • Web Front-End(5)
      • 2017年2月 (1)
      • 2016年12月 (6)
      • 2016年11月 (11)
      • 2016年10月 (10)
      • 2016年7月 (3)
      • 2016年5月 (1)
      • 2016年3月 (4)
      • 	</div><!--end: sideBarMain -->
        </div><!--end: sideBar 侧边栏容器 -->
        <div class="clear"></div>
        </div>
        

      最后

      以上就是超帅蓝天为你收集整理的matlab学习笔记之五种常见的图形绘制功能 matlab学习笔记之五种常见的图形绘制功能 的全部内容,希望文章能够帮你解决matlab学习笔记之五种常见的图形绘制功能 matlab学习笔记之五种常见的图形绘制功能 所遇到的程序开发问题。

      如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

      本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
      点赞(42)

      评论列表共有 0 条评论

      立即
      投稿
      返回
      顶部