関数replace_variable_with_value マニュアル

(The documentation of function replace_variable_with_value)

Last Update: 2021/12/1


◆機能・用途(Purpose)

数式を表す文字列から変数名を表す部分を探索してその部分を変数の値で置換する。
Search parts that represent a variable name in a string that represents a mathematical formula, and replace these parts with the value of the variable.


◆形式(Format)

#include <formula.h>
inline char ∗replace_variable_with_value
(const char ∗formula,const char ∗variable_name, const double variable_value)


◆引数(Arguments)

formula 数式を表す文字列。
A string that represents a mathematical formula.
variable_name 置き換えたい変数名。
The variable name to be replaced.
variable_value 置き換える変数の値。
The value of the variable used to replace.


◆戻り値(Return value)

引数formulaが表す文字列中のvariable_nameと一致する部分を variable_value(%le形式)で置換した文字列。
A string obtained by replacing variable_name in the string represented by the argument formula with variable_value in “%e” format.


◆使用例(Example)

char formula_original[] ="sin(s)+2.0∗cos(s)-3.0∗log(s)";
char ∗formula_replaced =replace_variable_with_value(formula1,"s",12.3);

この例では
formula_replaced="sin(1.230000e+01)+2.0∗cos(1.230000e+01)-3.0∗log(1.230000e+01)"
となる。
This example results in:
formula_replaced="sin(1.230000e+01)+2.0∗cos(1.230000e+01)-3.0∗log(1.230000e+01)"


◆補足(Additional remarks)

上の例において「sin」や「cos」の「s」は 関数名の一部であると判断されて置換されない。 この判断には関数check_char_function_nameが用いられている (関数check_char_function_nameの中で想定されていない関数名の場合には 変数であると判断されて置換されてしまう)。
In the example above, the characters “s” in “sin” and “cos” are not replaced as they are identified as a part of a function name. For this identification, function check_char_function_name is used; this means that function names that are not assumed in function check_char_function_name are identified as a variable name and thus are replaced with the value.