Math
文章平均质量分 50
落叶_小唱
本人喜欢看书,喜欢了解科技前沿,喜欢计算科学!
展开
-
割线法secant算法及numpy实现
牛顿法需要知道目标函数的导数信息,割线法是对导数的一阶近似,具体介绍如下:效果如下:原创 2022-06-16 18:38:03 · 314 阅读 · 0 评论 -
scipy求解矩阵微分方程
形如X′=AX+bX'=AX+bX′=AX+b的矩阵微分方程目前在scipy中是没有接口直接处理的,需要自己手动转换一下格式,但对应这种格式MATLAB的ode求解器是支持直接求解的。本文基于https://wenku.baidu.com/view/8fc76d6bfbd6195f312b3169a45177232f60e4f9.html?re=view的例子(原例子是用MATLAB求解的,采用scipy求解一组矩阵微分方程:python程序如下:from scipy.integrate impo原创 2021-06-05 23:06:27 · 1673 阅读 · 0 评论 -
optim c++优化库配置(windows环境,mingw)
optim c++优化库配置(windows环境,mingw)windows环境下做科学计算常用的库是blas,lapack,openblas等,这些和矩阵运算有关,代码也是经过高度优化,下面介绍一个轻量的c++版本优化库optim在win环境下的安装使用方法,如果是linux的话可以用包管理器安装依赖,方便很多,这里就不做介绍了。预备软件: mingw 730(笔者将qt5自带的设置为系统全局gcc/g++环境),cmder/git bash(提供linux环境,方便执行),cmake(编译lap原创 2020-09-24 14:04:11 · 1042 阅读 · 0 评论 -
FreeCAD FEM(Elmer接口)总结
1 准备FreeCAD版本:pre_0.19(预发布版)Elmer版本:8.4(MPI版本)http://www.elmerfem.org/blog/binaries/gmsh:freecad自带4.5.6版本paraview:5.4.1从freecad的release note来看未来对FEM模块的开发主要还是以结构力学仿真为主,默认的支持求解器为caulix,该求解器在freecad中存在时间最长,因此也得到了更多了检验,版本稳定,另外还支持Elmer和z88求解器,从各有限元求解器对比来看,原创 2020-05-25 02:42:33 · 3807 阅读 · 0 评论 -
一维搜索方法之割线法(python实现)
动画效果如下:原创 2019-11-10 21:42:25 · 1723 阅读 · 1 评论 -
klatexformular输出tikz & pgfplots绘图
系统:win10软件依赖:texlive,protext(win下使用)KLatexFormular(参考博主之前一篇博文:Linux系统下公式编辑器KLatexFormulainkscape0.9.24目的:在latex环境中使用tikz或pgfplots可以绘制出很多精美的图,是科学写作的一大绘图利器,但是其一般集成在tex文档中,要想单独使用这些宏包绘制的结果(例如用在word...原创 2019-10-26 17:55:09 · 1622 阅读 · 0 评论 -
Gekko非线性回归分析
参考链接:https://www.youtube.com/watch?v=sGZbQgDOfi4&list=PLLBUgWXdTBDjcqDl2e5F_hcBjEc6vjr1X&index=19对已有影响石油价格的数据进行非线性建模,非线性模型为:oilprice=a∗WTIb∗HHc∗NGLdoil_{price}=a*WTI^{b}*HH^{c}*NGL^{d}oilpri...原创 2019-10-20 00:35:25 · 1679 阅读 · 0 评论 -
Windows系统Qt5/mingw-64配置GSL科学计算库
系统:win10, 64bits软件:(1)Qt5.11.1(2)gsl2.5:ftp://ftp.gnu.org/gnu/gsl/(3)msys:https://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/参考文章:https://blog.csdn.net/xiaop5140/article/...原创 2018-10-10 11:05:31 · 2623 阅读 · 1 评论 -
python实现二分法
使用python实现了简单的二分法求非线性方程根。# -*- coding: utf-8 -*-"""Created on Thu Dec 13 22:16:35 2018@author: zwqPython实现二分法求解非线性方程"""import mathclass ConditionError(Exception): def __init__(self,Err..原创 2018-12-13 23:38:21 · 2502 阅读 · 0 评论 -
GSL科学计算库——计算高斯-勒让德积分
假设计算下列积分:∫0πexcos(x)dx\int_0^\pi e^xcos(x)dx∫0πexcos(x)dx根据高斯勒让德积分,先将积分区间变换为[−1,1][-1,1][−1,1],使用线性变换:x=π−02t+π+02x=\frac{\pi-0}{2}t+\frac{\pi+0}{2}x=2π−0t+2π+0,将原积分变为∫0πexcos(x)dx=−π2eπ2t∫−11e...原创 2018-12-28 10:01:56 · 3713 阅读 · 1 评论 -
常微分方程数值解法——python实现
研究生课程《应用数值分析》结课了,使用python简单记录了下常微分方程数值解法。向前欧拉法{yi+1=yi+hif(xi,yi)y0=y(a)\left \{ \begin{array}{lr}y_{i+1}=y_i+h_i f(x_i,y_i) \\y_0=y(a)\end{array}\right .{yi+1=yi+hif(xi,yi)y0=y(a)fro...原创 2018-12-29 23:35:06 · 10507 阅读 · 4 评论 -
CVXPY/Scipy/Octave线性规划问题求解
博主相关博文:python线性规划(linear programming)与分配问题(assignment problem)线性规划问题,在计算求解过程主要确定下面4点:(1)目标函数(2)等式约束(3)不等式约束(4)变量约束CVXPY是一个基于python环境的功能强大的凸优化计算软件包,使用其求解一个简单的线性规划问题 ,min f=-4a+b+7c (1)目标函数s.t....原创 2019-04-07 11:00:20 · 4489 阅读 · 1 评论 -
Veusz教程(2)——创建数据集
本博客主要介绍Veusz创建数据集的方法,主要包括一维数据集和二维数据集。一维数据集创建一维数据有三种方法:(1)常规的数据递增,即数据起点、终点和步长控制| (2) 参数形式(3)根据已有变量进行操作,这部分内容就不提了,很简单二维数据集创建二维数据也有三种方式(1)基于已有一维数据,作x,y的值,z值由x,y的函数构成,例如x=xdata,y=ydata,z=f(x,y)...原创 2019-04-23 21:27:23 · 2679 阅读 · 0 评论 -
Linux系统下公式编辑器KLatexFormula
环境:Linux Mint 18.3 xfce 安装要求:Qt5,cmake,texlivelinux系统下WPS编辑文档与office最兼容,自带的LibreOffice兼容性比较差。作为工科生编辑公式是在所难免的,而且要应用到WPS上面,比试了网上说的几个linux系统下的公式编辑器都不尽人意 (1)Libreoffice math不支持复制到WPS,编辑界面呆板 (2)Aurora是商业原创 2018-01-09 00:51:36 · 14334 阅读 · 3 评论 -
二次规划问题(Quadratic Programming)(Octave求解)
原创 2019-05-25 17:43:27 · 26801 阅读 · 6 评论 -
牛顿法求解非线性方程组(Octave)
Octave:5.1.0参考书籍:OctaveAtBFH.pdf(自行网上搜索)需要两个文件:函数文件fsolveNewton.m,函数名和文件名一定要对应脚本文件nonlinear_test.m参考书籍OctaveAtBFH第72页内容:fsolveNewton.m 程序function [x, iter, fval] = fsolveNewton(f ,x0 , tolx ...原创 2019-05-29 13:25:31 · 15385 阅读 · 0 评论 -
14-QT5 GSL求解微分方程并结合qcustomplot绘图
1. 所求微分方程2y′−y=4sin(3t),y(0)=y0,t∈[0,8]2y′−y=4sin(3t),\quad y(0)=y0,\quad t \in [0,8]2y′−y=4sin(3t),y(0)=y0,t∈[0,8]2. GSL相关函数定义ODE系统: gsl_odeiv2_system // 所求函数 int (* function) (doub...原创 2019-09-08 01:18:51 · 1238 阅读 · 2 评论 -
python线性规划(linear programming)与分配问题(assignment problem)
软件库:scipy.optimize相关函数:1.scipy.optimize.linprog(c, A_ub=None, b_ub=None, A_eq=None, b_eq=None, bounds=None, method='simplex', callback=None, options=None)2.scipy.optimize.linear_sum_assignment(cost...原创 2018-10-27 00:30:20 · 13255 阅读 · 1 评论 -
Gekko/MATLAB/Scipy/CVXPY/Octave非线性约束优化
软件库:scipy.optimize, numpy相关函数:scipy.optimize.minimize(fun, x0, args=(), method=None, jac=None, hess=None, hessp=None, bounds=None, constraints=(), tol=None, callback=None, options=None)这部分内容为scipy官方...原创 2018-10-27 00:00:04 · 8890 阅读 · 4 评论 -
线性方程组求解——基于MTALAB/Octave,Numpy,Sympy和Maxima
线性代数里一个重要的内容就是线性方程的求解,解方程其实从我们初中的时候就已经接触了,这篇文章记录的是对满秩方程(恰定方程)、欠秩方程(欠定方程)和超定方程三种线性方程的计算机求解方法,使用了MATLAB/Octave,Numpy,Sympy和Maxima来实现(有些可能是只是其中的几种),除了MATLAB外,其他都是开源免费的,Octave和matlab最相似,大部分语法兼容,Numpy和Sympy原创 2017-01-23 12:31:47 · 5652 阅读 · 3 评论 -
周期方波信号频谱图
在学习傅里叶变换的时候遇到了求周期方波信号频谱图的例子,在书上和网上查阅了一些资料,发现大都是讨论的都是下图左边的周期信号的频谱,课程老师的PPT中也只列出了另一种周期信号频谱图的结论,没有在进行傅里叶变换,自己便根据定义推导了一遍,贴在这里作记录和分享之用。 需要PDF文档请点击链接:http://pan.baidu.com/s/1hssiuqg 密码:c3s7关于傅立叶级数展开的另一讨原创 2016-11-17 14:10:50 · 132991 阅读 · 13 评论 -
Python产生Gnuplot绘图数据
gnuplot的绘图可以直接选取文件绘图,文件格式要求如下: x1x1 y1y1 x2x2 y2y2 ...... xnx_n yny_n在python中利用文件操作的write方法可以非常方便实现,在此记录一下,这里强调s的是gnuplot的绘图,用python只是产生一下数据w而已,并不讨论python绘图和gnuplot的优劣,自己也是刚学gnuplotPython代码import o原创 2017-05-14 01:15:24 · 5479 阅读 · 0 评论 -
Gnuplot三维绘图
网上关于Gnuplot三维绘图的介绍比较少,我在这里做下自己学习记录,详细的代码注释就不想写了,我自己是参考官方帮助文档和在bookzz.org下载的一本英文电子书学习的,不想翻译了,有兴趣的话可以自己查阅相关资料,很多详细参数设置都能在帮助文档找到,比如show colornames可以输出颜色的名称,对绘图有很大帮助。其他的介绍在其他博文有很多介绍我就不说了,写完这篇还要忙着复习考试。。。1、原创 2017-05-15 14:13:16 · 10622 阅读 · 1 评论 -
python实现傅立叶级数展开
相关文章:Python实现快速傅里叶变换(FFT)傅立叶级数的介绍我就不说了,自己也是应用为主,之前一直觉得很难懂,但最近通过自己编程实现了一些函数的傅立叶级数展开之后对傅立叶 级数展开的概念比较清楚了 f(x)=a02+∑n=1∞(ancos(nx)+bnsin(nx))f(x)=\frac{a_0}{2} + \sum_{n=1}^{\infty}(a_n cos(nx)+b_n sin(nx原创 2017-04-21 20:49:12 · 14963 阅读 · 1 评论 -
数学漫步百度云视频资源
下面给出《数学漫步》科普视频的百度云资源,该视频以图像运动的方式生动展现了许多深奥的数学知识,有兴趣的可以看看!观看时建议直接百度云客户端观看,因为那样可以查找在线字幕资源,原来是无字幕的。 链接:http://pan.baidu.com/s/1nvOXwud 密码:13pd如果视频连接失效请联系1151451036@qq.com,我看到后会马上回复的!分享是一种美德,希望大家也能多多分享知识原创 2016-04-29 23:52:35 · 6276 阅读 · 1 评论 -
Python实现快速傅里叶变换(FFT)
相关文章:傅立叶级数展开初探(Python)这里做一下记录,关于FFT就不做介绍了,直接贴上代码,有详细注释的了:import numpy as npfrom scipy.fftpack import fft,ifftimport matplotlib.pyplot as pltimport seaborn#采样点选择1400个,因为设置的信号频率分量最高为600赫兹,根据采样定理知采样频率原创 2017-05-02 11:34:43 · 140610 阅读 · 17 评论 -
python实现的简单图像矩阵变换
在学习《Coding the Matrix》的时候,了解到了矩阵变换在图像中的应用,先分享coursera的视频 链接:http://pan.baidu.com/s/1c23ZKzA 密码:yasi该门课程的代码在下列网站提供: Coding the Matrix Resources因为刚学第一课,这里记录一下。关于矩阵变换网上有好多博文介绍,这里就只是通过python实现一下效果,也让原创 2017-08-04 00:52:46 · 9105 阅读 · 0 评论 -
python列表解释(list comprehension)记录
list comprehension列表解释可以方便的实现列表的元素操作,还能结合if 、else 进行条件判断。 (1)生产序列vec1 = [num for num in range(20)]# list里面是tuplevec2 = [(x,y) for x in range(4) for y in range(5)] # list里面是dictvec3 = [[{'a':x,'b':原创 2017-11-24 17:39:06 · 4671 阅读 · 0 评论 -
python/scipy求解非线性方程(fsolve/root)
使用scipy.optimize模块的root和fsolve函数进行数值求解线性及非线性方程,下面直接贴上代码,代码很简单,from scipy.integrate import odeintimport numpy as npimport matplotlib.pyplot as pltfrom scipy.optimize import root,fsolve#plt.rc('text'原创 2017-11-28 12:42:36 · 50460 阅读 · 4 评论 -
Windows系统下Cygwin+Dev C ++ 配置GSL科学计算库
系统:win10 64bits 软件:cygwin(gcc7.3), Dev C++总算在windows成功安装了GSL,使用Cygwin+Dev C++折腾了不少,遇到了不少问题,本篇博客就记录一下.(1)下载安装Cygwin,安装过程要选择下载Devel 下的gcc工具链,我是在gcc下测试的,里面也有mingw64-x86_64套件,但是我之前在msys2中使用了这个去编译GSL2...原创 2018-08-08 15:22:42 · 4251 阅读 · 0 评论 -
windows Qt5.11.1 mingw32版本配置opencv3.2.0
终于实现了在windows下配置Qt和opencv,从刚学opencv尝试,到现在终于配置成功,断断续续经历了一年左右,真实操碎了心。。。走了太多弯路了系统:windows10 Qt:Qt5.11.1,mingw5.3版本 opencv:3.2.0版本一直有用最新软件的强迫症,这次屈服了,没有使用opencv3.4.2版本,本人尝试了2.7.13版本到3.4.2版本的所有opencv,...原创 2018-08-29 14:53:28 · 2330 阅读 · 0 评论 -
python/Matplotlib绘制复变函数图像
参照matlab绘制复变函数的例子,使用python实现绘制复变函数图像,'''参照matlab绘制复变函数的例子,创建函数cplxgrid,cplxmap,cplxroot'''# 1.导入相关库import numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import *# 2.创建函数...原创 2018-09-03 15:28:53 · 11727 阅读 · 0 评论 -
python微元法计算函数曲线长度
计算曲线长度,根据线积分公式: ∫BAf(x,y,z)dl∫ABf(x,y,z)dl\int_A^Bf(x,y,z)dl,令积分函数f(x,y,z)f(x,y,z)f(x,y,z)为1,即计算曲线的长度,将其微元化:limn→∞Δl→0∑i=0nf(xi,yi,zi)Δlilimn→∞Δl→0∑i=0nf(xi,yi,zi)Δli\underset{\begin{array}{c} n\...原创 2018-09-14 10:34:54 · 6427 阅读 · 1 评论 -
python/sympy求解矩阵方程
sympy版本:1.2假设求解矩阵方程 AX=A+2XAX=A+2XAX=A+2X 其中 A=⎛⎝⎜41−1212303⎞⎠⎟A=(423110−123)A=\left( \begin{matrix} 4& 2& 3\\ 1& 1& 0\\ -1& 2& 3\\\end{matrix} \right) 求解之前对矩阵方程化简为 (A−2E)X=A(A−2...原创 2018-09-15 10:44:54 · 12108 阅读 · 1 评论 -
Windows使用mingw编译openblas
系统环境:win10软件环境:(1)mingw 5.3,使用Qt5.11.1自带的(2)OpenBLAS-0.2.20(3)Armadillo9.1几点说明:(1)关于openblas在window下的使用多是介绍其window的预编译版,使用VS编译器,但笔者强迫症严重,平时尽量使用开源免费的工具/软件,虽说VS Studio有社区版,但还是不喜欢一大堆安装在电脑上,window下的...原创 2018-10-13 00:24:35 · 2472 阅读 · 1 评论 -
python/sympy计算施密特正交化向量
sympy的符号计算功能很强大,学习矩阵分析,重温了线性代数中施密特正交化的方法,正好可以用sympy解决一些计算问题。施密特正交化,也称 Gram-Schmidt 正交化过程 (Gram–Schmidt Orthogonalization Procedure). 该⽅法以Jørgen P. Gram 和 Erhard Schmidt 命名, 它更早出现在拉普拉斯和柯西的⽂章中[1],步骤如下:...原创 2018-10-22 22:10:35 · 22449 阅读 · 1 评论 -
Maxima符号计算系统简介
Introduction之前的一篇文章简单介绍了符号计算系统下MATLAB的代替品Python/Numpy/Scipy等,但是像Mathematica、Maple这类的以符号计算的的数学软件,其实也有开源软件的代替品,因为最近都在搞科学计算,配置了相关软件环境后就顺便写篇文章做下记录了。Maxima是由60年代末的Macsyma演变而来,现在流行的商业计算机代数系统软体Maple及Mathemati原创 2016-11-08 20:49:12 · 3385 阅读 · 0 评论