Прямо сейчас у меня есть код, где какая-то функция func
выполняет так, как я хочу, когда я даю ей конкретные аргументы в ее определении (поэтому я делаю это func[x1_,x2_]:=...
, а потом я делаю это func[x1_,x2_,x3_]:=...
, ничего не меняя еще и работает так, как хотелось бы). Есть ли способ автоматически заменить любые аргументы, которые я указываю для этой функции?
UPDATE:
Я еще не выделил код проблемы, но этот код здесь не выполняет то, что я хочу:
(* Clear all stuff each time before running, just to be safe! *)
\
Clear["Global`*"]
data = {{238.2, 0.049}, {246.8, 0.055}, {255.8, 0.059}, {267.5,
0.063}, {280.5, 0.063}, {294.3, 0.066}, {307.7, 0.069}, {318.2,
0.069}};
errors = {{x1, 0.004}, {x2, 0.005}};
getX[x1_, x2_] := 1/x2^2
getY[x__] =
Evaluate[Simplify[
Sqrt[Sum[(D[getX[x], errors[[i]][[1]]] errors[[i]][[2]])^2, {i,
Length[errors]}]]]]
map[action_, list_] := action @@@ list
y = map[getY, data];
y
getY[2, 3]
Этот код здесь: (дает {67.9989, 48.0841, 38.9524, 31.994, 31.994, 27.8265, 24.3525, 24.3525}
для y)
(* Clear all stuff each time before running, just to be safe! *) \ Clear["Global`*"]
data = {{238.2, 0.049}, {246.8,
0.055}, {255.8, 0.059}, {267.5,
0.063}, {280.5, 0.063}, {294.3, 0.066}, {307.7, 0.069}, {318.2,
0.069}}; errors = {{x2, 0.004}, {x1, 0.005}};
getX[x1_, x2_] := 1/x2^2
getY[x1_, x2_] := Evaluate[Simplify[ Sqrt[Sum[(D[getX[x1, x2], errors[[i]][[1]]]
errors[[i]][[2]])^2, {i, Length[errors]}]]]]
map[action_, list_] := action @@@ list
y = map[getY, data]; y
getY[2, 3]
ОБНОВЛЕНИЕ 2:
Моя математика:
Я намерен взять квадратный корень из суммы квадратов всех частных производных функции getX
. Таким образом, тело функции getY
. Затем я хочу оценить это выражение для различных значений x1
и x2
. Таким образом, у меня есть аргументы для getY
.