linspace函数matlab_Matlab入门2-莫比乌斯环

47d92c301ae10ab6163d2df506512e5c.png

记录根据函数的参数方程来绘制图形。


你知道什么是莫比乌斯环吗?你尝试过手动做一个莫比乌斯环吗(只需要一张长方形的小纸条、以及一点点透明胶)?它的参数方程也很有意思,其探索与证明在知乎上也能找到相关证明,以及似乎某些有趣的教材也会介绍拓扑的证明。不过我们现在可以利用matlab直观地看到莫比乌斯环,那么我们开始吧。

今日简单题:1.已知莫比乌斯环参数方程(见文末),要求绘制图形。

  • 所需知识:

a.如何生成线性间距向量。b.如何创建一个多维空间网格坐标。c.如何表示乘法。d.如何导出图形。e.如何简单地设置坐标的横纵比。

  • 事先需要了解和准备的:创建脚本文件、脚本文件的运行、设置目标路径。

那么开始今天的学习吧:[1]

1.生成线性间距行向量:linspace

基本语法:x=linspace(x1,x2)、y=linspace(x1,x2,n)

  • x=linspace(x1,x2)%右边返回一个 包含在x1、x2内一百个等距点 的行向量,而如果想对分割的等距点有所限制的话,就后加一个n,表示分割成含n个等距点的行向量,例如:
>> 

由此我们可以建立参变量的线性间距:

u

2.★创建二维或三维网格:meshgrid

基本语法:[X,Y]=meshgrid(x,y)、[X,Y,Z]=meshgrid(x,y,z)

  • [X,Y]=meshgrid(x,y)%X和Y都返回length(y)行,length(x)列,其中X的每一行都由x组成,Y的每一列都由y组成,对于X,Y每一个对应的位置x和y构成一个点,本质上就是生成一个矩形点阵对于X和Y。(与一维begin:step:end构造x的定义域)在绘图时一般是为了构造x,y平面的平面点集作为自变量变化范围。注意:[X,Y]=meshgrid(x)
    [X,Y]=meshgrid(x,x)、
  • [X,Y,Z]=meshgrid(x,y,z)%可用来计算三变量的函数和绘制三维立体图,性质同上扩展掌握。注意[X,Y,Z]=meshgrid(x)
    meshgrid[X,Y,Z]=meshgrid(x,x,x)

于是我们创建这个平面点集:

[

3.按元素乘法:.*(区别于矩阵乘法*)

基本语法:a.*b(同样适用于.^与^、./与/)

  • a.b%若a,b为同型向量,则返回一个由把a,b相应元素相乘后按原位置排列组成的同型向量;若a,b为同型数组,则按元素相乘返回一个同型数组;若a为行向量1×m、b为列向量n×1,那么a.*b就返回一个n×m矩阵,它的第i列是列向量b数乘以a的第i个元素的结果(2016版本好像不支持矩阵维数不相同的时候的这种运算,尽量少用)。
  • 说明:A*B就是我们在线性代数中常用的矩阵乘法了,A*B要有意义必须A的列数等于B的行数。

我们写出参数方程表达式:

r

4.曲面图形绘制:surf

基本语法:surf(x,y,z)

  • surf(x,y,z)%它表示创建一个三维曲面图,就是常见的二元函数
    的曲面图,此外函数还对颜色数据使用了Z,因此颜色和高度成比例。我们也可以在z后添加一个矩阵参数c来控制颜色:surf(x,y,z,c);至于怎样去控制颜色,自己去doc吧,反正需要的时候再复制粘贴就好了,记也没啥用。
  • 一些其他特殊设置
    • 1.修改曲面图的外观:surf(x,y,z,name,value)%使用一个或多个名称-值对组参数指定曲面属性,例如
s=surf(x,y,z,‘Facealpha’,0.5);

就是用来创建半透明曲面的它称为一个曲面对象,将它赋值给一个变量比如s之后就 可以修改它的属性。例如设置Edgecolor属性以关闭边缘显示

s.Edgecolor='none';

接下来我们就可以轻易而自信地绘制普通的图形了:

surf

84280c756520e67c64f96667c74baa33.png
侧面的莫比乌斯环

但是我们对这个图抱有疑惑,它并不是我们常见的莫比乌斯环的样子啊!其实它确实是莫比乌斯环,只是观测的位置比较的”偏僻“别着急,我们再需要加上两行代码调整一下:

view

a053d336dbb233d39034e32f2538127a.png

看!我们得到了莫比乌斯环,那么view和axis equal是什么呢?

5.照相机视线:view

简单语法:view(az,el)、view(dim)

  • view(az,el)%view的作用是改变观测图形的角度,az是方位角(azimuth),而el是仰角(elevation),均以度数为单位。规定当视线垂直于x0z轴时az=0,视线绕图形逆时针旋转为正。而el是视线与xy平面形成角的关系,规定眼睛在xy轴上面时el大于零,否则小于等于零。系统默认az=-37.5°,el=30°。说明:如果内部为三维数组,那么就是观测位置,不再是az和el。
  • view(dim)%在dim维数中显示图形

6.设置坐标轴范围和横纵比:axis

简单语法:axis style、axis(limit)、

  • axis style%使用预定义样式,以下列举一些常用的:
    • axis equal%每个坐标轴都使用相等的数据单位长度,系统默认并不是使用相同的数据单位长度,视觉效果是做了拉伸的。
    • axis off%绘制曲面而不显示坐标轴和背景,假如只需要图形,我们可以把乱七八糟的背景off掉,在此之前我们可以先使用equal把拉伸的图形恢复原状。
    • axis tight%把坐标轴范围设置为等同于数据范围,这样绘图可以扩展到坐标区边缘
  • axis(limit)%可以改变原先坐标轴的范围为axis内的指定范围。改变x、y改变范围示例:
axis([0 2*pi -2 2])

现在图就这样作好啦。以下是完整简单的代码

u

6cf4cb6126e85418c958d2d79c204b94.png
Möbius strip/Mobius Band

对于简单的matlab绘图步骤大致就分为:准备数据

方程的赋值
绘图。

就酱。逐渐习惯利用官方文档学习,它超棒的。

参考

  1. ^cite from documentation of Matlab https://ww2.mathworks.cn/help/matlab/index.html?lang=en
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值