我有一个函数想分别求解多个变量,是否每次都要用另一个变量来记下该函数?
x,xG,xR
y = e.^tan(x.^2)+cos.^2(x);
yG = e.^tan(xG.^2)+cos.^2(xG);
答案 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。这个小脚本的最后一行是一个表达式,其功能与函数相同。请注意,由于我没有在该行的末尾添加分号,因此结果已打印出来
我建议您玩一会儿,然后,如果您还有其他问题,请提出一个新问题。