关于矩阵的问题
Questions regarding on matrices
我知道这听起来会很搞笑,但我只想知道。
通常我们定义2x2
矩阵,它将是的形式
A[1][1], A[1][2], A[2][1],A[2][2]
我们能写出一个矩阵,矩阵中每个元素的差为0.5吗?如何用c++编写简单的代码?既然我在和雅各布打交道。
A[1][1] A[1][3/2] A[1][2]
A[3/2][1] A[3/2][3/2] A[3/2][2]
A[2][1] A[2][3/2] A[2][2]
作为可能的解决方案,您应该定义自己的C++类,该类具有数组索引的首选步骤,并重载[]运算符。
[更新]这是此类的原始示例:
class MyArray{
private :
int* pA;
unsigned int n;
float m_step;
public:
MyArray(unsigned int n, float step ): pA( new int[n] ), n(n), m_step(step){}
~MyArray(){ delete [] pA, n = 0 ;}
void populate(int p) {
for (unsigned int i = 0; i < n ; i++) {
pA[i] = p;
p++;
}
}
int& operator[](float i){ /** Calculate correct internal array index based on input i and specified m_step. Return array element value by calculated index */ }
const int& operator[](float i)const{ /** Calculate correct internal array index based on input i and specified m_step. Return array element value by calculated index */ }
unsigned int size(){ return n;}
unsigned int size()const { return n;}
};
简单的答案是否定的。在最低级别,索引是相对于数组开头的偏移,该偏移对应于内存中的物理地址,并且物理地址总是基数。
一个更普遍的答案是,你可以使用任何类型可以排序,或者支持相等和兼容散列作为索引,只需使用std::map
或std::unordered_map
而不是CCD_ 4。大致来说:
std::map<double, std::map<double>> A;
在您的情况下,问题是您使用的密钥类型。由于涉及舍入的问题,double
不是作为一把钥匙是可取的。CCD_ 6可能具有适应性;否则你必须自己想办法。如果你很漂亮确保所有值都非常接近整数,或者非常接近以.5
结尾的东西,并且值会相当小,你可能会逃脱惩罚特殊订购:
struct Order
{
bool operator()( double lhs, double rhs ) const
{
static double const epsilon = 0.25;
double l;
modf( 2 * lhs + epsilon, &l );
double r;
modf( 2 * rhs + expsilon, &r );
return l < r;
}
};
(这假设所有的指数都是非负的。)然而,在这一点上,你还不如创建自己的指数矩阵,使用上面的l
和r
作为物理索引。
还要注意,在C++中,3/2
是1
,而不是1.5
。
相关文章:
- 类似于strcat()的函数出现问题
- 对对应于矩阵的行和列的对向量进行排序
- 涉及指针和手动实现的矩阵类的问题
- 你能帮我解决显示矩阵的问题吗?
- 有关邻接矩阵实现的问题
- 通过 C 接口传递C++ I/O 类时特定于编译器的问题
- 十进制到二进制的实现不能完全适用于我大学的检查器。问题或提示可能是什么
- 将函数应用于特征矩阵中的所有元素,而无需循环
- 我的转置矩阵代码有什么问题?
- DirectX矩阵:相对于面向方向的转换(例如在FPS中)
- 阵列火稀疏矩阵问题
- 如何解决在使用动态 2D 数组进行矩阵乘法的 MPI 进行并行编程时的问题
- 使用 ARDUINO 和处理在 8x8 LED 矩阵上显示数据时出现问题
- 如何将函数逐列应用于特征矩阵?
- OpenGL:将同形变换应用于矩阵堆栈
- 适用于矩阵稀疏模式的哈希函数
- C++查找整数是否存在于矩阵的一列中
- 是否可以将boost库的广度优先搜索算法应用于矩阵
- 无法为我的自定义类的对象赋值,该值的行为应类似于矩阵
- 将Boost UBLAS blas-1应用于矩阵