Fortran调用matlab作图示例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Fortran调用matlab,在这里实现,是通过系统调用了matlab程序,matlab程序运行了一个model模块。具体示例操作如下:
说明:实例用的是CVF+matlab7.1 不过相信都是一样的,因为代码跟编译器无关。
该实例来自网络,程序内容是用fortran自动生成一个随机矩阵,然后将矩阵的转置写入一个txt文件,然后用系统调用matlab程序,读取文件,求特征值,然后对特征值进行某变化后作图。更多关于matlab读取已有文件的知识可以找相关书籍参考。
1、Fortran中编写代码:
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,'(
close(100)
call system("matlab -r test")
end program main
2、Matlab建立一个test.m 文件,注意后缀,是model文件,编写为:
clear all; close all; clc;
M=load('matrix M.txt');
eigvalues=eig(M);
plot(real(eigvalues),imag(eigvalues),'-r*');
title('矩阵M的特征值');
xlabel('特征值实数部分');
ylabel('特征值虚数部分');
3、注意,test.m文件要放在编译完成的Fortran文件的工程文件夹下。Matlab软件一定是安装版的,这样系统才能调用。第一次安装后,需要重启电脑一次,系统才能确认自动调用matlab程序。
代码可以完全拷贝过去运行,没有问题。祝成功!