f# - 将浮点数和向量相乘?所以 val scale : float -> float*float -> float*float?
问题描述
如何制作一个函数 scale(),它将浮点数和向量相乘。它必须使用这里显示的这个库吗?我认为它被称为图书馆,如果那是错误的,对不起。
/// Multiplication of a float and a vector
val scale : float -> float * float -> float * float
花了4个小时试图弄清楚。
我的任务(数据科学第 3 周)是,我有一个包含 2D 向量库的签名文件,我需要使用该库从中生成函数。
/// A 2D vector library
/// Vectors are represented as pairs of floats module vec2d
/// The length of a vector
val len : float * float -> float
/// The angle of a vector
val ang : float * float -> float
/// Multiplication of a float and a vector
val scale : float -> float * float -> float * float
/// Addition of two vectors
val add : float * float -> float * float -> float * float
/// Dot product of two vectors
val dot : float * float -> float * float -> float
目前我有:
// LENGTH OF A VECTOR
// val len : float * float -> float
let len (x: float, y: float) =
sqrt(x**2.0 + y**2.0)
// ANGLE OF A VECTOR
// val ang : float * float -> float
let ang (x: float, y: float) =
Math.Atan2(y, x)
// MULTIPLICATION OF A FLOAT AND A VECTOR
// val scale : float -> float * float -> float * float
let scale () =
None
/// ADDITION OF TWO VECTORS
// add : float * float -> float * float -> float * float
let add (xy1: float, xy2: float) =
None
/// DOT PRODUCT OF TWO VECTORS
// dot : float * float -> float * float -> float
let dot (xy1: float, xy2: float) =
None
任何形式的帮助/提示都会非常有帮助!我被困住了!
解决方案
这是你要找的吗?
let scale n (x: float, y: float) =
n*x, n*y
这将向量元组 (x,y) 中的每个值与浮点数 n 相乘。
推荐阅读
- python - 为在子进程中运行的 python 功能测试运行假 redis
- javascript - 如何为同时更改文本的多个元素创建 javascript 显示/隐藏切换?
- java - 如何在 Spring-Kafka 中使用 Avro 序列化
- python - 没有这样的文件或目录:'results.txt'
- javascript - 如何在 Google Map api 中使用文本和数字过滤参数
- php - 如果电子邮件不是有效电子邮件,如何删除用户
- javascript - 使用 jQuery,无法将点击行为添加到使用 innerHTML 创建的按钮
- javascript - 枚举返回的 api 数据的索引
- java - 如何修复未连接适配器;在android pie中跳过布局
- python-3.x - Pyinstaller adddata query