主题:FORTRAN调用MATLAB的方法一
首先需要保存MATLAB代码在fortran同一目录下
这里命名成test.m
内容如下:
[color=008000]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%[/color]
[color=FF0000]clear all; close all; clc;
M=load('matrix M.txt');
eigvalues=eig(M);
plot(real(eigvalues),imag(eigvalues),'-r*');
title('矩阵M的特征值');
xlabel('特征值实数部分');
ylabel('特征值虚数部分');[/color]
[color=008000]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%[/color]
!fortran代码如下:
[color=0000FF]program main
implicit none
integer,parameter :: rows=100, cols=100
real*8 :: M(rows,cols)
integer :: i
call random_seed()
call random_number(M)
open(100,file='matrix M.txt')
write(100,'(<cols>E25.15)') transpose(M)
close(100)
call system("matlab -r test")
end program main[/color]
直接运行fortran代码就可以了。
matlab不用事先打开。
vs2005+ivf10.1+matlab7.8.0 测试通过
试一试!
这里命名成test.m
内容如下:
[color=008000]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%[/color]
[color=FF0000]clear all; close all; clc;
M=load('matrix M.txt');
eigvalues=eig(M);
plot(real(eigvalues),imag(eigvalues),'-r*');
title('矩阵M的特征值');
xlabel('特征值实数部分');
ylabel('特征值虚数部分');[/color]
[color=008000]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%[/color]
!fortran代码如下:
[color=0000FF]program main
implicit none
integer,parameter :: rows=100, cols=100
real*8 :: M(rows,cols)
integer :: i
call random_seed()
call random_number(M)
open(100,file='matrix M.txt')
write(100,'(<cols>E25.15)') transpose(M)
close(100)
call system("matlab -r test")
end program main[/color]
直接运行fortran代码就可以了。
matlab不用事先打开。
vs2005+ivf10.1+matlab7.8.0 测试通过
试一试!