Z Fortranu do Mathcada

    Oto łatwy sposób na poradzenie sobie z dziedzictwem kodu Fortranu

    Fortran tak skutecznie pomagał inżynierom w przybliżaniu równań, że dla wielu z nich stanowił najważniejszy element procesu konstruowania. Z odejściem wielu inżynierów programujących w Fortranie na emeryturę pozostało dziedzictwo bitów, które nie są przez nikogo używane. Jeszcze większy problem w tym, że Fortran i produkty Microsoft nie współpracują ze sobą w naturalny sposób.

    – Znaczna część tej schedy programowej gwałtownie przekształca się w czarne skrzynki, które sprawiają kłopot wielu działom konstrukcyjnym – mówi John Sheehan, wiceprezes ds. usług w Mathsoft, twórcy programu Mathcad, narzędzia do obliczeń matematycznych.

    To właśnie na życzenie wielu klientów, których martwiło, że coraz więcej ich programów w Fortranie zaczyna spełniać rolę czarnej skrzynki, Sheehan zaczął szukać sposobu, jak Mathcad – interpretacyjny mechanizm z naturalną notacją matematyczną – mógłby tu pomóc. Mathcad jest również potężnym narzędziem umożliwiającym inżynierom współpracę – publikowanie i udostępnianie informacji.

    Do Mathcada można wprowadzić precyzyjnie określony układ równań, ale Sheehan odkrył, że niektórzy inżynierowie chcą dokładnie powielić wyniki otrzymywane z Fortranu – prawdopodobnie potrzebując marginesu błędów zapewniającego wsteczną zgodność. Zaprezentował wówczas lepsze podejście – zebranie oryginalnych, częściowo różniczkowych równań (które kod Fortranu usiłował przybliżyć) i wpisanie ich bezpośrednio do Mathcada.

    Trik taki jest potrzebny, gdy ktoś korzysta z dziedzictwa programów w Fortranie, do przybliżenia liniowych i nieliniowych równań algebraicznych lub różniczkowych, potrzebnych w formacie, w którym mogą być nie tylko przeliczone, ale również udostępnione innym i dla nich zrozumiałe.

    Fortran do Matchcada: plan konwersji

    Oto układ równań, które John postanowił rozwiązać…

    …następnie porównał wyniki wygenerowane przez Mathcad (z wykorzystaniem operatora kolumn) z wynikami uzyskanymi w Fortranie…

    …a potem wykazał, że można uzyskać dokładne rozwiązanie, korzystając z wbudowanej w Mathcad funkcji Pdesolve