定义数学函数

定义数学函数
\documentclass[aspectratio=1610]{beamer} 
\usepackage{amsmath} 

\begin{document} 
\def\function(#1){ 96* (#1)-16 *(#1)^2 } 

%1. I am trying to condense the following two lines

\pgfmathparse{3+\function(1)}
\let\z\pgfmathresult
z result is \z  %


 %2.  I would like  store the result of the previous line in a 'variable'

 %The following doesn't work 

\def\myfp(#1,#2){\pgfmathparse{#1} \let\#2\pgfmathresult}
\myfp(3+ \function(1),\z)  

% /This yields the right answer BUT  z Result is \z   ..... Yields error 



%3. Why does the following mess up%

\let\z7\pgfmathresult

z7 result is {\z7} 

%4. PLEASE point me to relevant documentation!
\end{document}

答案1

我不确定我是否理解了这个问题。但是,如果你想调用一个宏,\z7这是行不通的,因为宏名不能包含数字。而且我必须删除一个反斜杠才能得到

\documentclass[aspectratio=1610]{beamer} 
\usepackage{amsmath} 

\begin{document} 
\def\function(#1){ 96* (#1)-16 *(#1)^2 } 

%1. I am trying to condense the following two lines

\pgfmathparse{3+\function(1)}
\let\z\pgfmathresult
z result is \z  %


 %2.  I would like  store the result of the previous line in a 'variable'

 %The following doesn't work 

\def\myfp(#1,#2){\pgfmathparse{#1} \let#2\pgfmathresult} % <removed \ before #2
\myfp(3+ \function(1),\z)  

% /This yields the right answer BUT  z Result is \z   ..... Yields error 



%3. Why does the following mess up%

%\pgfmathparse{\z*7}
\let\zseven\pgfmathresult

z7 result is {\zseven} 

%4. PLEASE point me to relevant documentation!
\end{document}

enter image description here

相关内容