matlab画三维图像(plot3,mesh,surf)

2023-05-16

二维函数的图像必须用三维坐标系画,很多函数的图像长得很好看,很有意思。会可视化也会有利于我们理解更深刻。

(1)plot3,三维曲线图

在网上看到这图觉得挺好看:

t=0:pi/360:2*pi;
x=sin(t);
y=cos(t);
z=2*x.^2+y.^2;
figure
plot3(x,y,z,'Color','r','LineWidth',2);
xlabel('x');
ylabel('y');
zlabel('z');
title('z=(cos t)^2+2*(sin t)^2');
axis([-1.2 1.2 -1.2 1.2 1 2.2]);

在这里插入图片描述

(2)mesh,网面图

clear all,clc;
t=-0.5:.01:0.5;
[x,y]=meshgrid(t);%形成格点矩阵
z=sin(4*pi*x)+cos(6*pi*y);
figure(1)
mesh(x,y,z);
axis([-0.5 0.5 -0.5 0.5 -2 2]);
title('z=sin(4*pi*x)+cos(6*pi*y); mesh')
colormap cool%cool是一种配色方案,还有其他方案如winter,summer····见help colormap
colorbar

在这里插入图片描述

画个二元函数,观察采样后频谱的混叠现象

在这里插入图片描述

二元函数图像的绘制还是把变量分为多个离散点绘制,只是增大点数。

clear all,clc;
t=-1:.01:1;
[x,y]=meshgrid(t);%形成格点矩阵
f=cos(2*pi*(2*x-y));
figure(1)
mesh(x,y,f);grid on
xlabel('x');
ylabel('y');
zlabel('f');
axis([-0.5 0.5 -1 1 -1.5 1.5]);
title('f=cos[2*pi(2x-y)]; mesh')
colormap winter
colorbar

在这里插入图片描述
先手动计算一下它的二位傅里叶变换:
不想打公式(逃)

在这里插入图片描述


F= fft2(f);%做二维DFT变换,把连续函数取样得到一个矩阵,把这个矩阵当图像一样处理
figure(2)
subplot(121),imshow(abs(F),[]);title('函数f=cos(2*pi(2x-y))二维频谱')
F=fftshift(F);%使用matlab的fftshift函数把低频分量移到频谱中心
subplot(122),imshow(abs(F),[]);title('中心化频谱')

在这里插入图片描述

t=-1.1:.333:1.1;%以频率3采样(题目要求)
[x,y]=meshgrid(t);%形成格点矩阵
f=cos(2*pi*(2*x-y));
figure(1)
mesh(x,y,f);grid on
xlabel('x');
ylabel('y');
zlabel('f');
axis([-1 1 -1 1 -1.5 1.5]);
title('采样后的f=cos[2*pi(2x-y)]; mesh')
colormap winter
colorbar

F= fft2(f);%做二维DFT变换,把连续函数取样得到一个矩阵,把这个矩阵当图像一样处理
figure(2)
subplot(121),imshow(abs(F),[]);title('函数f=cos(2*pi(2x-y))采样后的二维频谱')
F=fftshift(F);%使用matlab的fftshift函数把低频分量移到频谱中心
subplot(122),imshow(abs(F),[]);title('中心化频谱')

采样后信号:
在这里插入图片描述
采样后信号频谱:
函数的x方向频率是2,y方向频率是1,所以一定会有混叠失真
可以看出频谱的能量中心的相对位置都不对,这就是混叠失真引起的

在这里插入图片描述

t=-1.1:.17:1.1;%以更高频率采样
[x,y]=meshgrid(t);%形成格点矩阵
f=cos(2*pi*(2*x-y));
figure(1)
mesh(x,y,f);grid on
xlabel('x');
ylabel('y');
zlabel('f');
axis([-1 1 -1 1 -1.5 1.5]);
title('采样后的f=cos[2*pi(2x-y)]; mesh')
colormap winter
colorbar

F= fft2(f);%做二维DFT变换,把连续函数取样得到一个矩阵,把这个矩阵当图像一样处理
figure(2)
subplot(121),imshow(abs(F),[]);title('函数f=cos(2*pi(2x-y))采样后的二维频谱')
F=fftshift(F);%使用matlab的fftshift函数把低频分量移到频谱中心
subplot(122),imshow(abs(F),[]);title('中心化频谱')

以更大的采样频率采样,避免不满足奈奎斯特定理产生混叠:
可见得到的频谱和连续函数的频谱更相似。采样频率越大,得到的频谱和连续函数的频谱越相似
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

matlab画三维图像(plot3,mesh,surf) 的相关文章

  • 2022年度总结

    年度总结 参加工作的第一年很快就过去了 xff0c 从四月份离校到公司 xff0c 直到农历腊月27回家 xff0c 工作了9个月的时间 xff0c 总的来说工作和学习的差别还是很大的 xff0c 从学生到社畜的转换还是花了一段时间的 接下
  • HTTP基本认证

    在HTTP中 xff0c 基本认证 xff08 英语 xff1a Basic access authentication xff09 是允许http用户代理 xff08 如 xff1a 网页浏览器 xff09 在请求时 xff0c 提供 用
  • c# 设置代理服务器发送http请求

    span class token keyword using span span class token namespace System span span class token punctuation span span class
  • Blaze:高性能C++数学库

    Blaze xff1a 高性能C 43 43 数学库 本文译自 xff1a Blaze A high performance C 43 43 math library Blaze是一个用于密集和稀疏算法的开源 高性能 C 43 43 数学库
  • c/c++编译:使用CMAKE进行跨平台开发

    前言 本文介绍跨平台cmake的编写 xff0c 主要是linux和windows用cmake对项目的编译 这是一个通用模板 xff0c 能够应用到更加复杂的项目中 xff0c 项目例子用https blog csdn net qq 364
  • 对于应用层HTTP协议的学习

    lt start gt 在TCP IP协议栈中 xff0c HTTP协议处于应用层 xff0c 它在最顶层进行数据报转发给应用进程 xff0c 它是最靠近用户的那一层 它的默认端口号为80 HTTP协议是基于请求响应的协议 xff0c 那么
  • 编程开发环境搭建

    全部目录 下载 amp 安装官方下载Vs2019其它历史 版本下载 开始使用安装C 43 43 的工作负载 xff08 环境 xff09 打开vs后有这些模板创建出一个控制台应用程序更多参考文档 使用手册c 43 43 参考手册Visual
  • c++创建第一个控制台程序

    目录 创建控制台应用程序打印出Hello World 空项目创建vs自带打印的创建桌面向导 自定义创建 了解代码 抛转引玉减少为什么 什么是 include 它是预处理指令什么是iostream 它是c 43 43 标准库头件 编写前的了解
  • python3-操作SQLite、创建表、添加数据、查询数据

    SQLlte数据类型 SQLite能保存什么样的数据类型 可以保存空值 整数 浮点数 字符串和blob 什么是blob xff1f xff1f 是二进制大对象 例如图片 音乐 zip文件 什么是游标 游标是在数据库中用来移动和执行查询的对象
  • 初学者都能看懂的95%置信区间

    项目github地址 xff1a bitcarmanlee easy algorithm interview and practice 经常有同学私信或留言询问相关问题 xff0c V号bitcarmanlee github上star的同学
  • c# WindowForm练习项目主窗体设计

    窗体分割器 SpliContainer分割器 在项目主窗体分割成左右俩部分 设置边框线属性 MonthCalendar月历控件 添加程序所需要的按钮 退出 修改密码 添加会员 按钮 固定好左边的容器 组件 ImageList 按钮太多添加图
  • C#-WinForm班级下拉框数据绑定

    前台展示 后台方法 span class hljs keyword using span System span class hljs keyword using span System Collections Generic span c
  • C#--WinForm项目主窗体设计

    主窗体基本设置 大小 颜色 去边框 出现的位置 Panel控件 背景图 颜色 布局 xff1a Label标签 文本 字体 背景颜色 布局 按钮 布局 文本 字体颜色 背景色 底部panel 绑定控件边框 颜色 用label标签导入图标 S
  • C# -- 实现WinForm程序的密码修改

    修改窗体程序密码的示例 实现分析 前台弹出修改窗体 编写后台方法 xff0c 调用通用数据访问类Update方法 数据验证 xff0c 判断原密码是否与旧密码符合 xff0c 俩次输入的新密码是否一致 更新程序全局变量 前台弹出修改窗体 编
  • C#--WinForm--表格数据控件DataGridView--绑定模式

    官方文档 DataGridView控件提供了一种强大而灵活的以表格形式显示数据的方式 用户可以使用DataGridView控件来显示少量数据的只读视图 xff0c 也可以对其进行缩放以显示特大数据集的可编辑视图 扩展DataGridView
  • ASP.NET--网站配置、发布与部署

    网站发布前的配置信息 配置文件下载 网站发布的基本步骤 写好的项目 在本机上发布 打开目录查看 xff1a 部署网站 安装IIs 打开控制面板 程序和功能 启用或关闭Windows功能 安装后 返回控制面板 管理工具 双击打开 xff1a
  • c/c++ hash表 (哈希表、字典表)

    表 1 表 存储数据 key gt value 2 表存储数据结构的困难 怎么查找 一个一个key去比较去查找 xff1f 61 61 效率不高 3 Hash算法加快查找 将字符串的key 转成整数 使用整数找到对应的value Hash算
  • c/c++ UDP通讯

    UDP通讯 1 无连接的 不需要反复的确认和握手等待 根本不关心对方是否存在 2 不可靠 可能有丢包 和先发后到 3 UDP通讯快速 占用系统资源少 4 UDP提供作为传输层协议的最基本功能 将其他的交给用户自己来管理 UDP服务端 1 创
  • c#程序流程控制与调试技术

    If选择结构 为什么要使用关系运算符 简单If 选择结构1 逻辑运算符
  • 特征融合之基于贝叶斯理论的特征融合算法

    参考文献 xff1a 1 刘渭滨 邹智元 邢薇薇 模式分类中的特征融合方法 J 北京邮电大学学报 2017 04 5 12 2 Ma A J Yuen P C Lai J H Linear Dependency Modeling for C

随机推荐