注:我在一段时间前就做了这件事,从那以后我学到了更多,足以理解为什么我所要求的是不现实的。在问这个问题之前,我也应该对同情做更多的研究。
我想要创建一个程序,输入一个线性方程或线性方程组作为字符串,作为回报,您输入的变量的值如下:
equation = input('Expression: ')
# Code to solve your linear equation here
print(answer)
为了明确起见,我希望能够解决像x+5=10这样的问题,或者像2x+3y=29这样的问题,并得到一个类似"5"或"4,7"的输出。
我试过搜索多
在我的Python程序中,我使用了numpy和my。我使用numpy,因为它允许很容易地访问许多线性代数操作。但是,由于numpy的线性方程组的求解器并不那么精确,所以我使用数学方法进行更精确的运算。在计算系统的解之后:
solution = mpmath.lu_solve(A,b)
我想要一个数组的解决方案。所以我用
array = np.zeros(m)
然后执行一个循环来设置值:
for i in range(m):
array[i] = solution[i]
或
for i in range(m):
array.put([i],solution[i])
但在这两种情况
这是我的python代码,用于求解线性方程组的4个函数:
def inverse_solution(A, B):
inv_A = scipy.linalg.inv(A)
return [numpy.dot(inv_A, b) for b in B]
def scipy_standart_solution(A, B):
return [scipy.linalg.solve(A, b) for b in B]
def cholesky_solution(A, B):
K = scipy.linalg.cholesky(A, lower = True)
t
我的职责是:
% Enter the data that was recorded into two vectors, mass and period
mass = 0 : 200 : 1200;
period = [0.404841 0.444772 0.486921 0.522002 0.558513 0.589238 0.622942];
% Calculate a line of best fit for the data using polyfit()
p = polyfit(mass, period, 1);
fit=@(x) p(1).*x + p(2);
现在我想要解f(x)
我正在处理一个最小二乘(SCIPY)问题。通常最小二乘问题有给定的X数据和Y数据,并且给出了函数的一般形式,如线性/二次/对数,并在x和y数据的基础上,对曲线方程的参数进行了优化,即曲线拟合。
但是我要做的是给出Y数据和函数的精确形式,估计X数据将be...the x-数据是多维的,即有40个参数,其中每个实验只实现4个参数。我举了一个例子-
X data Y data function
a,b,c,d 0.4 a+b+c+d
a,c,d,e 0.2 a+c+d+e
c,d,e,k 0.7 c+
我试图用函数来解未知x的线性方程组A*x=b。下面是一个很好的例子:
import numpy as np
import scipy.linalg as linalg
A = np.array([[ 0.18666667, 0.06222222, -0.01777778],
[ 0.01777778, 0.18666667, 0.01777778],
[-0.01777778, 0.06222222, 0.18666667]])
b = np.array([0.26666667, -0.26666667, -0.4])
x = li
给定仿射2D变换矩阵,例如:
[a b tx]
[c d ty]
[0 0 1 ]
顺时针旋转的sxFor ,a由cos (θ)变换,b由scaleX变换,a由与x轴平行的剪切变换,x' = x + ky b由k变换。
在我的例子中,a被转换了两次,通过旋转和尺度-x,b被转换了两次,一次被旋转,一次被剪切。
旋转不再仅仅是arcsin(b)
ScaleX不再只是1 / a
ShearX不再只是x - ky
如何从该矩阵中获得rotation、shearX和scaleX的值?
我有一个公式
F = (-k.^(3/2) .* sqrt(4 .* c .* x + k) + 2 .* x .* k .* c + k.^2) / (2 .* c)
我试图用一个常数x和k值的c值来绘制F,如下所示:
x = 0.01;
c = 10000:10000:100000;
k = 100000;
F = (-k.^(3/2) .* sqrt(4 .* c .* x + k) + 2 .* x .* k .* c + k.^2) / (2 .* c)
此时,我假设matlab会给我一个与c大小相同的向量,但它只是打印:
F =
47.1563
为常数c和x绘制f与k值的范
我正在尝试实现最小二乘:
我有:$y=\theta\omega$
最小二乘解是\omega=(θ^{T}\theta)^{-1}\θ^{T}y
我试着:
import numpy as np
def least_squares1(y, tx):
"""calculate the least squares solution."""
w = np.dot(np.linalg.inv(np.dot(tx.T,tx)), np.dot(tx.T,y))
return w
这个问题是这个方法很快就
我有一个方程: 100 + (y * 5) = 200
我必须找到y=(200-100)/5的值,但最主要的是运算符符号可能会改变(例如: 100 *(y-5)= 200 ),所以如何编写一个程序,这样如果方程被传递,它就会求解并给出x的值,而不管使用什么运算符。
任何帮助都是非常感谢的。
我在节点js中尝试了下面的方法,并且必须求解方程:
var fs = require('fs');
fs.readFile('equation.json',
// callback function that is called when reading file
我找到了解线性方程组的方法,但我想做的是:我有两个变量,X, Y ∈ [0.0, 1.0],我想做的是:
求解这个线性方程组,以便使value,最大化,假设x * -1 + y * 1等于或大于0.**m *,考虑到这一点更重要的是,第二个方程(我想使值最大化)*
x * -1 + y * 1 >= 0
x * 10 + y * 20 = value
x + y = 1 (constraint)
我唯一的想法是做一个网格搜索,但也许我会花一些时间(这很愚蠢)来增加X和Y,比如:
for x in range (0, 1, 0.01):
for y in range (0, 1, 0
我有一个数据,它显示了3D空间中矢量的起点和终点坐标,这些矢量的方向是围绕3折螺旋轴:
x y z
0 38.522003 5.600998 129.203995 # start of v1
1 23.854996 66.576996 112.487000 # end of v1
2 4.417000 40.182999 121.309998 # start of v2
3 65.761993 27.550995 104.285004 # end of v2
4 50.272003