【matlab】绘图 离散数据--->连续函数

ops/2025/2/2 2:07:06/

matlab绘图练习

  • 离散数据及离散函数
  • 对离散区间进行细划分 达到连续效果
  • 画plot(y)图 与 复数的应用

离散数据及离散函数

例1

matlab">x1=[1 2 4 6 7 8 10 11 12 14 16 17 18 20]
y1=[1 2 4 6 7 8 10 10 8 7 6 4 2 1]
figure(1);
plot(x1,y1,'o','MarkerSize',15);
x2=1:20;
y2=log(x2);
figure(2);
plot(x2,y2,'o','MarkerSize',15);
  • ‘o’ 表示用圆形标记绘制散点图。

  • ‘MarkerSize’, 15 设置了散点的大小,数值 15 表示标记的尺寸较大。

    图形 1:一个对称的散点图,点的位置由 (x1, y1) 定义。

    图形 2:一个自然对数曲线的散点图,点的位置由 (x2, log(x2)) 定义。

例2

matlab">x1=(0:12)*pi/6;
y1=cos(3*x1);
x2=(0:360)*pi/180;
y2=cos(3*x2);
figure(1);subplot(2,2,1);
plot(x1,y1,'o','MarkerSize',3);
xlim([0 2*pi]);subplot(2,2,2);
plot(x1,y1,'o','LineWidth',2);
xlim([0 2*pi]);subplot(2,2,3);
plot(x2,y2,'o','MarkerSize',3);
xlim([0 2*pi]);subplot(2,2,4);
plot(x2,y2,'o','LineWidth',2);
xlim([0 2*pi]);
  • x1=(0:12)*pi/6 :
    生成从 0 到 12 的整数,乘以 π/6,表示等间隔的点。

    • 0:12 生成从 0 到 12 的整数序列:[0, 1, 2, …, 12]。
    • *pi/6 表示将每个点乘以 π/6,因此 x1 的值为: [0, π/6, π/3, π/2, …, 2π]
  • y1=cos(3*x1):

    • 当 x1 = 0, y1 = cos(30) = cos(0) = 1
      当 x1 = π/6, y1 = cos(3
      π/6) = cos(π/2) = 0
      当 x1 = π/3, y1 = cos(3*π/3) = cos(π) = -1
  • x2=(0:360)*pi/180
    生成从 0 到 360 的整数,乘以 π/180,将角度从度数转换为弧度。

  • y2=cos(3*x2)
    表示 x2 的三倍角余弦值。

下面子图四个部分逻辑都是一样的。

  • subplot(2,2,2)
    激活第 2 个子图(右上角)
  • plot(x1,y1,‘o’,‘LineWidth’,2)
    在第 2 个子图中绘制散点图。
    • ‘o’ 表示使用圆形标记绘制散点。
    • ‘LineWidth’, 2 设置点的边框线宽为 2。
  • xlim([0 2*pi])
    设置横坐标范围为 [0, 2π]。

对离散区间进行细划分 达到连续效果

例3

matlab">x=-pi/2 : 0.01 : pi/2;
y=x+sin(x)+exp(x);
plot(x,y,'-ro');
grid on;
title('y的函数图像');
xlabel('x');
ylabel('y');
legend('y=x+sinx+e^{x}');
  • 表示从 − π 2 -\frac{\pi}{2} 2π π 2 \frac{\pi}{2} 2π 之间的点,步长为 0.01。
    通过对离散区间进行细化分,从而达到连续效果。

  • plot(x, y, ‘-ro’)
    参数解释:

    • ‘-’ 表示使用实线绘制曲线。
    • ‘r’ 表示曲线颜色为红色(red)。
    • ‘o’ 表示在曲线的每个数据点上添加圆形标记。
  • legend 函数为图像添加图例。
    参数 ‘y=x+sinx+e^{x}’ 指定图例的内容。

画plot(y)图 与 复数的应用

例4

matlab">x=-10:10;
y=x.^2;
figure(1);
subplot(1,3,1);
plot(x,y,'LineWidth',2);
subplot(1,3,2);
plot(y,'LineWidth',2);
xlim([1 length(y)]);
z=cos(-pi:pi/10:pi)+sqrt(-1)*sin(-pi:pi/10:pi);
subplot(1,3,3);
plot(z,'LineWidth',2);
  • y=x.^2
    x.^2 表示对 x 中的每个元素进行逐元素平方运算。

  • figure(1)
    这行代码创建或激活一个编号为 1 的图形窗口。如果编号为 1 的窗口已经存在,它将被激活而不是创建新的窗口。

  • subplot(1,3,1)
    这行代码将当前图形窗口分成 1 行 3 列的网格,并激活第 1 个子图区域。接下来的绘图命令会在这个区域内执行。

  • xlim([1 length(y)])
    这行代码设置第 2 个子图的x 轴范围为从 1 到 length(y),即从 1 到 21。

  • plot(y, ‘LineWidth’, 2);
    这行代码在第 2 个子图中绘制向量 y 的图形,默认假设横坐标为 1:length(y)。‘LineWidth’, 2 同样设置了线宽为 2。

  • z = cos(-pi:pi/10:pi) + sqrt(-1)*sin(-pi:pi/10:pi)
    这行代码创建一个复数向量 z,其中实部是 cos(-pi:pi/10:pi),虚部是 sin(-pi:pi/10:pi)。-pi:pi/10:pi 生成从 -pi 到 pi 的等差数列,步长为 pi/10。这段代码实际上生成了一个单位圆上的复数点。

  • plot(z, ‘LineWidth’, 2)
    这行代码在第 3 个子图中绘制向量 z 的图形。由于 z 是复数,plot 函数会将其实部作为 x 坐标,虚部作为 y 坐标进行绘制,形成一个单位圆。‘LineWidth’, 2 设置了线宽为 2。


http://www.ppmy.cn/ops/154909.html

相关文章

【矩阵二分】力扣378. 有序矩阵中第 K 小的元素

给你一个 n x n 矩阵 matrix ,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。 请注意,它是 排序后 的第 k 小元素,而不是第 k 个 不同 的元素。 你必须找到一个内存复杂度优于 O(n2) 的解决方案。 示例 1&#xff1…

使用PyTorch实现逻辑回归:从训练到模型保存与加载

1. 引入必要的库 首先,需要引入必要的库。PyTorch用于构建和训练模型,pandas和numpy用于数据处理,matplotlib用于结果的可视化。 import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import DataLoade…

CSS关系选择器详解

CSS关系选择器详解 学习前提什么是关系选择器?后代选择器(Descendant Combinator)语法示例注意事项 子代选择器(Child Combinator)语法示例注意事项 邻接兄弟选择器(Adjacent Sibling Combinator&#xff0…

双指针c++

双指针(Two Pointers)是一种常用的算法技巧,通常用于解决数组或链表中的问题,如滑动窗口、区间合并、有序数组的两数之和等。双指针的核心思想是通过两个指针的移动来优化时间复杂度,通常可以将 (O(n^2)) 的暴力解法优…

Titans 架构下MAC变体的探究

目前业界流行的 Transformer 模型架构虽然在大多数场景表现优秀,但其上下文窗口(Window)长度的限制,通常仅为几千到几万个 Token,这使得它们在处理长文本、多轮对话或需要大规模上下文记忆的任务中,往往无法…

flume和kafka整合 flume和kafka为什么一起用?

‌Flume和Kafka一起使用的主要原因是为了实现高效、可靠的数据采集和实时处理。‌‌12 实时流式日志处理的需求 Flume和Kafka结合使用的主要目的是为了完成实时流式的日志处理。Flume负责数据的采集和传输,而Kafka则作为消息缓存队列,能够有效地缓冲数据,防止数据堆积或丢…

Vue.js组件开发-实现导出PDF文件可自定义添加水印及水印样式方向

使用 Vue 实现导出 PDF 文件并添加水印,同时支持设置水印样式、方向和自定义水印内容。 步骤 安装依赖:使用 html2canvas 将 HTML 内容转换为 canvas,使用 jspdf 生成 PDF 文件。创建 Vue 组件:在组件中实现水印生成、HTML 转 c…

一文介绍Hive数据类型

一文介绍Hive数据类型 文章目录 一文介绍Hive数据类型写在前面基本数据类型集合数据类型介绍案例实操 类型转化隐式类型转换CAST操作 写在前面 Linux版本:CentOS7.5Hive版本:Hive-3.1.2 基本数据类型 如下表所示: Hive数据类型Java数据类型…