c++矩阵相乘的初始值问题
来源:互联网 发布:淘宝里面主播挣多少钱 编辑:程序博客网 时间:2024/06/05 22:59
相信很多人在二维数组相乘的时候发现了值出错的问题 其实是很小的问题。原因在于我们在使用+=的时候第一次循环的时候数组的值是空造成+=的时候第一个数据是指针造成程序错误;
当一个矩阵使用+=的时候一定要注意初始值
如果不给初值第一个数组+=的时候回乱造成混乱
void CMFCApplication1View::OnCad32771()
{
CClientDC *pDC;pDC = new CClientDC(this);double point[4][2] = { { 100, 300 }, { 100, 150, }, { 400, 50 }, { 600, 300 } };double bezier[4][4] = { { -1, 3, -3, 1 }, { 3, -6, 3, 0 }, { -3, 3, 0, 0 }, { 1, 0, 0, 0 } };double mid[4][2];pDC->MoveTo(point[0][0], point[0][1]);for (int i = 1; i < 4; i++){ pDC->LineTo(point[i][0], point[i][1]);}pDC->MoveTo(point[0][0], point[0][1]);for (int i = 0; i<4; i++){ for (int j = 0; j<2; j++){ double m = 0;//这样就可以避免数组的初值是空的 for (int k = 0; k<4; k++){ m += (bezier[i][k] * point[k][j]); } mid[i][j] = m;//使用给了初值的m来+= 在进行接收; }}for (double t = 0.00; t <= 1.0; t += 0.01){ double fin[2]; double tt[1][4] = { t*t*t, t*t, t, 1 }; for (int i = 0; i < 2; i++){ double m = 0; for (int j = 0; j < 4; j++){ m+=tt[0][j] * mid[j][i]; } fin[i] = m; } pDC->LineTo(fin[0], fin[1]);}
}
0 0
- c++矩阵相乘的初始值问题
- C语言 矩阵的相乘实现
- 矩阵相乘的C代码实现
- C++:矩阵相乘
- C编程:矩阵相乘
- c语言矩阵相乘
- C语言矩阵相乘
- 矩阵相乘C语言
- 矩阵相乘问题
- 两个矩阵相乘问题
- 矩阵相乘问题
- 矩阵相乘的算法
- 矩阵相乘的算法
- 矩阵的相乘
- 矩阵相乘的优化
- 矩阵的逐个相乘
- 矩阵相乘的本质
- C语言实现矩阵相乘
- React Native导航器之react-navigation使用
- bzoj2456: mode
- 设计模式之抽象工厂模式
- ROS services (ros::advertiseService和ros::serviceClient)的简单demo
- ADB命令学习
- c++矩阵相乘的初始值问题
- 建立android本地镜像
- SpringJDBC
- centos 安装svn
- 贝叶斯分类器
- Linux 安装redis单点
- 构建自己的repo.git
- Linux 中 su 命令和sudo命令
- 仿知乎FloatingActionButton浮动按钮动画效果实现(三)