- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 Eigen 中重新创建 Matlab 重缩放命令
https://www.mathworks.com/help/matlab/ref/rescale.html
我试过翻译但不太确定。我的 Eigen 知识还是太有限了...
auto rescale = [&](
Eigen::MatrixXd mat,
Eigen::VectorXd inmin,
Eigen::VectorXd inmax,
Eigen::VectorXd l,
Eigen::VectorXd u
) -> Eigen::MatrixXd {
auto val = l.array() + (
((mat - inmin).array()) / ((
((inmax - inmin).array()) * ((u - l).array())
).array())
);
return val;
};
这可行吗?
最佳答案
没有。你的尺寸不匹配。您正在混合使用 ArrayXd
和 ArrayXXd
。这更像是您想要的,一个版本用于标量,另一个版本用于 vector 。调整rowwise
/colwise
以匹配不同版本的matlabs rescale
。
#include <Eigen/Core>
#include <iostream>
int main()
{
auto rescale = [&](
Eigen::MatrixXd mat,
double l,
double u
) -> Eigen::MatrixXd {
double min = mat.minCoeff();
double max = mat.maxCoeff();
auto val = l + (mat.array() - min) * ((u - l) / (max - min));
return val;
};
Eigen::MatrixXd mat(4,4);
Eigen::Map<Eigen::VectorXd>(mat.data(), mat.size()).setLinSpaced(1, mat.size());
std::cout << mat << "\n\n";
auto rescaled = rescale(mat, 2, 5);
std::cout << rescaled << "\n\n";
auto rescale2 = [&](
Eigen::MatrixXd mat,
Eigen::VectorXd l,
Eigen::VectorXd u
) -> Eigen::MatrixXd {
Eigen::ArrayXd min = mat.colwise().minCoeff();
Eigen::ArrayXd max = mat.colwise().maxCoeff();
auto val = l.array().replicate(1, mat.cols())
+ ((mat.array().rowwise() - min.transpose()).rowwise() *
((u - l).array() / (max - min)).transpose());
return val;
};
Eigen::VectorXd mn, mx;
mn.resize(mat.cols());
mx.resize(mat.cols());
mn.setConstant(1.3);
mx << 2, 5, 6, 9;
rescaled = rescale2(mat, mn, mx);
std::cout << rescaled << "\n\n";
return 0;
}
关于c++ - Matlab rescale 命令的 Eigen 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56116182/
我正在创建一个显示 5 或 6 条不同线条的时间线折线图,并且希望能够放大和滚动(一旦缩放)。我使用了一些使用面积图的示例,但出于某种原因,当我第一次缩放时,我的折线图跳到右边,我丢失了一些右边的数据
我不是编码员,但有一些基本知识并且一直在编辑模板。该网站几乎就在那里 - 在桌面上它看起来不错,但在移动设备上封面图片不会按比例缩小。 我已经尝试将大小从 100%、自动和封面更改为 vw 和 vh
我想用Seam Carving,找到了ImageMagick也许是个不错的选择。 然后我从源代码安装 ImageMagick 为 this表明。 我的问题是:当我输入命令时 转换 logo_trimm
我想在 Eigen 中重新创建 Matlab 重缩放命令 https://www.mathworks.com/help/matlab/ref/rescale.html 我试过翻译但不太确定。我的 Ei
我有一个 SVG 可以有效地用作“ mask ”;它显示在另一个带有背景图像的 div 的顶部,以便图像可以透过 SVG 的未填充区域窥视。 SVG 本身响应文档的高度(而不是宽度)。到目前为止,这工
我有这个代码 testPage table td { width: 50%; }
当我尝试时: normalization_layer = layers.Rescaling(1./255) 错误信息: AttributeError: module 'tensorflow.keras
我有一个 Angular 指令,它当前在加载事件被触发时执行它的工作: .directive("testDir", [ function() { return {
当我使用 skimage.transform.rescale 将图像尺寸缩小 40% 时,数据类型从 uint8 转换为 float64。 我可以手动更改数据类型,但我不想在我的代码中进行太多手动干预
我有一个包含 9 个样本(行)和 51608 个变量(列)的数据集,每当我尝试缩放它时,我都会收到错误: 这很好用 pca = prcomp(pca_data) 但是, pca = prcomp(pc
背景 我发现很多代码示例,人们使用 rescale=1./255 预处理图像数据,或者使用 preprocessing_function 设置它到它们在 ImageDataGenerator 中使用的
在下面的代码行中: datagen = ImageDataGenerator(rescale=1./255) 我收到这个错误: TypeError: __init__() got an unexpec
问题是我有几个绝对定位的 DIV,它们具有 background-size: cover;它们的高度由 javascript 计算以填充 100% 的视口(viewport)。在每个桌面浏览器和移动
目前我正在执行以下操作来重新缩放图像: CGImageRef resizeCGImage(CGImageRef image, size_t new_width, size_t new_height)
我正在尝试实现以 x 轴作为日期格式的缩放选项。这是代码示例: var margin = { top: 20, right: 20, bottom: 40, left: 100 }, svgW
我是一名优秀的程序员,十分优秀!