- 博客(9)
- 收藏
- 关注
原创 将c++与c语言混编转成纯c++
因为导师最近给发了一个c语言和c++混编的程序,打开出现了很多错误,但本人对c语言的语法不太熟悉,所以在老师帮忙下(将c语言转成c++)调通后,自己又调了一遍,总结了一下改的东西1.首先在c++中定义c语言函数的话,因为C++ 编译器会对函数名进行修饰(添加参数类型信息),而 C 编译器不会。所以需要extern "C"“此函数/变量需按 C 语言的规则生成符号,不要进行名称修饰”。因为我现在要将c语言转成c++,所以直接将带有这一部分的代码注释掉,再将里面的函数声明改成c++的形式即可。
2025-04-15 16:34:54
906
原创 将Armadillo库函数换成Eigen库函数,以及使用Eigen库函数中遇到的问题
5.在Eigen库函数中使用resize来调整矩阵大小的时候会将矩阵中的元素全部清掉,比如我有一个2*2的矩阵{1,2;3,4},现想将其扩展成3*3的矩阵,但如果使用Eigen库函数中的resize,那么你的矩阵数据将不会保存下来,可以使用U.conservativeResize(),这样你矩阵中的原始数据就可以被保存下来。我这里是因为好像是因为求矩阵的共轭转置使用了向量的共轭转置的问题,有些记不清了,因为还改了点其他的地方,在跑大模型的时候,遇到了这样的错误,暂时解决不了,只能改换Eigen库函数。
2024-11-01 21:44:03
972
原创 vs2019配置Eigen库函数
我们在使用c++编码时,常常会需要用到一些矩阵向量计算的函数,但自己编写起来太过麻烦,这时我们就可以通过配置库函数来直接调用我们需要的函数即可。在C++项目属性--C/C++---预处理器---预处理器定义中添加USE_DOUBLE。在编写程序时即可使用Mat来代替MatrixXd;C/C++---附加包含目录--同样选中你电脑中Eigen库函数的路径--点击确定。VC++目录--包含目录--添加你的电脑中Eigen库函数的路径--点击确定。//定义一个4×4的浮点型的矩阵。//定义三个浮点数的列向量。
2024-09-28 21:20:50
560
原创 用gmsh创建一个立方体、物理分组、网格划分
点击Physical groups下的surface(这里我选择的是对面进行分组),会跳出以下界面,输入你要设置的物理组名称,我设置的是surface,在模型中选中你需要的面,选择完毕后按下e,物理组即可设置完成,如果所需的物理组大于等于2,后面的设置方法也是如此。为避免创建面的时候出现忘记那个面已经创建过,所以建议创建的线足够构成一个一个面时即可创建一个面,然后再接着创建线,可以构成一个面时再创建一个面,依次类推,直至创建完所有的面。点击Mesh下的2D(因为这里我用到的是2D网格,按自己所需进行设置)
2024-06-24 17:41:53
2784
原创 两个不同介质目标的积分方程
如上图所示我们将两个不同的介质目标放在空气中,当入射光照射在介质体表面时,会在其内部和外部产生大小相等方向相反电流和磁流,对于介质体内部的电流和磁流只能在其内部作用,所以介质体内部的场的分析和处理一个介质体目标时方法一样,对于介质体外部的场,除了自身外表面电磁流产生的场,还有另一个介质体目标外表面电磁流对其的作用,所以对于介质1来说,当我们分析一个介质目标的电磁散射特性时,我们可以使用PMCHWT方程,那分析两个不同的介质目标会有什么变化呢。对于介质2也同样如此。
2024-06-04 17:45:05
579
原创 快速自适应交叉近似算法(FACA)
,直至其达到步骤三的收敛条件,然后记录通过ACA挑选得到的行和列的索引,其中ACA算法这一过程只是为了得到行,列的索引值,其得到的矩阵R和S在这一过程中用不到。步骤四中的U、D、V中的元素其实都是从原始矩阵中提取出来的,如U就是所有行的索引,和被挑选出来的列的索引组成的矩阵。我们用ACA算法求解目标电磁散射时,其有一个很大的好处是我们不需要求解全部的阻抗矩阵,只需要其部分行和列就能估计出全部的阻抗矩阵,这样一来就会为我们的计算节省很多时间。以上图片截取为方小星老师的博士论文中的部分。
2024-05-23 16:11:00
428
原创 写好的C++程序如何用QT做个简单的界面
在槽函数中调用你在c++中写的函数,我这里c++中用来做最后计算的函数写在了EEDI,我们在c++中一般会在main 函数中来调用这个函数计算结果,这里因为QT本来就带有main函数所以将这个函数复制粘贴在,创建QT项目是自动生成的mainWindow.cpp文件中即可。最后按上面所说的创建两个文本框f_DFgas和EEDI来接收最后的结果(因为我写的函数有两个返回值,所以需要两个接受的文本框)如果文本框里输入的是数组的话获取方式如下,注意我这里ui指向的CF_ME1是文本框的名称,上面的CF_AE也是。
2024-05-17 20:28:28
659
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人