找回密码
 注册
Simdroid-非首页
查看: 63|回复: 0

[2. C/C++/C#] C++的Eigen库中矩阵和sscanf函数

[复制链接]
发表于 2014-2-6 11:06:30 | 显示全部楼层 |阅读模式 来自 湖南张家界
本人从Matlab换用到C++进行有限元程序的编写。主要是觉得Eigen这个库很不错。
只是Eigen自身不提供类似matlab的load函数,因此需要自己编写。其中逐行读入时,肯定用到sscanf函数。

只是需要小注意一些东西,如下代码是不行的
  1. while(fin.getline(lstr,256,'\n')){
  2.         sscanf(lstr,"%lf %lf %lf",A(i,0),A(i,1),A(i,2));
  3.         i++;
  4.     }
复制代码
下面这种代码才行,用一个double型的数组来做中间变量导入MatrixXd。
  1. while(fin.getline(lstr,256,'\n')){
  2.         sscanf(lstr,"%lf %lf %lf",&a1[0],&a1[1],&a1[2]);
  3.         A(i,0)= a1[0];
  4.         A(i,1)= a1[1];
  5.         A(i,2)= a1[2];
  6.         i++;
  7.     }
复制代码
当然也可以用ifstream,但是有一定的局限,就是必须要空格隔开数据。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-27 16:19 , Processed in 0.025859 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表