三、假定正态分布,求解1倍标准差和0.5倍标准差的概率?

二、求解多元线性或非线性方程组解

一、求解3元一次方程

1、学习资料  https://github.com/lijin-THU/notes-python/tree/master/04-scipy

2、子模块,即功能

3、学习笔记

二、help(linalg)

dir(linalg)
['absolute_import',
'basic',
'blas',
'block_diag',
'cdf2rdf',
'cho_factor',
'cho_solve',
'cho_solve_banded',
'cholesky',
'cholesky_banded',
'circulant',
'clarkson_woodruff_transform',
'companion',
'coshm',
'cosm',
'cython_blas',
'cython_lapack',
'decomp',
'decomp_cholesky',
'decomp_lu',
'decomp_qr',
'decomp_schur',
'decomp_svd',
'det',
'dft',
'diagsvd',
'division',
'eig',
'eig_banded',
'eigh',
'eigh_tridiagonal',
'eigvals',
'eigvals_banded',
'eigvalsh',
'eigvalsh_tridiagonal',
'expm',
'expm_cond',
'expm_frechet',
'find_best_blas_type',
'flinalg',
'fractional_matrix_power',
'funm',
'get_blas_funcs',
'get_lapack_funcs',
'hadamard',
'hankel',
'helmert',
'hessenberg',
'hilbert',
'inv',
'invhilbert',
'invpascal',
'kron',
'lapack',
'ldl',
'leslie',
'linalg_version',
'logm',
'lstsq',
'lu',
'lu_factor',
'lu_solve',
'matfuncs',
'matrix_balance',
'misc',
'norm',
'null_space',
'ordqz',
'orth',
'orthogonal_procrustes',
'pascal',
'pinv',
'pinv2',
'pinvh',
'polar',
'print_function',
'qr',
'qr_delete',
'qr_insert',
'qr_multiply',
'qr_update',
'qz',
'rq',
'rsf2csf',
'schur',
'signm',
'sinhm',
'sinm',
'solve',
'solve_banded',
'solve_circulant',
'solve_continuous_are',
'solve_continuous_lyapunov',
'solve_discrete_are',
'solve_discrete_lyapunov',
'solve_lyapunov',
'solve_sylvester',
'solve_toeplitz',
'solve_triangular',
'solveh_banded',
'special_matrices',
'sqrtm',
'subspace_angles',
'svd',
'svdvals',
'tanhm',
'tanm',
'test',
'toeplitz',
'tri',
'tril',
'triu']

dir(optimize)

[ 'absolute_import',
'anderson',
'approx_fprime',
'basinhopping',
'bisect',
'bracket',
'brent',
'brenth',
'brentq',
'broyden1',
'broyden2',
'brute',
'check_grad',
'cobyla',
'curve_fit',
'diagbroyden',
'differential_evolution',
'division',
'excitingmixing',
'fixed_point',
'fmin',
'fmin_bfgs',
'fmin_cg',
'fmin_cobyla',
'fmin_l_bfgs_b',
'fmin_ncg',
'fmin_powell',
'fmin_slsqp',
'fmin_tnc',
'fminbound',
'fsolve',
'golden',
'lbfgsb',
'least_squares',
'leastsq',
'line_search',
'linear_sum_assignment',
'linearmixing',
'linesearch',
'linprog',
'linprog_verbose_callback',
'lsq_linear',
'minimize',
'minimize_scalar',
'minpack',
'minpack2',
'moduleTNC',
'newton',
'newton_krylov',
'nnls',
'nonlin',
'optimize',
'print_function',
'ridder',
'root',
'rosen',
'rosen_der',
'rosen_hess',
'rosen_hess_prod',
'show_options',
'slsqp',
'test',
'tnc',
'zeros']

问题:

1、scipy scipy-ref-1.1.0.pdf 中 Unconstrained minimization of multivariate scalar functions 下面

Nelder-Mead Simplex algorithm (method='Nelder-Mead')

不明白这个函数是如何求解的?为啥要这样写?

def rosen(x):
return sum(100.0*(x[1:]-x[:-1]**2.0)**2.0+(1-x[:-1])**2.0)

2、如何处理非线性约束问题?

1、如果全部为线性约束问题,所有的线性约束问题都可以转换为矩阵来求解

例如:求解 x-y>0 y>2 线性约束下的 min(x)

2、仅存在一个非线性约束
3、存在多个非线性约束问题
4、同时存在多个非线性约束和线性约束问题

3、 在多元非线性约束下,为什么加入Jacobian和Hessians ?jacobian为非线性约束的导数,Hessians这个函数是如何得出的?

三、假定正态分布,求解1倍标准差和0.5倍标准差的概率?

https://baike.baidu.com/item/%E6%A0%87%E5%87%86%E5%B7%AE/1415772?fr=aladdin

import scipy.stats
1-scipy.stats.norm(0,1).cdf(1)
Out[3]: 0.15865525393145707
scipy.stats.norm(0,1).cdf(1)
Out[4]: 0.8413447460685429
1-(1-scipy.stats.norm(0,1).cdf(1))*2
Out[5]: 0.6826894921370859
1-(1-scipy.stats.norm(0,1).cdf(2))*2
Out[6]: 0.9544997361036416

一、求解3元一次方程

from scipy import linalg
A=np.array([[1,3,5],[2,5,1],[2,3,8]])
b=np.array([10,8,3]) for i in range(1000):
x=linalg.solve(A,b) x
Out[19]: array([-9.28, 5.16, 0.76])

二、求解多元线性或非线性方程组解

问题:只能得到一个解,不能得到全部解

from scipy.integrate import odeint
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import root,fsolve
#plt.rc('text', usetex=True) #使用latex
## 使用scipy.optimize模块的root和fsolve函数进行数值求解方程
## 1、求解f(x)=2*sin(x)-x+1
# rangex1 = np.linspace(-2,8)
# rangey1_1,rangey1_2 = 2*np.sin(rangex1),rangex1-1
# plt.figure(1)
# plt.plot(rangex1,rangey1_1,'r',rangex1,rangey1_2,'b--')
# plt.title('$2sin(x)$ and $x-1$')
f1=lambda x:np.sin(x)*2-x+1
sol1_root = root(f1,[0])
print('sol1_root:',sol1_root)
print('sol1_root.x',sol1_root.x)
sol1_fsolve = fsolve(f1,[0])
print('sol1_fsolve:',sol1_fsolve)
print('----------------')
# 2、求解线性方程组{3X1+2X2=3;X1-2X2=5}
def f2(x):
return np.array([3*x[0]+2*x[1]-3,x[0]-2*x[1]-5])
f2=lambda x:np.array([3*x[0]+2*x[1]-3,x[0]-2*x[1]-5])
sol2_root = root(f2,[0,0])
sol2_fsolve = fsolve(f2,[0,0])
print('sol2_fsolve:',sol2_fsolve) # [2. -1.5]
a = np.array([[3,2],[1,-2]])
b = np.array([3,5])
x = np.linalg.solve(a,b)
print('x:',x) # [2. -1.5]
## 3、求解非线性方程组
def f3(x):
return np.array([2*x[0]**2+3*x[1]-3*x[2]**3-7,
x[0]+4*x[1]**2+8*x[2]-10,
x[0]-2*x[1]**3-2*x[2]**2+1])
sol3_root = root(f3,[0,0,0])
sol3_fsolve = fsolve(f3,[0,0,0])
print('sol3_fsolve:',sol3_fsolve)
Backend Qt5Agg is interactive backend. Turning interactive mode on.
sol1_root: fjac: array([[-1.]])
fun: array([0.31514905])
message: 'The iteration is not making good progress, as measured by the \n improvement from the last ten iterations.'
nfev: 24
qtf: array([-0.31514905])
r: array([0.00451924])
status: 5
success: False
x: array([-1.04882813])
sol1_root.x [-1.04882813]
sol1_fsolve: [-1.04882813]
sol2_fsolve: [ 2. -1.5]
x: [ 2. -1.5]
sol3_fsolve: [1.52964909 0.973546 0.58489796]

python scipy库的更多相关文章

  1. 转Python SciPy库——拟合与插值

    1.最小二乘拟合 实例1 import numpy as np import matplotlib.pyplot as plt from scipy.optimize import leastsq p ...

  2. Python SciPy库——插值与拟合

    插值与拟合 原文链接:https://zhuanlan.zhihu.com/p/28149195 1.最小二乘拟合 实例1 # -*- coding: utf-8 -*- import numpy a ...

  3. [笔记]我的Linux入门之路 - 05.Eclipse的Python开发环境搭建与Numpy、Scipy库安装

    一.Python环境 直接终端查询下python安装没:python --version Python 2.7.12 Ubuntu竟然已经装了Python2.7,那就好说了.不然自己装和装jdk差不多 ...

  4. Python数模笔记-Scipy库(1)线性规划问题

    1.最优化问题建模 最优化问题的三要素是决策变量.目标函数和约束条件. (1)分析影响结果的因素是什么,确定决策变量 (2)决策变量与优化目标的关系是什么,确定目标函数 (3)决策变量所受的限制条件是 ...

  5. 安装Python算法库

    安装Python算法库 主要包括用NumPy和SciPy来处理数据,用Matplotlib来实现数据可视化.为了适应处理大规模数据的需求,python在此基础上开发了Scikit-Learn机器学习算 ...

  6. 常用python机器学习库总结

    开始学习Python,之后渐渐成为我学习工作中的第一辅助脚本语言,虽然开发语言是Java,但平时的很多文本数据处理任务都交给了Python.这些年来,接触和使用了很多Python工具包,特别是在文本处 ...

  7. [Python] 机器学习库资料汇总

    声明:以下内容转载自平行宇宙. Python在科学计算领域,有两个重要的扩展模块:Numpy和Scipy.其中Numpy是一个用python实现的科学计算包.包括: 一个强大的N维数组对象Array: ...

  8. python常用库

    本文由 伯乐在线 - 艾凌风 翻译,Namco 校稿.未经许可,禁止转载!英文出处:vinta.欢迎加入翻译组. Awesome Python ,这又是一个 Awesome XXX 系列的资源整理,由 ...

  9. Python机器学习库scikit-learn实践

    原文:http://blog.csdn.net/zouxy09/article/details/48903179 一.概述 机器学习算法在近几年大数据点燃的热火熏陶下已经变得被人所“熟知”,就算不懂得 ...

随机推荐

  1. BOM--location对象、history对象

    location对象 location 是最有用的BOM 对象之一,它提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能. 事实上,location 对象是很特别的一个对象,因为它既是win ...

  2. centos7 root下创建系统时间同步定时任务

    步骤1:yum安装ntp.x86_64 步骤2:启动ntpd.service并设置为开机启动 步骤3:在root下crontab中添加定时任务 代码如下(每分钟校准一次): */ * * * * /u ...

  3. 循环调用spring的dao,数个过后无响应

    循环调用spring的dao,数个过后无响应 博客分类: spring daospringssh      最近遇到这么一个问题:前台按钮发送AJax请求到后台,后台是SSH框架.每点击一下按钮就发送 ...

  4. SSH框架结构分析

    分类: 工作问题2012-03-29 18:10 1511人阅读 评论(0) 收藏 举报 框架sshhibernatespringstrutsdao 最近在弄j2ee,发现还是学到了很多东西,心情ha ...

  5. 十六 StudentManagerSystem的一些业务实现

    1 删除学生的JSP实现: <%@ page language="java" contentType="text/html; charset=UTF-8" ...

  6. JAVA虚拟机:对象的创建

    在虚拟机中,当遇到需要new一个对象时,虚拟机首先会去处于方法区的常量池中查找new指令的参数,即查找此类的符号引用是否已存在,并且检查此符号引用的代表类是否已经做过加载.解析和初始化,如果做过则不会 ...

  7. C++面试常见问题——14内存管理

    内存管理 内存管理由三种方式: 自动存储 静态存储 动态存储 自动存储 对于函数的形参.函数内部变量.和结构体变量等,编译器在函数运行过程中在栈中自动对其分配内存,调用结束后对其进行销毁.变量的声明周 ...

  8. 【转】Windows中使用TortoiseGit提交项目到GitLab配置

    转  原文地址 https://www.cnblogs.com/xiangwengao/p/4134492.html   下文来给各位介绍Windows中使用TortoiseGit提交项目到GitLa ...

  9. R box-cox变换 《回归分析与线性统计模型》page100

    > rm(list = ls()) > library(openxlsx) > electric= read.xlsx("data101.xlsx",sheet ...

  10. R语言 方差稳定化变换与线性变换 《回归分析与线性统计模型》page96

    > rm(list = ls()) > A=read.csv("data96.csv") > A Y N 1 11 0.0950 2 7 0.1920 3 7 0 ...