回 帖 发 新 帖 刷新版面

主题:[讨论]fortran中如何让子程序或者自定义函数有多个返回参量?

小弟初学fortran,最近在纠结subroutine和自定义函数的用法。无论用哪个,小弟想实现如下功能:让subroutine或自定义函数能够有多个返回参数。 而且这些多个返回参数是多维数组。

怕描述不清楚,一下特意用matlab简单代码叙述:
一下是主程序的m文件内容
clear all;
clc;
...
...
[AA,BB,CC] = forward_model[a,b,c,d];%调用函数 forward_model
...
...


以下是自定义函数的m文件内容。
function [XX,YY,ZZ] = forward_model[aa,bb,cc,dd];
...
...
...
end
其中AA,BB,CC,XX,YY,ZZ分别是3维数组。也就是说这个Matlab程序调用函数后返回的是3个3维数组。
这个matlab程序将会把通过forward_model算出的XX,YY,ZZ这三个三维数组并返回到主程序中的相对应的三个三维数组AA,BB,CC。

matlab小弟我已经能够轻松实现这个目的,返回多个3维数组(如上),那小弟想请教各位高手fortran如何实现这个功能?
如对小弟的问题不清楚的,希望能够留言,我会进一步解释,每天都上论坛关注。

回复列表 (共1个回复)

沙发

要不你先看看书里面怎么描述subroutine吧. fortran里面function还是建议只有一个返回值(或数组)的.

我来回复

您尚未登录,请登录后再回复。点此登录或注册