小编use*_*273的帖子

fortran 90中的自动宽度整数描述符

我想在 fortran 90 中使用自动整数宽度描述符。我提到了输出格式:gfortran 中的太多空白 这个问题说我可以使用I0F0,0用于“自动”宽度。这是我的示例代码(符合 GNU Fortran 编译器):

PROGRAM MAIN
IMPLICIT NONE

INTEGER :: i
REAL :: j

WRITE (*,*) 'Enter integer'
READ (*,100) i
100 FORMAT (I0)

WRITE (*,*) 'Enter real'
READ (*,110) j
110 FORMAT (F0.0)

WRITE (*,100) 'Integer = ',i
WRITE (*,110) 'Real = ',j

END PROGRAM
Run Code Online (Sandbox Code Playgroud)

存在运行时错误 (unit = 5, file = 'stdin') Fortran runtime error: Positive width required in format

我误解了自动宽度描述符吗?我应该使用什么选项?

fortran gfortran fortran90 fortran95

4
推荐指数
1
解决办法
2557
查看次数

如何针对matlab使用特征库加速这个C++程序?

我想使用 C++ 进行大型线性代数计算。首先,我用 C++ 和 matlab 创建了这些比较程序。我也在这里给出了惊人的执行时间。您能否建议击败 matlab 或至少获得可比性能的方法?我知道 C++ 使用高度矢量化的方法进行计算。那么在涉及线性代数的大型科学编程中,是否应该始终使用 matlab 而不是 C++?我个人认为 matlab 不能为大型计算提供良好的性能,因此在这种情况下,C++ 比 matlab 更受欢迎。然而,我的计划结果与这种信念相反。

用 gcc 编译的 C++ 程序:

#include <iostream>
#include <Eigen\Dense> //EIGEN library

using namespace Eigen;
using namespace std;

int main()
{
MatrixXd A;
A.setRandom(1000, 1000);

MatrixXd B;
B.setRandom(1000, 1000);

MatrixXd C;
C=A*B;
}
Run Code Online (Sandbox Code Playgroud)

执行时间:24.141 秒

这是matlab程序:

function [  ] = Trial(  )
clear all;
close all;
clc;

tic;
A=rand([1000,1000]);
B=rand([1000,1000]);
C=A*B;
toc

end
Run Code Online (Sandbox Code Playgroud)

经过的时间是 0.073883 秒。

c++ matlab eigen

3
推荐指数
2
解决办法
4641
查看次数

Fortran 中的 Open 语句

我对 fortran 的 open 命令有疑问。

OPEN (UNIT = , FILE=file-name, ACCESS=access, FORM=form, RECL=recl)`
Access = sequential, direct
FORM=formatted, unformatted 
Run Code Online (Sandbox Code Playgroud)

reclis 是文件的记录长度(以字节为单位)

我尝试搜索很多,但无法理解顺序或直接访问、格式化或未格式化文件、文件记录长度的含义。有人可以解释一下这些术语的含义吗?

fortran gfortran

3
推荐指数
1
解决办法
3677
查看次数

为什么这个简单的C++程序给出意想不到的结果?

我做了一个简单的C++程序.我期望浮点输出为5/9,但是为零.有人可以评论,为什么输出是意外的,即零?

#include<iostream>


using namespace std;
void fun(double *ptr);

int main (int argc, char* argv[])
{
    double a;
    fun(&a);
    cout<<a<<endl; // why not floating point 5/9??
}

void fun (double *ptr)
{
    *ptr=(5/9);
}
Run Code Online (Sandbox Code Playgroud)

c++

-1
推荐指数
1
解决办法
70
查看次数

标签 统计

c++ ×2

fortran ×2

gfortran ×2

eigen ×1

fortran90 ×1

fortran95 ×1

matlab ×1