Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用标量值解矩阵方程_Python_Numpy_Scipy_Minimize - Fatal编程技术网

Python 用标量值解矩阵方程

Python 用标量值解矩阵方程,python,numpy,scipy,minimize,Python,Numpy,Scipy,Minimize,我有两个方阵A和B,希望找到标量值s,它最小化了下面的等式: ||A-sB|| 其中| |是2-范数。如何使用numpy或scipy在python中高效地编写此代码?您可以使用:首先定义您的目标函数,我称之为f,然后minimize需要初始猜测x0以及要最小化的函数的其他参数: 将numpy导入为np 从scipy.optimize导入最小化 def f(x,A,B): 返回np.linalg.norm(A-x*B,ord=2) n=3 A=np.一((n,n)) B=np.arange(n**

我有两个方阵A和B,希望找到标量值s,它最小化了下面的等式:

||A-sB||

其中| |是2-范数。如何使用numpy或scipy在python中高效地编写此代码?

您可以使用:首先定义您的目标函数,我称之为
f
,然后
minimize
需要初始猜测
x0
以及要最小化的函数的其他参数:

将numpy导入为np
从scipy.optimize导入最小化
def f(x,A,B):
返回np.linalg.norm(A-x*B,ord=2)
n=3
A=np.一((n,n))
B=np.arange(n**2)。重塑(n,n)
最小化(f,x0=1,args=(A,B))
乐趣:1.5845110835227028
hess_inv:数组([[0.00838895]]
jac:数组([-4.47034836e-08])
消息:“优化已成功终止。”
nfev:24
尼特:5
njev:8
状态:0
成功:真的
x:数组([0.1844041])
Minimize将返回一种优化报告,特别是您关心的
x
值,您可以通过字典
Minimize(f,x0=1,args=(a,B))['x']
访问该值