Skip to main content

How to convert FORTRAN to MATLAB?

Converting from one programming language to other programming language may need some effort and understanding on both programming language. In this post, I will discuss about converting from Fortran to Matlab.

Fortran is general-purpose programming language developed by IBM. It is used primarily for numeric computation and scientific computation. Matlab is array-based programming language that used for scientific computation.

To convert from Fortran to Matlab, here are two alternatives you can do:
1. Convert manually
2. Convert automatically

==== 1. Convert manually =====
To convert manually, you have to understand both language very well. In the converting process, it will be easier for you to display your fortran code and your matlab side-by-side. If you have dual screen, it will be a lot easier. You can put your fortran code in second screen and your matlab in first screen. Or you can print your fortran code and put it beside your workstation.

==== 2. Convert automatically ====
I found a fortran to matlab converter from mathworks developed by Barrowes consulting (http://www.mathworks.com/matlabcentral/fileexchange/5260-f2matlab). To convert, followings are some steps needed:
1. Download and extract f2matlab into your computer
2. In matlab, go to the folder in which you extract f2matlab
3. In matlab command, put >> f2matlab('myfortran.f');
4. The f2matlab.m will do automatically for you

However, I noticed that some files cannot be converted correctly. Therefore, I have to do double check for the converted one. I noticed even some files cannot be converted at all. So, the f2matlab can help you a lot. However, be ready for manual checking and even manual conversion.

Hope this helps.

Comments

Popular posts from this blog

If and For in Wolfram Mathematica (with examples)

IF Condition in Wolfram Mathematica The syntax is as follows xxxxxxxxxx If [ condition , what to do if true , what to do if false ] Some examples Example 1. Simple command x x = - 3 ; If [ x < 0 , - x , x ] 3 Example 2. If condition in a function abs [ x_ ] := If [ x < 0 , - x , x ] abs /@ { - 3 , 2 , 0 , - 2 } { 3 , 2 , 0 , 2 }   For in Wolfram Mathematica The syntax is as follows For [ start , test , inc , what to do ] Some examples Example 1. Simple Loop xxxxxxxxxx For [ i = 0 , i < 4 , i ++, Print [ i ]] 0 1 2 3 Example 2. Another simple loop For [ i = 10 , i > 0 , i --, Print [ i ]] 10 9 8 7 6 5 4 3 2 1 Example 3. Print list a = { 10 , 3 , 9 , 2 } For [ i = 1 , i < 5 , i ++, Print [ a [[ i ]]]] 10 3 9 2  

Find JIRA issues mentioned in Confluence Page

I have been walking through a lot of pages in internet but have not found any answer except one. However, the answer is not complete, so I will share my experience here. This feature is very useful, especially to summarize the issues found during certain tests, where the tests are reported in a confluence page. I found that there are so many questions about this, but Atlassian seems does not want to bother with this request. I found one way to do this by the following tricks Take one JIRA issue that related to the target confluence page (in this case, say it is GET-895) Find the global ID of a JIRA issue: http://bach.dc1.scram.com:8080/rest/api/latest/issue/GET-895/remotelink It will show the JSON like this: [{"id":28293,"self":"http://bach.dc1.scram.com:8080/rest/api/latest/issue/GET-895/remotelink/28293","globalId":"appId=662e1ccf-94da-3121-96ae-053d90587b29&pageId=105485659","application":{

Mininet/Containernet Problem: Exception: Error creating interface pair (s2-eth5,s3-eth1): RTNETLINK answers: File exists

If you did not shut down the previous running mininet/containernet network (e.g. if you lose your connection to remote server), you will got the following error when you try to rerun your mininet network Traceback (most recent call last): File "./mynet.py", line 31, in <module> net.addLink(d2, s1) File "build/bdist.linux-x86_64/egg/mininet/net.py", line 403, in addLink File "build/bdist.linux-x86_64/egg/mininet/link.py", line 430, in __init__ File "build/bdist.linux-x86_64/egg/mininet/link.py", line 474, in makeIntfPair File "build/bdist.linux-x86_64/egg/mininet/util.py", line 202, in makeIntfPair Exception: Error creating interface pair (d2-eth0,s1-eth2): RTNETLINK answers: File exists In order to solve the problem, you need to clean up the previous running topology by using the following command sudo mn -c It will clean up all your cache. It will be something like this $ sudo mn -c *** Re