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

news2025/1/20 1:59:24

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.coloradmin.cn/o/2243306.html

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

相关文章

resnet50,clip,Faiss+Flask简易图文搜索服务

一、实现 文件夹目录结构&#xff1a; templates -----upload.html faiss_app.py 前端代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widt…

Flink监控checkpoint

Flink的web界面提供了一个选项卡来监控作业的检查点。这些统计信息在任务终止后也可用。有四个选项卡可以显示关于检查点的信息:概述(Overview)、历史(History)、摘要(Summary)和配置(Configuration)。下面依次来看这几个选项。 Overview Tab Overview选项卡列出了以…

如何用Excel批量提取文件夹内所有文件名?两种简单方法推荐

在日常办公中&#xff0c;我们有时需要将文件夹中的所有文件名整理在Excel表格中&#xff0c;方便管理和查阅。手动复制文件名既费时又易出错&#xff0c;因此本文将介绍两种利用Excel自动提取文件夹中所有文件名的方法&#xff0c;帮助你快速整理文件信息。 方法一&#xff1…

微信小程序-prettier 格式化

一.安装prettier插件 二.配置开发者工具的设置 配置如下代码在setting.json里&#xff1a; "editor.formatOnSave": true,"editor.defaultFormatter": "esbenp.prettier-vscode","prettier.documentSelectors": ["**/*.wxml"…

Debezium日常分享系列之:Debezium3版本Debezium connector for JDBC

Debezium日常分享系列之&#xff1a;Debezium3版本Debezium connector for JDBC 概述JDBC连接器的工作原理消费复杂的Debezium变更事件至少一次的传递多个任务数据和列类型映射主键处理删除模式幂等写入模式演化引用和大小写敏感性连接空闲超时数据类型映射部署Debezium JDBC连…

前端页面自适应等比例缩放 Flexible+rem方案

在移动互联网时代&#xff0c;随着智能手机和平板电脑的普及&#xff0c;前端开发者面临的一个重要挑战是如何让网页在不同尺寸和分辨率的设备上都能良好地显示。为了应对这一挑战&#xff0c;阿里巴巴的前端团队开发了 flexible.js&#xff0c;旨在提供一种简单有效的解决方案…

Argo workflow 拉取git 并使用pvc共享文件

文章目录 拉取 Git 仓库并读取文件使用 Kubernetes Persistent Volumes&#xff08;通过 volumeClaimTemplates&#xff09;以及任务之间如何共享数据 拉取 Git 仓库并读取文件 在 Argo Workflows 中&#xff0c;如果你想要一个任务拉取 Git 仓库中的文件&#xff0c;另一个任…

AWTK VSCode 实时预览插件端口冲突的解决办法

AWTK XML UI 预览插件&#xff1a;在 vscode 中实时预览 AWTK XML UI 文件&#xff0c;在 Copilot 的帮助下&#xff0c;可以大幅提高界面的开发效率。 主要特色&#xff1a; 真实的 UI 效果。可以设置主题&#xff0c;方便查看在不同主题下界面的效果。可以设置语言&#xf…

x-cmd pkg | helix - 用 Rust 打造的文本编辑器,内置 LSP 和语法高亮,兼容 Vim 用户习惯

目录 简介快速上手安装使用 功能特点竞品和相关项目进一步阅读 简介 helix 是用 Rust 开发的文本编辑器&#xff0c;以 Modal editing&#xff08;模态编辑&#xff09;为核心特性&#xff0c;类似于 Vim。它结合了经典的 Vim 模式编辑和现代开发工具的特性&#xff08;如 LSP…

资源管理功能拆解——如何高效配置和管理项目资源?

在任何一个项目中&#xff0c;资源的合理配置和高效管理是决定项目成败的关键因素。无论是人力、物资还是时间&#xff0c;每一个资源的使用都直接关系到项目的执行效果和企业的成本控制。因此&#xff0c;如何在项目管理中实现资源的高效配置和监控&#xff0c;成为了企业管理…

SpringCloud OpenFeign负载均衡远程调用 跨服务调用 连接池优化

介绍 Spring Cloud OpenFeign 是 Spring Cloud 的一部分&#xff0c;提供了一种声明式的 HTTP 客户端方式来简化服务间的通信。通过 OpenFeign&#xff0c;开发者可以像调用本地方法一样&#xff0c;轻松地调用远程服务&#xff0c;而不需要手动处理 HTTP 请求、响应和连接等底…

Android Studio开发学习(五)———LinearLayout(线性布局)

一、布局 认识了解一下Android中的布局&#xff0c;分别是: LinearLayout(线性布局)&#xff0c;RelativeLayout(相对布局)&#xff0c;TableLayout(表格布局)&#xff0c; FrameLayout(帧布局)&#xff0c;AbsoluteLayout(绝对布局)&#xff0c;GridLayout(网格布局) 等。 二、…

Android WMS概览

WMS&#xff08;WindowManagerService&#xff09;是 Android 系统的核心服务&#xff0c;负责管理应用和系统的窗口&#xff0c;包括窗口的创建、销毁、布局、层级管理、输入事件分发以及动画显示等。它通过协调 InputManager 和 SurfaceFlinger 实现触摸事件处理和窗口渲染&a…

C++ 【string】使用及函数

详解 C std::string 是 C 标准库中的一个类&#xff0c;它用于处理字符串数据。它是容器适配器&#xff08;container adapter&#xff09;&#xff0c;基于 basic_stringbuf 和 basic_ostream 类&#xff0c;提供了高效、安全的字符串操作。 以下是 std::string 的一些关键特…

基于的图的异常检测算法OddBall

OddBall异常检测算法出自2010年的论文《OddBall: Spotting Anomalies in Weighted Graphs》&#xff0c;它是一个在加权图(weighted graph)上检测异常点的算法&#xff0c;基本思路为计算每一个点的一度邻域特征&#xff0c;然后在整个图上用这些特征拟合出一个函数&#xff0c…

最新版xAI LLM 模型Grok-2 上线

xAI&#xff01;Grok-2 最新版开启公测&#xff01;”。这是我注册成功的截图&#xff0c;使用国内的邮箱就可以注册使用了&#xff01; Grok API公测与免费体验: Grok API开启公测&#xff0c;提供免费体验128k上下文支持&#xff0c;。Grok-Beta与马斯克: 马斯克庆祝特朗普当…

华为云stack网络服务流量走向

1.同VPC同子网同主机内ECS间互访流量走向 一句话通过主机内部br-int通信 2.同VPC同子网跨主机ECS间互访流量走向 3.同VPC不同子网同主机ECS间互访流量走向 去往本机的mac地址都记录在br-tun流表里 4.同VPC不同子网跨主机ECS间互访流量走向 5.对等连接流量走向&#xff08;跨V…

Vue Canvas实现区域拉框选择

canvas.vue组件 <template><div class"all" ref"divideBox"><!-- 显示图片&#xff0c;如果 imgUrl 存在则显示 --><img id"img" v-if"imgUrl" :src"imgUrl" oncontextmenu"return false" …

实例教程:BBDB为AHRS算法开发提供完善的支撑环境(上)

1. 概述 本教程将结合程序代码及CSS控制站工程&#xff0c;讲述如何基于PH47代码框架的BBDB固件版本&#xff0c;为开发自己的AHRS姿态解算算法提供完善支撑环境&#xff0c;以及数据分析手段。 BBDB固件已内置了一套姿态解算算法。对于需要进行AHRS算法开发研究的开发者&…

Linux操作系统 ----- (5.系统管理)

目录 1.总结 2.本章学习目标 3.图形界面管理 3.1.X-Window图形界面概述 3.2.X-Window的结构 3.3.X-Window的特点 3.4.UKUI图形环境 3.5.桌面 3.5.1.桌面图标 3.5.2.计算机属性 3.5.3.桌面快捷菜单 3.6.任务栏 3.6.1.开始菜单 3.6.2.显示任务视图 3.6.3.文件管理器…