
这里命名成test.m
内容如下:
[color=008000]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%[/color]
[color=FF0000]clear allclose allclc
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 测试通过
试一试!
YY频道7450欢迎您ansys、flux之类的功能比较正规点, 设置一下就可以做分析, 但是你有什么新奇点的想法大概是很难实现的了matlab有个FEM函数包, 也许做这方面能容易些吧。
如果你是公司里要做事情, 用ansys flux这种现成的就好了。 如果是搞研究要琢磨算法或者写论文的话也许matlab好一些。 如果研究完了要实用的话, 可以等matlab做通了转fortran, 速度能快一些
写代码比较省心, 要是能设置好分布式计算的话, 算几天什么数据都有了 。 而且用ansys的话论文里对算法、精度、开销、细节之类的也不太好分析吧
我是说ansys, flux之类的东西方法都是固定的, 不是用来研究的, 如果就具体某类问题你选了一个比较适合的方法,做了一些适当的改进的话, 自己写个程序就要比用这些更实用点。
是的
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)