今天学三维作图 (*^__^*)……

三维曲线作图

用到的命令:plot3

基本格式:plot3(x,y,z,s)

这里要画曲线,你需要知道该曲线的参数方程
x=x(t),y=y(t),z=z(t)

然后其他就和二维的情况一样了

来,做个示范~

t=(:0.02:)*pi;
x=sin(t);
y=cos(t);
z=cos(*t);
plot3(x,y,z,'b-');
box on;
legend('example');

这里可以改变观察视角~~~

或者在命令栏里使用

view来改变视角

view([x,y,z])设置观察点的直角坐标

view([az,el])设置观察点的方向角和俯视角

 

嗯,三维曲线的绘图就这么简单(⊙v⊙)

 

那我们再来看看三维曲面怎么画图~~~~

 

matlab三维曲面作图的思路:
已知两个向量x,y,然后求z=f(x,y)
z是一个矩阵,zij=f(xi,yj)遍历所有x,y的组合
得到一系列的点(xi,yj,zij)

然后得到拟合的曲面

同样x,y要取的比较精细,不然得到的都是平面

作图的步骤要背喔!!!ヾ(o◕∀◕)ノヾ

第一步:
使用meshgrid 函数生成网格节点矩阵X,Y

调用方法[X,Y] = meshgird(x,y)
x,y是上述的两个向量

我们来看看网格节点生成的效果

在命令窗口输入

clf
x=:0.2:;
y=x;
[x y]=meshgrid(x,y);
plot(x,y,'b+')

这就是所有(x,y)的取值

 

然后计算所有的z=f(x,y)就可以了

 

所以第二步就是计算Z=f(X,Y)

接下来第三步使用mesh或者surf函数绘制曲面

此外meshz和meshc除了作图还有不同的功能
surf画出的曲面是网格表面着色的图形,以不同的颜色表示曲面曲率的大小

下面我们画一个锥面z=sqrt(x^2+y^2)的图像

x=-:0.05:;
y=x;
[X,Y]=meshgrid(x,y);
hold on;
grid on;
Z=sqrt(X.^+Y.^);
mesh(X,Y,Z);

再来一个参数方程的例子吧 ~

TT=:0.1*pi:*pi;
a=-;b=;
VV=-b:0.1:b;
[t,v]=meshgrid(TT,VV);
x=(a+v.*sin(t./)).*cos(t);
y=(a+v.*sin(t./)).*sin(t);
z=v.*cos(t./);
figure;surf(x,y,z);
view([- ]);
title('莫比乌斯带');

这里t,v是参数

先生成参数的范围

然后带入x,y,z的参数方程进行计算

然后就画出图像了~

下面画一个分段的图像 ~

其实就是根据条件修改矩阵的值 。

画一个z=x^2+y^2被圆柱面x^2+y^2=1以及三坐标平面所截得的在第一卦限的图像:

dd=0.01;n=+/dd;
[x,y]=meshgrid(:dd:,:dd:);
z=;
for j=:n
for i=:n
if x(i,j)<sqrt(-y(i,j).^)
z(i,j)=x(i,j).^+y(i,j).^;
else
z(i,j)=;
end
end
end
mesh(x,y,z);

 

差不多方法就是这些,自己有空可以去画一画双曲面,椭球面,马鞍面之类的常见曲面练习一下~~~(。・∀・)ノ゙

 

这一部分就告一段落了(。•́__ก̀。)

MATLAB入门学习(六)的更多相关文章

  1. MATLAB入门学习(整合)

    整合一下,都是链接地址: MATLAB入门学习(一):初次使用.. MATLAB入门学习(二):矩阵相关 MATLAB入门学习(三):矩阵常用函数 MATLAB入门学习(四):编写简单.m文件和函数文 ...

  2. MATLAB入门学习(一)

    开始MATLAB入门啦,,,首先感谢xyy大神的帮助!然后我们开始学习吧!<( ̄︶ ̄)↗[GO!] 工作空间窗口:保存了你定义的常量,变量之类的,可以保存也可以被调用. 保存的话会生成一个mat ...

  3. MATLAB入门学习(七)

    开始,线性代数和微积分了,不怕.不怕. 背命令就行了... 线性代数 解线性方程组: Ax=b A是系数矩阵,x未知数,b是列向量 如果有唯一解,直接x=b\A 第二 B=null(A,'r')求Ax ...

  4. MATLAB入门学习(四)

    今天我们开始学编程啦~ 点击左上角的这个进入编程界面 这是新建新的.m文件,也就是matlab命令文件, 一般命令文件不带输入和输出的参数,只是一些命令的组合,带有输入输出参数的文件是函数文件~ 下面 ...

  5. Matlab入门学习(程序设计)

    一.循环(for,while) for循环: for i=begin:step:end ...... end while循环: while condition ...... end 二.分枝(if,i ...

  6. Matlab入门学习(矩阵、函数、绘图的基本使用)

    一.矩阵 1.定义和简单使用(一般的编程语言,数组下标都是从0开始的,但是MATLAB是从1开始的) >> a=[ ; ; ] a = >> b=[ ; ; ]; >&g ...

  7. MATLAB入门学习(五)

    现在,我们来学画图吧.╭( ・ㅂ・)و ̑̑ 绘制函数图像最常用的命令是plot plot(x,y,s)x,y为同维向量,绘制分别以x为横坐标,y为纵坐标的曲线 如果x y 是矩阵的话则会绘制多条曲线 ...

  8. MATLAB入门学习(三)

    我们再来看看矩阵常用的函数,除了上一篇提到的inv还有以下常见命令: det 计算方阵行列式 eig 计算特征值 trace 计算矩阵的迹 norm 计算矩阵的范数或模 orth 正交化 poly 求 ...

  9. MATLAB入门学习(二)

    关于矩阵 ~o( =∩ω∩= )m matlab矩阵运算很强大 ,几乎所有涉及矩阵运算的命令都有. 事实上,matlab里面所有变量都是以矩阵的形式保存下来的. 一个数字是1x1矩阵 我们来看看矩阵的 ...

随机推荐

  1. 32位和64位系统内核函数调用从ZwProtectVirtualMemory到NtProtectVirtualMemory

    0x01 前言 我们知道R3层中,Zw系列函数和Nt系列函数函数是一样的,但是在内核Zw系列函数调用了Nt系列函数,但是为什么要在内核设置一个Zw系列函数而不是直接调用Nt函数呢?Zw系列函数又是怎么 ...

  2. C++的中英文字符串表示(string,wstring)

    在C++中字符串类的string的模板原型是basic_string template <class _Elem, class traits = char_traits<_Elem> ...

  3. BAT的关于程序员的那些事

    前言 你是否早有进入BAT公司的想法,但却因为对其不了解而在门外彷徨? 你是否想把技术团队打造成像BAT这些超级互联网公司,但却无从下手? 你是否已经进入了BAT,但是不知道如何晋升而苦恼? 那这篇文 ...

  4. 阿里云配置HTTPS

    阿里云配置HTTPS 2018-05-29 16:00:56 by SemiconductorKING 最近申请域名配置了一下HTTPS协议,记录一下配置过程. 准备 备案过的域名,一个SSL证书(免 ...

  5. nodejs图片裁剪、缩放、水印

    关于nodejs下图片的裁剪.水印,网上的模块很多,主要如下: gm:https://github.com/aheckmann/gm node-canvas:https://github.com/Au ...

  6. 互联网轻量级框架SSM-查缺补漏第二天

    简言:第一天没咋看,因为看的时候已经是下午了.今天上午也因为工作上的事没咋看,本来想按照天去写的,但是内容会太散吧.我决定把整块的内容放在一起写了.天数啥的,就那样把. 还有,我只是言简意赅的去总结一 ...

  7. UVA1339(字母映射)

    memcmp(const void *buf1, const void *buf2, unsigned int count)可以比较两个串相等 http://baike.baidu.com/link? ...

  8. unity3d之实现各种滑动效果

    一. 点击滑动页面 新建了一个带mask的prefab,加上代码只需要将图片prefab.按钮prefab和所想添加的图片 拖进去会自动生成按钮,滑动速度可以随意调time,滑动效果用itween实现 ...

  9. springMVC @Component-@Resource-@Repository-@Service-@Controller的区别和理解

    作用: @Component------------------------泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注.(Component-------成分; 组分; 零件) @R ...

  10. ideal key

    常用快捷键 设置快捷键:File -> Settings -> IDE Settings -> Keymap -> 选择“eclipse” -> 然后“Copy”一份 - ...