心形函数

心形函数

胡永双 Lv3
  • 温馨提示:Excel心形曲线文件下载链接在 最后

1. 函数公式

心形函数公式

其中,n 是参数,函数图像随着 n 值的变化而变化。函数定义域为:[-1.81,1.81]

2. 图像在线演示

3. Excel中实现

3.1 制作步骤

  1. 变量 x
  1. 新建一个Excel表格,在A1B1单元格内分别写上XY
  2. A2单元格内写上-1.81(定义域左端点);
  3. 选中A2单元格,在开始选项卡下找到编辑填充序列,打开该选项,选择序列产生在,步长值填0.01,终止值填1.81(定义域右端点);
  4. 这样,就在第 A 列生成了函数所有可能的变量 x 的值。
  1. 变量 y
  1. B2单元格内写入公式:=(A2^2)^(1/3)+0.9*(3.3-A2^2)^(1/2)*SIN($D$2*PI()*A2),其中,D2单元格为参数 n,$D$2为绝对引用(F4键);
  2. 选中B2单元格,把鼠标移动到B2单元格的右下角,鼠标指针变为黑色十字(填充柄),双击左键,自动向下填充公式,并计算出 A 列对应的 y 值。
1
=(A2^2)^(1/3)+0.9*(3.3-A2^2)^(1/2)*SIN($D$2*PI()*A2)
  1. 创建图形
  1. 选中A1单元格,按Ctrl + Shift + →键,再按Ctrl + Shift + ↓键,选中第 A 列和第 B 列的所有数据;
  2. 插入选项卡下找到图表插入散点图(X、Y)或气泡图带平滑线的散点图,创建心形散点图;
  3. 点击图表中的 X 轴,按Delete键删除,点击图表中的 Y 轴,按Delete键删除,删除图表标题和图例。
  1. 迭代计算
  1. D2单元格中输入公式:=D2+0.1,回车;
  2. 选中D2单元格,点击Excel左上角的文件选项卡,选择左下角更多选项公式
  3. 右侧计算选项部分,勾选启用迭代计算,设置最多迭代次数1,点击确定保存设置;
  4. 按住键盘上的F9键(或Fn+F9键)不放,心形函数图像开始跳动的动画效果。

效果图:

3.2 Excel宏代码实现运算控制

  • 打开你的Excel文件,点击Excel左上角的文件选项卡,选择另存为,保存类型为:Excel启用宏的工作簿(*.xlsm)
  • 点击左上角文件选项卡,选择左下角更多选项自定义功能区,右侧自定义功能区勾选开发工具,点击确定保存。
(1)表单控件:按钮

点击开发工具,点击Visual Basic,输入以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Public isLooping As Boolean
Public i As Double

Sub 心形图()
isLooping = Not isLooping
If isLooping Then
i = 0
Do While isLooping And i <= 1000
Range("D2").Value = i / 10
i = i + 1
DoEvents
If i Mod 1 = 0 Then
DoEvents
End If
Loop
isLooping = False
End If
End Sub

插入一个表单控件:按钮,指定宏为:心形图,点击确定,将按钮命名为开关

(2)表单控件:启动开关和连续开关

点击开发工具,点击Visual Basic,输入以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Public isLooping As Boolean
Public i As Double
Public continue As Boolean

Sub 心形图()
isLooping = Not isLooping
If isLooping Then
If Not continue Then
i = 0
End If
Do While isLooping And i <= 1000
Range("D2").Value = i / 10
i = i + 1
DoEvents
If i Mod 1 = 0 Then
DoEvents
End If
Loop
isLooping = False
End If
End Sub

Sub 连续开关()
continue = Not continue
End Sub

插入一个表单控件:按钮,指定宏为:心形图,点击确定,将按钮命名为启动开关,用于控制启停;
插入一个表单控件:按钮,指定宏为:连续开关,点击确定,将按钮命名为连续开关,用于控制参数n是否连续。

(3)ActiveX控件:按钮

插入一个ActiveX控件:按钮,在开发工具选项卡下打开设计模式,右键刚创建的按钮,选择查看代码,输入以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Public isLooping As Boolean
Public i As Double

Private Sub CommandButton1_Click()
isLooping = Not isLooping
If isLooping Then
CommandButton1.Caption = "停止"
i = 0
Do While isLooping And i <= 1000
Range("D2").Value = i / 10
i = i + 1
DoEvents
If i Mod 1 = 0 Then
DoEvents
End If
Loop
isLooping = False
CommandButton1.Caption = "开始"
Else
isLooping = False
CommandButton1.Caption = "开始"
End If
End Sub
(4)表单控件:滚动条

插入一个表单控件:滚动条,右键滚动条,选择设置控件格式,在控制选项下,设置最小值:0最大值:100步长:1单元格链接:$D$2

(5)ActiveX控件:滚动条

插入一个ActiveX控件:滚动条,在开发工具选项卡下打开设计模式,右键刚创建的滚动条,选择查看代码,输入以下代码:

1
2
3
Private Sub ScrollBar1_Change()
Range("D2") = ScrollBar1.Value / 10
End Sub

3.3 文件下载

点击下载
  • 标题: 心形函数
  • 作者: 胡永双
  • 创建于 : 2026-01-11 16:28:13
  • 更新于 : 2026-01-27 01:35:12
  • 链接: https://huyongshuang.github.io/2026/1/11-heart-shaped-function/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论