1

我用一个程序创建了一个函数....

    Func1[n_] := Table[a[i], {i, n}]

返回

     Func1[5]
     {a[1], a[2], a[3], a[4], a[5]}

我还创建了一个带有几个参数或几个参数、几个变量的函数!

    Func1[x_, y_, z_] := (x + y)*z - 1

返回

    Func1[5, 2, 3]
    20

但是,如果我想创建一个包含多个返回任何我想要的程序的函数呢?
我已经知道,当一个程序完成后,我必须在这个程序的最后输入“;”!
就像我们在 for 循环中一样......

   For[k = 2, k < 3, k++,
       S := Table[a[i], {i, n}];
       B := Dimensions[S][[1]]];
      ]

所以我需要用几个程序创建一个函数!
怎么做?
请帮我!

4

2 回答 2

1

这里有几个例子。请记住使用小写首字母以避免与所有以大写字母开头的内置函数冲突。

s[n_] := Table[a[i], {i, n}]

b[s_] := Dimensions[s][[1]]

For[k = 2, k < 3, k++,
 x = s[k];
 Print[b[x]]]

2

For[k = 2, k < 3, k++,
 Print[b[s[k]]]]

2

于 2016-03-14T10:25:00.430 回答
0

使用括号进行分组
例如

set$s$b[n_Integer] := ($s = Table[a[i], {i, n}];
                       $b = Dimensions[$s][[1]];)

现在,在执行之后,例如,

set$s$b[5]

一个会得到

$s

{a[1], a[2], a[3], a[4], a[5]}

$b

5

但是,在需要执行多个过程的情况下,利用模块化可能是更好的设计选择。

于 2016-05-01T15:58:43.913 回答