学习打卡8.2-8.3

Matlab绘制三维图形

网格图

示例

在这里插入图片描述
在这里插入图片描述

函数

mesh(X,Y,Z)

X是n维向量,Y是m维向量,Z是m*n维的矩阵

线框网格线的交点的坐标为 (X(j), Y(i), Z(i,j))
在这里插入图片描述
在这里插入图片描述

X、Y和Z都是m*n维的矩阵

线框网格线的交点的坐标为**(X(i,j), Y(i,j), Z(i,j))**
在这里插入图片描述
在这里插入图片描述

mesh(Z)

Z是m*n维的矩阵
在这里插入图片描述
等价于
X = 1:3
Y = 1:2
Z = [4,8,10;5,9,13]
在这里插入图片描述

meshc

在xy平面上绘制曲面的等高线
在这里插入图片描述

meshz

在xy平面上绘制曲面的底座
在这里插入图片描述

补充

三维旋转和数据游标的使用,以及X-Y视图的切换(在三维旋转状态下点击鼠标右键
在这里插入图片描述
数据游标默认只能添加一个,按住Alt键不动,可以添加多个数据游标

在这里插入图片描述
看到背部的图像
hidden off
在这里插入图片描述

设置透明度
alpha(a)
0<a<1,其中a越接近1,就越透明
在这里插入图片描述

例题

绘制 z = x^2 - y^2的图像 ,其中x和y都位于[0,5]之间

linspace(x1,x2,N)
linspace是Matlab中的一个函数,用于产生给定范围内指定数量的点数,相邻数据跨度相同,并返回一个行向量
功能:用于产生x1,x2之间的N点行向量,相邻数据跨度相同。其中x1、x2、N分别为起始值、终止值、元素个数

冻结屏幕高宽比,使得一个三维对象的旋转不会改变坐标轴的刻度显示
axis vis3d
在这里插入图片描述
在这里插入图片描述

绘制 z = sin(sqrt(x2+y2))/sqrt(x2+y2) 的图形,其中x和y都位于[-5,5]之间

如果不对tem处理,那么z的最中间的一个值 0/0 = NaN
所以在后面加上一个非常非常小的数字: 1e-12 = 10^(-12) ,当然你也可以单独找到值为0的地方对其修改
在这里插入图片描述
在这里插入图片描述

曲面图

和网格图的对比

subplot(m,n,index)
把几张图放在一起进行对比
在这里插入图片描述
在这里插入图片描述

特殊函数

surfc

在xy平面上绘制曲面的等高线
在这里插入图片描述

surfl

加上了灯光效果,看起来自然点
在这里插入图片描述

设置色彩模式

shading 是用来处理色彩效果的,分以下三种:
1.shading faceted是默认的模式
2.shading flat 在faceted的基础上去掉图上的网格线
3.shading interp 在flat的基础上进行色彩的插值处理,使色彩平滑过渡
在这里插入图片描述
在这里插入图片描述

等高线图

示例

在这里插入图片描述

函数

contour(x,y,z)

在x-y平面绘制等高线图,Matlab会自动选择等高线的层级
在这里插入图片描述

contour(x,y,z,n)

n是一个标量,那么Matlab会将等高线的层数设置为n,且会自动选择层所在的高度
在这里插入图片描述
在这里插入图片描述

contour(x,y,z,levels)

若想得到固定的n个高度的等高线,将levels可以设置为n元行向量,其中向量中的值为高度值
在这里插入图片描述

在这里插入图片描述

contourf

画出来的等高线图有颜色填充
在这里插入图片描述

contour3

3维等高线图,等高线不再投影到x-y平面
在这里插入图片描述

符号函数的三维图形绘制

plot3

类似于plot函数,实际上可以认为画的是三维空间下的折线图
在这里插入图片描述
在这里插入图片描述

fplot3函数

在这里插入图片描述
在这里插入图片描述

fmesh 三维网格图

默认x的变化范围和y的变化范围都是[-5 5]
fmesh(z,[-2 2 -4 4],‘MeshDensity’,11)
设置每个方向计算的点数
在这里插入图片描述
在这里插入图片描述

fsurf 三维曲面图

在这里插入图片描述

fcontour 绘制等高线

在这里插入图片描述

绘制隐函数

fimplicit3(f)

函数句柄

f = @(x,y,z) x.^2 + y.^2 - z.^2;

完整形式

fimplicit3(f,interval,‘EdgeColor’, ‘none’, ‘FaceAlpha’,0.5)

结果

在这里插入图片描述

Matlab的符号计算

创建

简单符号变量的创建

syms x
syms a b c

符号方程的创建

syms a x
y = a*x+x^2

或者
y = str2sym(‘a*x+x^2’)

符号矩阵

syms alpha
M = [cos(alpha) -sin(alpha);
sin(alpha) cos(alpha)]

简单运算

在这里插入图片描述

符号表达式的整理

化简

在这里插入图片描述

因式分解

在这里插入图片描述

多项式展开

在这里插入图片描述

合并

在这里插入图片描述

计算分子与分母

在这里插入图片描述

在这里插入图片描述

让结果显示的更加自然

在这里插入图片描述
mupad

求导与差分

一元函数求导

diff(y,n)
其中y是函数
n表示求n次导数
示例:

*y = cos(x)tan(x)
dy = diff(y,10) %求十阶导数
simplify(dy)

ans =

-sin(x)

多元函数求导

在这里插入图片描述

差分

如果diff函数作用的对象不是符号函数,而是矩阵,那么对应的功能是求差分
在这里插入图片描述

积分

不定积分

函数int(y,x)
示例:
syms x
y = x^2
int(y,x)

ans =

x^3/3

注意:结果不会加绝对值

定积分

int(y,x,a,b)
表示在区间ab上积分

注意,不是所有的函数都可以利用int函数计算出最后的结果

数值积分

integral(y,a,b)
注意要用函数句柄的形式

求解方程或者方程组

不同的MATLAB版本之间的语法存在不兼容的情况

solve函数

例1 求解单变量方程

在这里插入图片描述
在这里插入图片描述

例2 多变量方程求解

在这里插入图片描述

例3 方程组求解

在这里插入图片描述
注意:有的时候会警告
在这里插入图片描述

绘制图像

在这里插入图片描述
在这里插入图片描述

vpasolve函数

vpasolve(eqn, x, [0 2])
在区间内求解
求解能力比solve强

vpasolve(eqn, x, -5)
给定一个初始点
在这里插入图片描述

fsolve函数

fsolve是Matlab优化工具箱中的一个函数,可专门用来求解特别复杂的方程和方程组
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值