python科学计算的几个例子

article/2025/10/1 1:07:17

python解常微分方程

python解常微分方程的步骤如下:

  1. 将计算区间分为n个小段,在每一小段上将求解的曲线作为直线处理;
  2. 将一个n阶常微分方程转换成[y_n,y_n-1,…,y_i,…,y_0]向量的线性方程组,其中y_i表示y的i阶导数;
  3. 确定初始状态
  4. 迭代求解每一个点的y值(欧拉法),最后通过matplotlib做出曲线图。

以下面的三阶常系数微分方程为例:
1. 假设求解区间为0~4,划分为400个小区间
2. 转换成对应的线性方程组,如下图
3. 初始状态设为y2_0 = 2, y1_0 = 1, y0_0 = 0
4. 求解及出图,见代码

在这里插入图片描述

from scipy.integrate import odeint
import numpy as np
import matplotlib.pyplot as plty2_0 = 2
y1_0 = 1
y0_0 = 0
y0 = [y0_0, y1_0,y2_0]# 函数func,y是指上面提到的有y的各阶导数组成的向量,t是指自变量
def func(y, t):T=[[1,1,1], [1,0,0],[0,1,0]]return T@yx = np.arange(0, 4.0, 0.1)
t=x
y = odeint(func, y0, t)print(x)
print(y)plt.plot(x,y[:,0])
plt.show()

结果如下:
在这里插入图片描述

python求解点绕定轴转动后的坐标

用python计算定点绕定轴转动一定角度的坐标,输出结果如下:
在这里插入图片描述

import numpy as npdef main():x = np.array([1,0,0])y = np.array([0,1,0])z = np.array([0,0,1])axis_in = input('Enter the coordinates of rotation axis:\n')axis  = np.array([np.float(n) for n in axis_in.split()])#print (axis)angle_in = input('Enter the rotation angle:\n')angle  = np.float(angle_in)*np.pi/180#print (np.degrees(angle)) point_in = input('Enter the coordinates to be rotated:\n')point = np.array([np.float(n) for n in point_in.split()])#print (point)axis1 = np.array([axis[0],axis[1],0])theta = np.arccos((axis1@x)/np.linalg.norm(axis1))print ('theta: ', np.degrees(theta))t1 = np.array([[np.cos(-theta), -np.sin(-theta),0], [np.sin(-theta), np.cos(-theta),0], [0, 0, 1]])#zprint ('coordinates transform matrix:\n', t1)point1 = t1@pointprint ('transformed coordinates I:\n', point1)phi = np.arccos((axis@z)/np.linalg.norm(axis))print ('phi: ', np.degrees(phi))t2 = np.array([[np.cos(-phi), 0, np.sin(-phi)], [0, 1, 0], [-np.sin(-phi), 0, np.cos(-phi)]])#yprint ('coordinates transform matrix:\n', t2)point2 = t2@point1print ('transformed coordinates II:\n', point2)t3 = np.array([[np.cos(angle), -np.sin(angle),0], [np.sin(angle), np.cos(angle),0], [0, 0, 1]])#zprint ('rotation matrix under new coordinates:\n', t3)rotation = np.transpose(t1) @ np.transpose(t2) @ t3 @ t2 @ t1print ('rotation matrix under original coordinates:\n', rotation)point_rotated = rotation @ np.transpose(point)print ('the coordinates of rotated point is: \n', point_rotated)if __name__ == "__main__":main()

python绘制球面渐开线

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3Dr_theta=np.radians(45)
l=1000cr,ctheta=np.mgrid[0:l*np.sin(r_theta):1000j,0:6.28:50j]
cx=cr*np.cos(ctheta)
cy=cr*np.sin(ctheta)
cz=np.sqrt(cx**2+cy**2)/np.tan(r_theta)gammar=np.linspace(0,1,100)
theta=np.arctan(np.sin(r_theta)*np.tan(gammar))/np.sin(r_theta)-gammar
R=np.arctan(np.tan(r_theta)/np.cos(gammar ))
x=l*np.sin(R)*np.sin(theta)
y=l*np.sin(R)*np.cos(theta)
z=l*np.cos(R)fig=plt.figure()
fig.suptitle('sperical Involute')ax = Axes3D(fig)ax.plot_surface(cx,cy,cz)
ax.plot(x,y,z)
plt.axis('equal')plt.show()

多元酸水解pH值计算

磷酸二氢钾的水解系数
在这里插入图片描述

化简得到的平衡方程:

[H+]^5
+ (k1+c) [H+]^4
+ (k1k2-k) [H+]^3
+ (k1k2k3-(kk1+ck1k2)) [H+]^2
- (kk1k2+2ck1k2k3) [H+]^1
- kk1k2k3 = 0

python求解,有点毛病,python算不出来,后来改用的MATLAB。

from sympy import *x = Symbol('x')k1 = 0.00752
k2 = 0.0000000623
k3 = 0.00000000000022
k = 0.00000000000001
c =0.01
p4=k1+c
p3=k1*k2-k
p2=k1*k2*k3-(k*k1+c*k1*k2)
p1=-(k*k1*k2+2*c*k1*k2*k3)
p0=-k*k1*k2*k3print(p4,p3,p2,p1,p0)
print(solve([x**5+p4*x**4+p3*x**3+p2*x**2+ p1*x+0.1+p0],[x]))

http://chatgpt.dhexx.cn/article/gtW2ugkW.shtml

相关文章

python科学计算与数据可视化——Matplotlib

Matplotlib(https://matplotlib.org/)是一个用来绘图的python库,它的matplotlib.pyplot模块提供了一个绘图系统。 matplotlib中最重要的函数就plot,它可以绘制二维图像 使用subplot函数,你就可以在同一个图像里绘制多个子图 #1.…

常用的python科学计算库有哪些_python科学计算常用的数学科学计算库有哪些?

1.numpy(高效多维数据表示) NumPy数组可以将许多数据处理任务表述为简洁的数组表达式,否则需要编写循环。用数组表达式代替循环的做法,通常被称为矢量化。通常矢量化数组运算要比等价的纯Python方式快上一两个数量级,尤其是各种数值计算。 假设我们想要在一组值(网格型)上计…

Python 初步了解科学计算和数据分析

推荐自己的专栏:分享一些Python案例,将所学用出来随着Python语言生态环境的完善,众多科学计算和数据分析库(例如NumPy、SciPy、Pandas、Matplotlib、IPython等),使得Python成为科学计算和数据分析的首选语言…

Python科学计算

Python 科学计算 NumPy(MatLab 替代品之一) 数组的算数和逻辑运算傅立叶变换和用于图形操作的例程与线性代数有关的操作。 NumPy 拥有线性代数和随机数生成的内置函数 frmemeta SciPy(科学计算) SciPy是一个开源的算法库和数学工具包。 其包含最优化、线…

深度阐述数据建模及可视化系统技术方案

1.系统概述 数据建模及可视化系统系统是一站式全链路数据生命周期管家,帮助用户管理数据资产并挖掘价值。平台提供多源异构的数据采集模块、实时/离线计算框架,简洁易用的开发环境和平台接口,为政府机构、企业、科研机构、第三方软件服务商等…

数据可视化现状调研

数据可视化现状调研 概述 数据可视(Data visualization)数据可视化主要旨在借助于图形化手段,清晰有效地传达与沟通信息。但是,这并不就意味着,数据可视化就一定因为要实现其功能用途而令人感到枯燥乏味,…

数据可视化课程大纲和教学设计及源代码

一、课程基本信息 二、课程定位 《数据可视化》课程是面向全校学生的一门公共选修课。本课程包括16学时的理论教学和16学时的实践教学,在校内完成。 《数据可视化》课程是一门理论性和实践性都很强的课程。本课程本着“技能培养为主、理论够用为度”的原则&#x…

工业数据可视化

工业大数据是指在工业领域中,围绕典型智能制造模式,从客户需求到销售、订单、计划、研发、设计、工艺、制造、采购、供应、库存、发货和交付、售后服务、运维、报废或回收再制造等整个产品全生命周期各个环节所产生的各类数据及相关技术和应用的总称。其…

数据可视化选择题

第一章 打开可视化大门 多选(3分) 可视化的分类包含: A.科学可视化B.信息可视化C.智能可视化D.可视分析学 ABD ‏2. 以下哪张图片为科学可视化结果: A. B. C. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cynHvYcn…

52个数据可视化图表鉴赏

文章目录 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.直方图26.地…

解构数据可视化

文章目录 什么是数据可视化数据可视化四大过程1. 确定主题2. 提炼数据3. 确认图表4. 可视化设计及布局 可视化映射1. 可视化空间2. 标记3. 视觉通道 什么是数据可视化 数据可视化的目标是透过数据的表象,洞悉其中的规律,指导用户高效、准确地进行决策。 …

数据可视化学习之大屏学习

一 前言 什么是数据可视化大屏?数据可视化大屏是以大屏为主要展示载体的数据可视化设计。可视化大屏就是一种非常有效的数据可视化工具,它可以将业务的关键指标以可视化的方式展示到一个或多个LED屏幕上,不仅使业务人员能够从复杂的业务数据…

数据可视化学习路线

写在前面 有幸看到了这篇关于数据可视化学习的指导文章,由于原作链接访问异常,只得从百度快照中看到原文,所以这里搬运过来,特此声明本文系【转载】,在此感谢原作者,以下为原文正文(略有删减)。 原作者: 张…

数据挖掘——数据可视化

数据可视化 1.数据可视化第一关 数据可视化的内涵1>数据可视化是什么?2>为什么需要数据可视化?3>历史演变4>习题 第二关 初识数据第三关 柱状图第四关 散点图第五关 直方图 2.数据可视化进阶第一关 热图1>热图的作用?2>习题…

初识前端数据可视化

目录 前端数据可视化的开发工具 前端三件套 Echarts.js Highcharts.js D3.js Vue.js python Tableau 编译器 数据可视化的分支 信息可视化 科学可视化 可视分析学 什么是前端?前端,通俗来说就是网页呈现给我们看的那部分。比如hao123这个…

数据可视化 复习笔记2022

1.可视化释义 可视化对应Visualize和Visualization。Visualize是动词,即“生成符合人类感知”的图像;通过可视元素传递信息。Visualization是名词,表达“使某物、某事可见的动作或事实”,对某个原本不可见的事物在人的大脑中形成一幅可感知的…

前端数据可视化入门

这是一篇给大家提供数据可视化开发的入门指南,介绍了可视化要解决的问题和可以直接使用的工具,我将从下面几个方面给大家介绍,同时以阿里/蚂蚁的可视化团队和资源举例说明: 什么是数据可视化? 怎样进行数据可视化&…

关系数据可视化

关系数据可视化 本文所做的数据的数据可视化实现基于python 3.9.4,需安装matplotlib、numpy、pyecharts、pandas、plotly等依赖库,可通过下述命令完成。 pip install matplotlib pip install numpy pip install -v pyecharts1.1.0 pip install plotly …

Echarts数据可视化

Echarts Echarts 简介Echarts快速上手柱状图柱状图的基本使用其他常见效果 通用配置项titletooltiptoolboxlegend 折线图折线图基本配置其他效果 饼状图 Echarts 简介 Echarts 缩写来自 Enterprise Charts(商业级数据图表),是百度的一个开源的…

实验4 Matplotlib数据可视化

1. 实验目的 ①掌握Matplotlib绘图基础; ②运用Matplotlib,实现数据集的可视化; ③运用Pandas访问csv数据集。 2. 实验内容 ①绘制散点图、直方图和折线图,对数据进行可视化; ②下载波士顿数房价据集,并…