我需要帮助解决我的功能问题,我的所有答案都为零

冰原狼

这是我要解决的问题:

编写一个函数 my_is_orthogonal(v1,v2, tol),其中 v1 和 v2 是相同大小的列向量,tol 是严格大于 0 的标量值。如果 v1 和 v2 之间的角度在 tol 之内,则输出应为 1 π/2; 也就是说,|π/2−θ < tol|,否则为 0。您可以假设 v1 和 v2 是相同大小的列向量,并且 tol 是一个正标量。

这是我的代码:

def my_is_orthogonal(v1,v2,tol):

    v1 = np.array((1,2,3))
    v2 = np.array((2,3,4))
    tol = print("Input a number larger than 0!")>0
    
    unit_vector1 = v1 / np.linalg.norm(v1)
    unit_vector2 = v2 / np.linalg.norm(v2)
    dot_product = np.dot(unit_vector1, unit_vector2)
    angle = np.arccos(dot_product)

    
    if abs((pi/2)-angle)<tol:
        print("1")
    else:
        print("0")
    return my_is_orthogonal

这些是我应该测试我的代码的情况:

Test cases for problem 2
a = np.array([[1], [0.001]])
b = np.array([[0.001], [1]])
output should be: 1
my_is_orthogonal(a,b, 0.01)
output should be: 0
my_is_orthogonal(a,b, 0.001)
output should be: 0
a = np.array([[1], [0.001]])
b = np.array([[1], [1]])
my_is_orthogonal(a,b, 0.01)
output should be: 1
a = np.array([[1], [1]])
b = np.array([[-1], [1]])
my_is_orthogonal(a,b, 1e-10)*

但对于我所有的情况,我得到的答案是零“0”

AKX

这是您的代码的固定版本。

有相当多的荒谬之处:

  • 您在函数的开头用常量覆盖了v1and 。v2其次,您覆盖tolprint(...) > 0, ie false(并且作为副作用总是打印错误消息)。换句话说,你的函数总是不变的。
  • 你不应该有一个函数打印 1 或 0,而是返回一个值。(您之前返回了函数本身,这听起来像是 MATLABism,但在 Python 中没有意义)。
  • 您没有显示您的导入pi(它不是 Python 中的内置),因此我将其替换为np.pi.
  • 您的测试向量的形状不正确。
import numpy as np

def my_is_orthogonal(v1, v2, tol):
    assert tol > 0, "Tol must be > 0"

    unit_vector1 = v1 / np.linalg.norm(v1)
    unit_vector2 = v2 / np.linalg.norm(v2)
    dot_product = np.dot(unit_vector1, unit_vector2)
    angle = np.arccos(dot_product)

    return abs((np.pi / 2) - angle) < tol


a = np.array([1, 0.001])
b = np.array([0.001, 1])
c = np.array([1, 1])
d = np.array([1, -1])
assert my_is_orthogonal(a,b, 0.01)
assert not my_is_orthogonal(a, b, 0.001)
assert not my_is_orthogonal(a, c, 0.01)
assert my_is_orthogonal(c, d, 1e-10)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我需要帮助来解决嵌套的FORM问题

需要帮助解决我的天气命令错误

我需要帮助解决这个 sql 语法

我有前导零的问题

需要帮助重构我的 firebase 功能

需要我的pdo登录功能的帮助

需要帮助解决功能问题

循环问题 - 需要帮助“优化”我的代码

我需要帮助,Foreach 和 JSON 的问题

我需要帮助理解这里的问题

有人可以帮助我了解为什么我需要一个IF和而这个答案?

我的 sscanf() 有问题,我无法解决

当数组的所有值都为零时,我们可以使用 softmax 激活吗?

我的模型的所有属性在post方法中都为空

我正在使用 R 解决统计问题,我需要有关总体均值差异的置信区间的帮助

如何获得我移至“已解决”的所有问题

我需要帮助来解决绘图表面中的 matlab 问题

我需要帮助来解决为什么MySQL查询花费比预期更长的时间的问题

我需要帮助找到一个解决问题的方法,React、Firebase、For Loop

我需要帮助来解决升级问题,“获取升级失败”,是从12.04到12.10

我在将数据导入到asp.net页面时遇到问题,当我打开页面时,我发现所有文件都为空

元组问题的python mysql更新功能,我再次需要您的帮助

错误未归零颤振功能帮助我

我需要这段代码,我有一个无法解决的排序问题

PHP 代码没有输出我需要的内容。我怎样才能解决这个问题?

检查我表单中的所有问题是否都有答案Jquery

使用Viewpager显示来自网络的图像,但没有显示给我,有人帮助我解决了这个问题

我的php代码有问题,我需要为数据库划分功能

我需要帮助来解决C语言中的这段代码