2024-11-17 -MATLAB三维绘图简单实例

1.

x = -1:0.05:1;
y = x;
[X, Y] = meshgrid(x, y);
f = @(X, Y) (sin(pi * X) .* sin(pi * Y)) .^ 2.*sin(2.*X+2.*Y);
mesh(X, Y, f(X, Y)); % 调用函数f并传递X和Y
xlabel('X-axis');
ylabel('Y-axis');
zlabel('Z-axis');
title('Surface Plot of (sin(pi * X) .* sin(pi * Y)) .^ 2.*sin(2.*X+2.*Y');

2.

x = -1:0.05:1;
y = x;
[X, Y] = meshgrid(x, y);
f = @(X, Y) (sin(pi * X) .* sin(pi * Y)) .^ 2;
mesh(X, Y, f(X, Y)); % 调用函数f并传递X和Y
xlabel('X-axis');
ylabel('Y-axis');
zlabel('Z-axis');
title('Surface Plot of (sin(pi*X) * sin(pi*Y))^2');

 

3. 

 f = @(x,y,z)x.*y.*( x.^2 + y.^2 -1).^2-z;
fimplicit3(f,[-1 1 -1 1 -0.1 0.1]);

4.

f = @(x, y, z) x .* y .* (x.^2 + y.^2 - 1).^2 - z;
fimplicit3(f, [-1 1 -1 1 -1 1], 'MeshDensity', 50); % 增加MeshDensity以提高网格密度
axis equal; % 保持坐标轴比例一致
xlabel('X-axis');
ylabel('Y-axis');
zlabel('Z-axis');
title('Implicit Surface Plot within the Unit Circle');

 

5.

% 创建一个球体
[X, Y, Z] = sphere;% 绘制球体
h = surf(X, Y, Z);% 添加光照
camlight; % 添加一个光源
lighting gouraud; % 设置光照模型为Gouraud,使颜色更平滑% 添加轴标签和标题
xlabel('X-axis');
ylabel('Y-axis');
zlabel('Z-axis');
title('3D Sphere with Lighting');

6.

% 定义极坐标下的网格
[theta, phi] = meshgrid(linspace(0, 2*pi, 100), linspace(0, pi, 100));
rho = 1; % 球体的半径% 将极坐标转换为笛卡尔坐标
x = rho * cos(theta) .* sin(phi);
y = rho * sin(theta) .* sin(phi);
z = rho * cos(phi);% 绘制球体
surf(x, y, z);% 添加轴标签和标题
xlabel('X-axis');
ylabel('Y-axis');
zlabel('Z-axis');
title('3D Sphere in Spherical Coordinates');
axis equal; % 保持坐标轴比例一致

7.

% 定义x和y的范围
x = linspace(-1, 1, 100);
y = linspace(-1, 1, 100);% 生成x和y的网格
[X, Y] = meshgrid(x, y);% 计算Z值,这里是一个示例函数,您可以根据需要替换为其他函数
Z = X .* exp(-X.^2 - Y.^2) .* sin(3*sqrt(X.^2 + Y.^2));% 创建曲面图
mesh(X, Y, Z);% 添加轴标签和标题
xlabel('x');
ylabel('y');
zlabel('u(x,y)');
title('3D Surface Plot');% 设置视角
view(3);

 

8.x和y限制在圆x.^2 + y.^2 - 1内,圆外的f不画,

函数 f,使其在 x2+y2>1x2+y2>1 时结果为0,这样在单位圆外就不会绘制任何图形。这是通过乘以一个逻辑表达式 (x.^2 + y.^2 <= 1) 来实现的,当 xx 和 yy 在单位圆内时,该表达式为1,否则为0。

f = @(x,y,z) (x .* y .* (x.^2 + y.^2 - 1).^2 - z ).* (x.^2 + y.^2 <= 1);% 定义x和y的范围
interval = [-1 1 -1 1 -0.1 0.1];% 绘制隐函数
fimplicit3(f, interval);% 添加标题
title('Implicit Surface Plot within the Unit Circle');

 

9.它将生成一个3D曲面图,展示函数 f(x,y)=x⋅y⋅(x2+y2−1)2f(x,y)=x⋅y⋅(x2+y2−1)2 的图形,但仅当 xx 和 yy 在单位圆 x2+y2=1x2+y2=1 内时。

% 定义x和y的范围
x = linspace(-1, 1, 100);
y = linspace(-1, 1, 100);% 生成x和y的网格
[X, Y] = meshgrid(x, y);% 计算Z值,这里是一个示例函数,您可以根据需要替换为其他函数
Z = X .* Y .* (X.^2 + Y.^2 - 1).^2;% 确定圆内的点
insideCircle = X.^2 + Y.^2 <= 1;% 将圆外的Z值设置为NaN,这样surf就不会绘制这些点
Z(~insideCircle) = NaN;% 创建曲面图
surf(X, Y, Z, 'EdgeColor', 'none');% 添加轴标签和标题
xlabel('x');
ylabel('y');
zlabel('u(x,y)');
title('3D Surface Plot within the Unit Circle');% 设置视角
view(3);

我们首先计算整个网格的 Z 值,然后使用逻辑索引 insideCircle 来选择圆内的点。接着,我们将圆外的 Z 值设置为 NaN,这样 surf 函数就不会绘制这些点。最后,我们使用 surf 函数来绘制这些点, 

 

10.

x = linspace(-1, 1, 100);
y = linspace(-1, 1, 100);% 生成x和y的网格
[X, Y] = meshgrid(x, y);% 计算Z值,这里是一个示例函数,您可以根据需要替换为其他函数
Z = X .* Y .* (X.^2 + Y.^2 - 1).^2;% 确定圆内的点
insideCircle = X.^2 + Y.^2 <= 1;% 将圆外的Z值设置为NaN,这样surf就不会绘制这些点
Z(~insideCircle) = NaN;% 创建曲面图
mesh(X, Y, Z);

 

11. 它将生成一个3D曲面图,展示函数 Z=X^3*Y^3*(X4+Y4−1)3(X4+Y4−1/16)3Z=X3Y3(X4+Y4−1)^3*(X4+Y4−1/16​)^3 的图形,但仅当 XX 和 YY 满足 X4+Y4≤1/16,X4+Y4≤1/16​ 时。

% 定义x和y的范围,确保满足X^4 + Y^4 <= 1/16
x = linspace(-1/2, 1/2, 100);
y = linspace(-1/2, 1/2, 100);% 生成x和y的网格
[X, Y] = meshgrid(x, y);% 计算Z值
Z = X.^3 .* Y.^3 .* (X.^4 + Y.^4 - 1).^3 .* (X.^4 + Y.^4 - 1/16).^3;% 确定满足条件的点
condition = (X.^4 + Y.^4 <= 1/16) & (X.^4 + Y.^4 <= 1);% 将不满足条件的Z值设置为NaN,这样surf就不会绘制这些点
Z(~condition) = NaN;% 创建曲面图
mesh(X, Y, Z);% 添加轴标签和标题
xlabel('x');
ylabel('y');
zlabel('Z');
title('3D Surface Plot within the Specified Conditions');% 设置视角
view(3);

我们首先定义了 XX 和 YY 的取值范围为 [−1/2,1/2][−1/2,1/2],这是因为当 XX 和 YY 的绝对值大于 1/21/2 时,X4+Y4X4+Y4 将大于 1/161/16。然后,我们计算了整个网格的 ZZ 值,并使用逻辑索引 condition 来选择满足条件的点。接着,我们将不满足条件的 ZZ 值设置为 NaN,这样 surf 函数就不会绘制这些点。最后,我们使用 surf 函数来绘制这些点,并设置了视角。

12.

x = linspace(-1, 1, 100);
y = linspace(-1, 1, 100);% 生成x和y的网格
[X, Y] = meshgrid(x, y);% 计算Z值,这里是一个示例函数,您可以根据需要替换为其他函数
Z = (X.^2 + Y.^2 - 1).*sin((X.^2+Y.^2).*pi);% 确定圆内的点
insideCircle = X.^2 + Y.^2 <= 1;% 将圆外的Z值设置为NaN,这样surf就不会绘制这些点
Z(~insideCircle) = NaN;% 创建曲面图
mesh(X, Y, Z);

13.

x = linspace(-1, 1, 100);
y = linspace(-1, 1, 100);% 生成x和y的网格
[X, Y] = meshgrid(x, y);% 计算Z值,这里是一个示例函数,您可以根据需要替换为其他函数
Z = -(X.^2 + Y.^2 - 1).*exp(X+Y);% 确定圆内的点
insideCircle = X.^2 + Y.^2 <= 1;% 将圆外的Z值设置为NaN,这样surf就不会绘制这些点
Z(~insideCircle) = NaN;% 创建曲面图
mesh(X, Y, Z);

注,上述mesh都可用surf替代,只是个人比较喜好mesh颜色。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/61055.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络层9——虚拟专用网VPN和网络地址转换NAT

目录 一、为什么有虚拟专用网&#xff1f; 二、如何理解“虚拟专用网”&#xff1f; 三、IP隧道技术实现虚拟专用网 四、网络地址变换 一、为什么有虚拟专用网&#xff1f; 第一&#xff0c;IPv4只有32位&#xff0c;最多有40亿个全球唯一的IP地址数量不够&#xff0c;无法…

小程序如何完成订阅

小程序如何完成订阅 参考相关文档实践问题处理授权弹窗不再触发引导用户重新授权 参考相关文档 微信小程序实现订阅消息推送的实现步骤 发送订阅消息 小程序订阅消息&#xff08;用户通过弹窗订阅&#xff09;开发指南 实践 我们需要先选这一个模板&#xff0c;具体流程参考…

Oracle OCP认证考试考点详解082系列19

题记&#xff1a; 本系列主要讲解Oracle OCP认证考试考点&#xff08;题目&#xff09;&#xff0c;适用于19C/21C,跟着学OCP考试必过。 91. 第91题&#xff1a; 题目 解析及答案&#xff1a; 关于 Oracle 数据库中的索引及其管理&#xff0c;以下哪三个陈述是正确的&#x…

HuggingFace:基于YOLOv8的人脸检测模型

个人操作经验总结 1、YOLO的环境配置 github 不论base环境版本如何&#xff0c;建议在conda的虚拟环境中安装 1.1、创建虚拟环境 conda create -n yolov8-face python3.9conda create &#xff1a;创建conda虚拟环境&#xff0c; -n &#xff1a;给虚拟环境命名的…

2024-11-15 Element-ui的tab切换中table自适应宽度无法立即100%的问题

前言 今天在写一个统计图表的时候&#xff0c;将所有的table表格和echarts图表放到一个页面中&#xff0c;这样会在纵向上出现滚动条&#xff0c;上下滑动对用户体验不好&#xff0c;于是改成tab切换的形式 遇到的问题 正如标题所述&#xff0c;elementui在tab中使用table时&…

【汇编】c++游戏开发

由一起学编程创作的‘C/C项目实战&#xff1a;2D射击游戏开发&#xff08;简易版&#xff09;&#xff0c; 440 行源码分享来啦~’&#xff1a; C/C项目实战&#xff1a;2D射击游戏开发&#xff08;简易版&#xff09;&#xff0c; 440 行源码分享来啦~_射击c-CSDN博客文章浏览…

由播客转向个人定制的音频频道(1)平台搭建

项目的背景 最近开始听喜马拉雅播客的内容&#xff0c;但是发现许多不方便的地方。 休息的时候收听喜马拉雅&#xff0c;但是还需要不断地选择喜马拉雅的内容&#xff0c;比较麻烦&#xff0c;而且黑灯操作反而伤眼睛。 喜马拉雅为代表的播客平台都是VOD 形式的&#xff0…

k-近邻算法(K-Nearest Neighbors, KNN)详解:机器学习中的经典算法

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

pycharm分支提交操作

一、Pycharm拉取Git远程仓库代码 1、点击VCS > Get from Version Control 2、输入git的url&#xff0c;选择自己的项目路径 3、点击Clone&#xff0c;就拉取成功了 默认签出分支为main 选择develop签出即可进行开发工作 二、创建分支&#xff08;非必要可以不使用&#xf…

PySpark——Python与大数据

一、Spark 与 PySpark Apache Spark 是用于大规模数据&#xff08; large-scala data &#xff09;处理的统一&#xff08; unified &#xff09;分析引擎。简单来说&#xff0c; Spark 是一款分布式的计算框架&#xff0c;用于调度成百上千的服务器集群&#xff0c;计算 TB 、…

算法日记 26-27day 贪心算法

接下来的题目有些地方比较相似。需要注意多个条件。 题目&#xff1a;分发糖果 135. 分发糖果 - 力扣&#xff08;LeetCode&#xff09; n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求&#xff0c;给这些孩子分发糖果&#xff1a; 每…

Python绘制雪花

文章目录 系列目录写在前面技术需求完整代码代码分析1. 代码初始化部分分析2. 雪花绘制核心逻辑分析3. 窗口保持部分分析4. 美学与几何特点总结 写在后面 系列目录 序号直达链接爱心系列1Python制作一个无法拒绝的表白界面2Python满屏飘字表白代码3Python无限弹窗满屏表白代码4…

【一键整合包及教程】AI照片数字人工具EchoMimic技术解析

在数字化时代&#xff0c;人工智能&#xff08;AI&#xff09;正以前所未有的速度改变着我们的生活。EchoMimic&#xff0c;作为蚂蚁集团旗下支付宝推出的开源项目&#xff0c;不仅为数字人技术的发展掀开了新的一页&#xff0c;更为娱乐、教育、虚拟现实、在线会议等多个领域带…

STM32中断系统

目录 一、中断的基本概念 二、NVIC 1.NVIC的概念 2、NVIC的组成 3、NVIC的应用 4.NVIC的结构 三、外部中断EXTI 1.外部中断的概念 2.EXTI基本结构 四、EXTI外部中断的配置流程 1.开启APB2中的GPIO口/AFIO时钟 2.GPIO配置成输入模式 3.AFIO选择中断引脚 4.EXTI初始…

解锁远程AI工作流:Flowise搭配cpolar跨地域管理AI项目

文章目录 前言1. Docker安装Flowise2. Ubuntu安装Cpolar3. 配置Flowise公网地址4. 远程访问Flowise5. 固定Cpolar公网地址6. 固定地址访问 前言 如今&#xff0c;工作流自动化与人工智能的结合已成为提升生产力的重要手段。Flowise正是这样一个工具&#xff0c;通过直观的拖拽…

Cyberchef配合Wireshark提取并解析HTTP/TLS流量数据包中的文件

本文将介绍一种手动的轻量级的方式&#xff0c;还原HTTP/TLS协议中传输的文件&#xff0c;为流量数据包中的文件分析提供帮助。 如果捕获的数据包中存在非文本类文件&#xff0c;例如png,jpg等图片文件&#xff0c;或者word&#xff0c;Excel等office文件异或是其他类型的二进…

MATLAB用CNN-LSTM神经网络的语音情感分类深度学习研究

全文链接&#xff1a;https://tecdat.cn/?p38258 在语音处理领域&#xff0c;对语音情感的分类是一个重要的研究方向。本文将介绍如何通过结合二维卷积神经网络&#xff08;2 - D CNN&#xff09;和长短期记忆网络&#xff08;LSTM&#xff09;构建一个用于语音分类任务的网络…

Android笔记(三十七):封装一个RecyclerView Item曝光工具——用于埋点上报

背景 项目中首页列表页需要统计每个item的曝光情况&#xff0c;给产品运营提供数据报表分析用户行为&#xff0c;于是封装了一个通用的列表Item曝光工具&#xff0c;方便曝光埋点上报 源码分析 核心就是监听RecyclerView的滚动&#xff0c;在滚动状态为SCROLL_STATE_IDLE的时…

Minikube 上安装 Argo Workflow

文章目录 步骤 1&#xff1a;启动 Minikube 集群步骤 2&#xff1a;安装Argo Workflow步骤 3&#xff1a;访问UI创建流水线任务参考 前提条件&#xff1a; Minikube&#xff1a;确保你已经安装并启动了 Minikube。 kubectl&#xff1a;确保你已经安装并配置了 kubectl&#xff…

GCP Cloud Storage 的lock retention policy是什么

简介 Google Cloud Storage 的锁定保留策略&#xff08;Lock Retention Policy&#xff09;是一种用于保护存储桶中对象数据的功能。它允许用户设置一个保留期&#xff0c;在此期间对象不能被删除或覆盖。这对于确保数据的长期保留和合规性非常重要&#xff0c;尤其是在需要满…