我知道这个问题已经问过好几次了,但这个答案对我没有用。我想像这样计算求和
,
其中,h(x) = X*theta,theta是nx1矩阵,X是mxn矩阵。我试着这样写:
f = @(z)(sum(X(z,:)*theta) - y(z))^2;
v = sum(f([1:m])); % m is length of y
但它给了我一个错误:
error: for x^A, A must be a square matrix. Use .^ for elementwise power.
error: called from
computeCost>@<anonym
我正在使用Python 3.6。
我真的很困惑,为什么会发生这样的事情?
In [1]: import numpy as np
In [2]: a = np.array(-1)
In [3]: a
Out[3]: array(-1)
In [4]: a ** (1/3)
/Users/wonderful/anaconda/bin/ipython:1: RuntimeWarning: invalid value encountered in power
#!/Users/wonderful/anaconda/bin/python
Out[4]: nan
我正在编写一个Python程序,在输入数字之前打印所有10的幂。例如,如果输入为12345,则程序应输出10,100,1000,10000。这是我的程序-
import math
limit = raw_input('Check until: ');
tenpowers=1
for i in range(1, int(limit)+1):
if math.log(i, 10)==tenpowers:
print 'tenpower! - ', i
tenpowers=tenpowers+1
我的程序只有在输入值小于或
我用Python写了下面的两个函数:
def recur_tet(b, n):
if n == 1:
return(b)
else:
return(b ** recur_tet(b, n - 1))
def iter_tet(b, n):
ans = 1
for i in range(n):
ans = b ** ans
return(ans)
而且,令人惊讶的是,递归版本的速度要快一些:
python3> %timeit recur_tet(2,4)
1 µs ± 12.5 ns per loop
假设我有一个非常大的python整数,在python 2.7中(如果需要,我不介意切换到python 3)。
比说的更大的东西,2^100000。
在它的二进制序列中,找到所有1s的位置的最快方法是什么?(示例: 24为11000 -->= )
目前我正在使用:
sum = whatever_starting_number
while 1:
val = sum.bit_length()-1
sum -= 2**val
mylist.append(val)
if sum == 0:
break
这是好的,但它几乎没有比只取log2和重复减
我需要处理-并行化一些计算做了几次。因此,子进程python函数必须在两个调用之间保持活动。
在一个完美的世界里,我需要这样的东西:
class Computer:
def __init__(self, x):
self.x = x
# Creation of quite heavy python objects that cannot be pickled !!
def call(self, y):
return x+y
process = Computer(4) ## NEED MAGIC HERE to keep
我正在使用Python的为sin x创建泰勒系列
以下是sin(x)的Taylor级数。参考
然后是如何编写python代码来创建Taylor系列表达式
代码:
import sympy as sym
import math
x = sym.symbols('x')
# Technique 1: Compute the 5 first terms in a Taylor series for sin(x) around x = 0.
T_sin5 = 1 - (x**3/math.factorial(3)) + (x**5/math.factorial(5)) - (x*