当前位置: 首页 > news >正文

跟着我学Python进阶篇:01.试用Python完成一些简单问题

往期文章

跟着我学Python基础篇:01.初露端倪
跟着我学Python基础篇:02.数字与字符串编程
跟着我学Python基础篇:03.选择结构
跟着我学Python基础篇:04.循环
跟着我学Python基础篇:05.函数
跟着我学Python基础篇:06.列表
跟着我学Python基础篇:07.文本
跟着我学Python基础篇:08.集合和字典


目录

  • 往期文章
  • 前言
  • 1. 图形:简单绘图
    • 1.1 创建窗口
    • 1.2 线和多边形
  • 2. 使用Sympy进行符号处理
    • 2.1 操作表达式
      • 2.1.1化简表达式
      • 2.1.2 展开表达式
      • 2.1.3 因式分解表达式
      • 2.1.4 求导数
      • 2.1.5 求积分
    • 2.2 求解方程
      • 2.2.1 求解一元方程
      • 2.2.2求解多元方程
      • 2.2.3 求解高阶多项方程
      • 2.2.4 求解三角方程
      • 2.2.5 求解指数方程
    • 2.3 画函数图像
  • 3. 随机数的生成和模拟
    • 3.1 模拟掷骰子
    • 3.2 模拟打靶
    • 3.3 生成随机密码

前言

在基础篇,我们已经掌握了Python中的一些基础的语法规则,那么在进阶篇中,我们将在更深度一些的层次上,去学习和了解Python。

1. 图形:简单绘图

matplotlib是一个用于创建高质量图形的Python库。它可以用于绘制各种类型的图形,包括线图、散点图、条形图、直方图、饼图等。matplotlib提供了丰富的图形定制选项,允许用户自定义各种元素,如标签、标题、轴标签、颜色、线型等。此外,matplotlib还可以与numpy、pandas等其他Python库一起使用,以便更轻松地处理和可视化数据。

1.1 创建窗口

import matplotlib.pyplot as plt# 创建一个图形窗口
fig = plt.figure()# 可选:设置窗口的大小和标题
fig.set_size_inches(6, 4)  # 设置窗口大小为6x4英寸
fig.suptitle('My Window')  # 设置窗口标题# 显示窗口
plt.show()

在这里插入图片描述
我们首先使用plt.figure()创建了一个图形窗口对象fig。然后,我们可以使用fig.set_size_inches()和fig.suptitle()来设置窗口的大小和标题。

1.2 线和多边形

import matplotlib.pyplot as plt# 创建一个图形窗口
fig = plt.figure()# 可选:设置窗口的大小和标题
fig.set_size_inches(6, 4)  # 设置窗口大小为6x4英寸
fig.suptitle('My Window')  # 设置窗口标题# 绘制折线图
x = [1, 2, 3, 4, 5]
y = [5, 4, 3, 2, 1]
plt.plot(x, y)# 显示窗口
plt.show()

在这里插入图片描述
我们首先创建了一个图形窗口,并设置了窗口的大小和标题。然后使用plt.plot()函数绘制了一个折线图,最后使用plt.show()函数显示图形窗口。你可以根据需要在窗口中绘制不同类型的图形。

import matplotlib.pyplot as plt# 数据
x = ['A', 'B', 'C', 'D']
y = [10, 15, 7, 12]# 创建一个图形窗口
fig = plt.figure()# 绘制柱状图
plt.bar(x, y)# 显示图形
plt.show()

在这里插入图片描述
我们定义了两个列表x和y,分别表示柱状图的横轴和纵轴数据。然后创建一个图形窗口,使用plt.bar()函数绘制柱状图。最后使用plt.show()函数显示图形窗口。

import matplotlib.pyplot as plt# 数据
x = ['A', 'B', 'C', 'D']
y = [10, 15, 7, 12]# 颜色
colors = ['red', 'green', 'blue', 'orange']# 创建一个图形窗口
fig = plt.figure()# 绘制柱状图并填充颜色
plt.bar(x, y, color=colors)# 显示图形
plt.show()

在这里插入图片描述
定义了一个colors列表,其中每个元素对应柱状图中每个柱子的颜色。然后创建一个图形窗口,使用plt.bar()函数绘制柱状图,并通过color参数指定填充颜色。最后使用plt.show()函数显示图形窗口。你可以根据实际需求调整x、y和colors的值,以及使用其他参数来自定义柱状图的样式,如宽度、边框颜色等。

2. 使用Sympy进行符号处理

sympy包提供了大量的函数可以计算更多公式的值,包括微积分。让我们来感受一下。

2.1 操作表达式

2.1.1化简表达式

`Sympy可以将表达式自动化简为最简形式。以下是一个例子:

import sympy# 定义符号变量x和y
x, y = sympy.symbols('x y')# 定义表达式
expr = 2*x + x - x**2# 化简表达式
simplified_expr = sympy.simplify(expr)# 输出化简后的表达式
print(simplified_expr)

在这里插入图片描述

在这个例子中,我们定义了一个表达式2*x + x - x**2,使用sympy.simplify()函数将其化简为最简形式,并将结果存储在变量simplified_expr中。最后,我们使用print()函数输出化简后的表达式。

2.1.2 展开表达式

Sympy可以将表达式展开为多项式。以下是一个例子:

import sympy# 定义符号变量x和y
x, y = sympy.symbols('x y')# 定义表达式
expr = (x + y)**2# 展开表达式
expanded_expr = sympy.expand(expr)# 输出展开后的表达式
print(expanded_expr)

在这里插入图片描述

在这个例子中,我们定义了一个表达式(x + y)**2,使用sympy.expand()函数将其展开为多项式,并将结果存储在变量expanded_expr中。最后,我们使用print()函数输出展开后的表达式。

2.1.3 因式分解表达式

将表达式因式分解为乘积形式。以下是一个例子:

import sympy# 定义符号变量x和y
x, y = sympy.symbols('x y')# 定义表达式
expr = x**2 - y**2# 因式分解表达式
factored_expr = sympy.factor(expr)# 输出因式分解后的表达式
print(factored_expr)

在这里插入图片描述

在这个例子中,我们定义了一个表达式x2 - y2,使用sympy.factor()函数将其因式分解为x + y)*(x - y)的乘积形式,并将结果存储在变量actored_expr中。最后,我们使用print()函数输出因式分解后的表达式。

2.1.4 求导数

Sympy可以对表达式求导数。以下是一个例子:

import sympy# 定义符号变量x和y
x, y = sympy.symbols('x y')# 定义表达式
expr = x**3 + 2*x**2 + x# 对表达式求导
derivative_expr = sympy.diff(expr, x)# 输出求导后的表达式
print(derivative_expr)

在这里插入图片描述

在这个例子中,我们定义了一个表达式x3 + 2*x2 + x,使用sympy.diff()函数对其求导,并将结果存储在变量derivative_expr中。最后,我们使用print()函数输出求导后的表达式。

2.1.5 求积分

import sympy# 定义符号变量x和y
x, y = sympy.symbols('x y')# 定义表达式
expr = x**3 + 2*x**2 + x# 对表达式求积分
integral_expr = sympy.integrate(expr, x)# 输出求积分后的表达式
print(integral_expr)

在这里插入图片描述

在这个例子中,我们定义了一个表达式x3 + 2*x2 + x,使用sympy.integrate()函数对其求积分,并将结果存储在变量integral_expr中。最后,我们使用print()函数输出求积分后的表达式。

2.2 求解方程

2.2.1 求解一元方程

import sympy# 定义符号变量x
x = sympy.symbols('x')# 定义方程
equation = sympy.Eq(x**2 - 4, 0)# 求解方程
solutions = sympy.solve(equation, x)# 输出方程的解
print(solutions)

在这里插入图片描述
我们定义了一个一元方程x**2 - 4 = 0,使用sympy.solve()函数来求解方程,并将结果存储在变量solutions中。最后,我们使用print()函数输出方程的解。

2.2.2求解多元方程

import sympy# 定义符号变量x和y
x, y = sympy.symbols('x y')# 定义方程组
equations = [sympy.Eq(x + y, 5),sympy.Eq(2*x - y, 1)
]# 求解方程组
solutions = sympy.solve(equations, (x, y))# 输出方程组的解
print(solutions)

在这里插入图片描述
我们定义了一个多元方程组,包含两个方程x + y = 5和2*x - y = 1。我们使用sympy.solve()函数来求解方程组,并将结果存储在变量solutions中。最后,我们使用print()函数输出方程组的解。

2.2.3 求解高阶多项方程

import sympy# 定义符号变量x
x = sympy.symbols('x')# 定义高阶多项式方程
equation = x**4 - 6*x**3 + 11*x**2 - 6*x# 求解方程
solutions = sympy.solve(equation, x)# 输出方程的解
print(solutions)

在这里插入图片描述
高阶多项式方程x4 - 6*x3 + 11x**2 - 6x,使用sympy.solve()函数求解方程,并将结果存储在变量solutions中。最后,我们使用print()函数输出方程的解。

2.2.4 求解三角方程

import sympy# 定义符号变量x
x = sympy.symbols('x')# 定义三角方程
equation = sympy.sin(x) - sympy.cos(x)# 求解方程
solutions = sympy.solve(equation, x)# 输出方程的解
print(solutions)

在这里插入图片描述
我们定义了一个三角方程sin(x) - cos(x),使用sympy.solve()函数求解方程,并将结果存储在变量solutions中。最后,我们使用print()函数输出方程的解。

2.2.5 求解指数方程

import sympy# 定义符号变量x
x = sympy.symbols('x')# 定义指数方程
equation = sympy.exp(x) - 2**x# 求解方程
solutions = sympy.solve(equation, x)# 输出方程的解
print(solutions)

在这里插入图片描述

2.3 画函数图像

import sympy
from sympy.plotting import plot# 定义符号变量x
x = sympy.symbols('x')# 定义函数
f = x**2# 绘制函数图像
p = plot(f, (x, -5, 5), show=False)# 设置标题和坐标轴标签
p.title = 'Function Graph'
p.xlabel = 'x'
p.ylabel = 'y'# 显示图像
p.show()

在这里插入图片描述
我们定义了一个函数f(x) = x**2,使用sympy库的plot()函数来绘制函数的图像。第一个参数是要绘制的函数,第二个参数是函数自变量的范围。plot()函数还有许多其他参数可以用来定制图像,例如线条颜色、线条样式等。
最后,我们设置了标题和坐标轴标签,并使用show()函数显示图像。
注意,sympy库的绘图功能相对于专业的绘图库可能较为简单,因此对于绘制复杂的图像,建议使用更专业的绘图库,例如matplotlib。

3. 随机数的生成和模拟

3.1 模拟掷骰子

import pygame
import sys
import random
import timepygame.init()WINDOW_SIZE = (400, 400)
screen = pygame.display.set_mode(WINDOW_SIZE)
pygame.display.set_caption("Rolling Dice Animation")DICE_POINTS = {1: [(200, 200)],2: [(170, 170), (230, 230)],3: [(170, 170), (200, 200), (230, 230)],4: [(170, 170), (230, 230), (170, 230), (230, 170)],5: [(170, 170), (230, 230), (170, 230), (230, 170), (200, 200)],6: [(170, 170), (230, 230), (170, 230), (230, 170), (170, 200), (230, 200)],
}def draw_dice(number):screen.fill((255, 255, 255))pygame.draw.rect(screen, (0, 0, 0), (150, 150, 100, 100))for point in DICE_POINTS[number]:pygame.draw.circle(screen, (255, 0, 0), point, 10)pygame.display.flip()def roll_dice_animation():current_number = 1for _ in range(30):draw_dice(current_number)current_number = random.randint(1, 6)time.sleep(0.1)return current_numberdef main():while True:for event in pygame.event.get():if event.type == pygame.QUIT:pygame.quit()sys.exit()result = roll_dice_animation()print(f"Dice rolled: {result}")time.sleep(1)  # 停留一秒,显示掷出的点数if __name__ == "__main__":main()

在这里插入图片描述
在这里插入图片描述

3.2 模拟打靶

import pygame
import sys
import randompygame.init()WINDOW_SIZE = (400, 400)
screen = pygame.display.set_mode(WINDOW_SIZE)
pygame.display.set_caption("Target Shooting Simulation")TARGET_RADIUS = 50  # 调整靶子半径
TARGET_COLOR = (255, 0, 0)
BACKGROUND_COLOR = (255, 255, 255)shots = []def draw_target():pygame.draw.circle(screen, TARGET_COLOR, (200, 200), TARGET_RADIUS)def draw_shots():for shot in shots:pygame.draw.circle(screen, (0, 255, 0), shot[0], 5)font = pygame.font.Font(None, 36)text = font.render(str(shot[1]), True, (0, 255, 0))screen.blit(text, (shot[0][0] - 10, shot[0][1] - 20))def calculate_score(distance):max_distance = TARGET_RADIUSmin_distance = 0normalized_distance = max(0, min((max_distance - distance) / max_distance, 1))score = int(normalized_distance * 10)return scoredef main():clock = pygame.time.Clock()while True:for event in pygame.event.get():if event.type == pygame.QUIT:pygame.quit()sys.exit()elif event.type == pygame.MOUSEBUTTONDOWN and event.button == 1:  # 左键点击mouse_x, mouse_y = pygame.mouse.get_pos()distance = ((mouse_x - 200) ** 2 + (mouse_y - 200) ** 2) ** 0.5if distance <= TARGET_RADIUS:score = calculate_score(distance)print(f"Hit! Score: {score}")shots.append(((mouse_x, mouse_y), score))screen.fill(BACKGROUND_COLOR)draw_target()draw_shots()pygame.display.flip()clock.tick(60)if __name__ == "__main__":main()

在这里插入图片描述

3.3 生成随机密码

import random
import stringdef generate_password(length=12):characters = string.ascii_letters + string.digits + string.punctuationpassword = ''.join(random.choice(characters) for _ in range(length))return password# 生成一个默认长度为12的密码
password = generate_password()
print("Generated Password:", password)

在这里插入图片描述

相关文章:

跟着我学Python进阶篇:01.试用Python完成一些简单问题

往期文章 跟着我学Python基础篇&#xff1a;01.初露端倪 跟着我学Python基础篇&#xff1a;02.数字与字符串编程 跟着我学Python基础篇&#xff1a;03.选择结构 跟着我学Python基础篇&#xff1a;04.循环 跟着我学Python基础篇&#xff1a;05.函数 跟着我学Python基础篇&#…...

neo4j-Py2neo使用

neo4j-Py2neo(一)&#xff1a;基本库介绍使用 py2neo的文档地址&#xff1a;https://neo4j-contrib.github.io/py2neo/ py2neo的本质是可以采用两种方式进行操作&#xff0c;一种是利用cypher语句&#xff0c;一种是使用库提供的DataTypes&#xff0c;Data类的实例需要和远程…...

uint29传输格式

前言 不知道谁想出来的。 反正我是想不到。 我看网上也没人讲这个。 写篇博客帮一下素未谋面的网友。 uint29 本质上是网络传输的时候&#xff0c;借用至多4字节Bytes&#xff0c;表达29位的无符号整数。 读8位数字&#xff0c;判断小于128? 是的话&#xff0c;返回末7位…...

Linux:终端定时自动注销

这样防止了&#xff0c;当我们临时离开电脑这个空隙&#xff0c;被坏蛋给趁虚而入 定几十秒或者分钟&#xff0c;如果这个时间段没有输入东西那么就会自动退出 全局生效 这个系统中的所有用户生效 vim /etc/profile在末尾加入TMOUT10 TMOUT10 这个就是10 秒&#xff0c;按…...

STM32F103RCT6开发板M3单片机教程06--定时器中断

前言 除非特别说明&#xff0c;本章节描述的模块应用于整个STM32F103xx微控制器系列&#xff0c;因为我们使用是STM32F103RCT6开发板是mini最小系统板。本教程使用是&#xff08;光明谷SUN_STM32mini开发板&#xff09; STM32F10X定时器(Timer)基础 首先了解一下是STM32F10X…...

数据库故障Waiting for table metadata lock

场景&#xff1a;早上来发现一个程序&#xff0c;链接mysql数据库有点问题&#xff0c;随后排查&#xff0c;因为容器在k8s里面。所以尝试重启了pod没有效果 一、重启pod: 这里是几种在Kubernetes中重启Pod的方法: 删除Pod,利用Deployment重建 kubectl delete pod mypodDepl…...

Springboot数据校验与异常篇

一、异常处理 1.1Http状态码 HTTP状态码是指在HTTP通信过程中&#xff0c;服务器向客户端返回的响应状态。它通过3位数字构成&#xff0c;第一个数字定义了响应的类别&#xff0c;后两位数字没有具体分类作用。以下是常见的HTTP状态码及其含义&#xff1a; - 1xx&#xff08;信…...

第三十六章 XML 模式的高级选项 - 创建子类型的替换组

文章目录 第三十六章 XML 模式的高级选项 - 创建子类型的替换组创建子类型的替换组将子类限制在替换组中 第三十六章 XML 模式的高级选项 - 创建子类型的替换组 创建子类型的替换组 XML 模式规范还允许定义替换组&#xff0c;这可以是创建选择的替代方法。语法有些不同。无需…...

堆与二叉树(上)

本篇主要讲的是一些概念&#xff0c;推论和堆的实现&#xff08;核心在堆的实现这一块&#xff09; 涉及到的一些结论&#xff0c;证明放到最后&#xff0c;可以选择跳过&#xff0c;知识点过多&#xff0c;当复习一用差不多&#xff0c;如果是刚学这一块的&#xff0c;建议打…...

HBase查询的一些限制与解决方案

Apache HBase 是一个开源的、非关系型、分布式数据库&#xff0c;它是 Hadoop 生态系统的一部分&#xff0c;用于存储和处理大量的稀疏数据。HBase 在设计上是为了提供快速的随机读写能力&#xff0c;但与此同时&#xff0c;它也带来了一些查询上的限制&#xff1a; 没有SQL支持…...

软件开发 VS Web开发

我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版&#xff0c;欢迎购买。点击进入详情 目录 介绍&#xff1a; 角色和职责&#xff1a; 软件开发人员&#xff1a; Web开发人员&#xff1a; 技能&#xff1a; 软件开发人员&#xff1a; Web开发人…...

基于Springboot的旅游网站设计与实现(论文+调试+源码)

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下&#xff0c;你想解决的问…...

【从零开始学习--设计模式--策略模式】

返回首页 前言 感谢各位同学的关注与支持&#xff0c;我会一直更新此专题&#xff0c;竭尽所能整理出更为详细的内容分享给大家&#xff0c;但碍于时间及精力有限&#xff0c;代码分享较少&#xff0c;后续会把所有代码示例整理到github&#xff0c;敬请期待。 此章节介绍策…...

条款6:若不想使用编译器自动生成的函数,就该明确拒绝

有些场景我们不需要编译器默认实现的构造函数&#xff0c;拷贝构造函数&#xff0c;赋值函数&#xff0c;这时候我们应该明确的告诉编译器&#xff0c;我们不需要&#xff0c;一个可行的方法是将拷贝构造函数和赋值函数声明为private。 class HomeForSale { ... }; HomeForSal…...

零基础也能制作家装预约咨询小程序

近年来&#xff0c;随着互联网的快速发展&#xff0c;越来越多的消费者倾向于使用手机进行购物和咨询。然而&#xff0c;许多家装实体店却发现自己的客流量越来越少&#xff0c;急需一种新的方式来吸引顾客。而开发家装预约咨询小程序则成为了一种利用互联网技术来解决这一问题…...

Mybatis的插件运⾏原理,如何编写⼀个插件?

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…...

C++复合数据类型:字符数组|读取键盘输入|简单读写文件

文章目录 字符数组&#xff08;C风格字符串&#xff09;读取键盘输入使用输入操作符读取单词读取一行信息getline使用get读取一个字符 读写文件 字符数组&#xff08;C风格字符串&#xff09; 字符串就是一串字符的集合&#xff0c;本质上其实是一个“字符的数组”。 在C中为了…...

Windows11环境下配置深度学习环境(Pytorch)

目录 1. 下载安装Miniconda2. 新建Python3.9虚拟环境3. 下载英伟达驱动4. 安装CUDA版Pytorch5. CPU版本pytorch安装6. 下载并配置Pycharm 1. 下载安装Miniconda 下载安装包&#xff1a;镜像文件地址 将Miniconda相关路径添加至系统变量的路径中。 打开Anaconda Powershell Pr…...

泛型深入理解

泛型的概述 泛型&#xff1a;是JDK5中引入的特性&#xff0c;可以在编译阶段约束操作的数据类型&#xff0c;并进行检查。 泛型的格式&#xff1a;<数据类型>; 注意&#xff1a;泛型只能支持引用数据类型。 集合体系的全部接口和实现类都是支持泛型的使用的。 泛型的…...

Linux内核模块

文章目录 一、内核模块介绍二、模块讲解1、最简模块代码&#xff1a;2、模块三要素3、常用操作命令3.1、 lsmod&#xff1a;显示已加载模块状态3.2、 insmod&#xff1a;载入模块3.3、rmmod&#xff1a;卸载模块3.4、dmesg&#xff1a;显示信息3.5、modinfo&#xff1a;显示ker…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

Leetcode33( 搜索旋转排序数组)

题目表述 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...

Xela矩阵三轴触觉传感器的工作原理解析与应用场景

Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知&#xff0c;帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量&#xff0c;能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度&#xff0c;还为机器人、医疗设备和制造业的智…...

【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL

ETABS API实战:导出框架元素数据到Excel 在结构工程师的日常工作中,经常需要从ETABS模型中提取框架元素信息进行后续分析。手动复制粘贴不仅耗时,还容易出错。今天我们来用简单的VBA代码实现自动化导出。 🎯 我们要实现什么? 一键点击,就能将ETABS中所有框架元素的基…...