我可以调用一个函数来求解不同的变量吗?

时间:2019-04-15 17:39:38

标签: octave

我有一个函数想分别求解多个变量,是否每次都要用另一个变量来记下该函数?

x,xG,xR

y = e.^tan(x.^2)+cos.^2(x);
yG = e.^tan(xG.^2)+cos.^2(xG);

1 个答案:

答案 0 :(得分:2)

首先,您不能编写像cos。^ 2(x)这样的表达式。如果x是单个变量(即x = pi),则可以写cos(x)^ 2或cos(x ^ 2)。如果x是一个向量(列向量可能是x = [3; 4; pi],行向量可能是x = [3,4,pi],那么您可能会写cos(x)。^ 2或cos( x。^ 2)。句点(。)在八度中的作用在这里说明:https://octave.org/doc/v4.0.3/Arithmetic-Ops.html

另一个问题与理解表达式之间的区别有关:x = e ^ tanh(y);和一个功能。后者是一个单独的代码块,可以从程序中的任何地方调用。

考虑这个简单的例子

1;

function y=myfunc(x)
  y=exp(tanh(x));
endfunction

## main program
xxx=pi/3;
yyy=myfunc(xxx);
printf('%7.3f %7.3f\n',xxx,yyy)
y=exp(tanh(pi/3))

注释:第一行中的'1'告诉Octave脚本不仅仅具有以下功能:还必须解释主程序。函数行指定在函数内部,输入将被称为x,输出y,因此当从main调用我的函数时,输入为xxx(= pi / 2),输出为yyy。这个小脚本的最后一行是一个表达式,其功能与函数相同。请注意,由于我没有在该行的末尾添加分号,因此结果已打印出来

我建议您玩一会儿,然后,如果您还有其他问题,请提出一个新问题。