如何将matlab代码直接转化为fortran代码?

如何将matlab代码直接转化为fortran代码?,第1张

matlab2011版本刚出的一个功能就是用coder将matlab的M代码转化为C代码,至于转化为fortran代码的功能应该还在开发中吧,具体的可以去matlab技术论坛问一下http://www.matlabsky.com/

首先需要保存MATLAB代码在fortran同一目录下

这里命名成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之类的东西方法都是固定的, 不是用来研究的, 如果就具体某类问题你选了一个比较适合的方法,做了一些适当的改进的话, 自己写个程序就要比用这些更实用点。

是的


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8090071.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存