내가 빨리 다음과 같은 문제를 해결하기 위해 노력하고 2 적분의 합에 대한 코드를 만들려면 :티카
f[r_] := Sum[(((-1)^n (2 r - 2 n - 7)!!)/(2^n n! (r - 2 n - 1)!))
* x^(r - 2*n - 1),
{n, 0, r/2}];
Nw := Transpose[Table[f[j], {i, 1}, {j, 5, 200, 1}]];
X1 = Integrate[Nw . Transpose[Nw], {x, -1, 1}]
가이 코드에 신속하게 답변을 얻을 수 있습니다 :
$starttime = AbsoluteTime[]; Quiet[LaunchKernels[]];
DIM = 50;
Print["$Version = ", $Version, " ||| ",
"Number of Kernels : ", Length[Kernels[]]];
Nw = Transpose[Table[f[j], {i, 1}, {j, 5, DIM, 1}]];
nw2 = Nw.Transpose[Nw];
Round[First[AbsoluteTiming[nw3 = ParallelMap[Expand, nw2]; ]]]
intrule = (pol_Plus)?(PolynomialQ[#1, x]&) :>
(Select[pol, !FreeQ[#1, x] & ] /.
x^(n_.) /; n > -1 :> ((-1)^n + 1)/(n + 1)) + 2*(pol /. x -> 0)]);
Round[First[AbsoluteTiming[X1 = ParallelTable[row /. intrule, {row, nw3}]; ]]]
X1
Print["overall time needed in seconds: ", Round[AbsoluteTime[] - $starttime]];
하지만 어떻게 a 및 b가 알려진 상수 인 다음 문제를 해결해야하는 경우이 코드를 관리 할 수 있습니까?
X1 = a Integrate[Nw.Transpose[Nw], {x, -1, 0.235}]
+ b Integrate[Nw.Transpose[Nw], {x, 0.235,1}];
이 질문은 특히 명확하지 않으며 매우 형식이 잘못되어 읽기가 어려워 사람들이 나를 도와주지 못하게합니다. [당신] (http://stackoverflow.com/users/1031298) 그것을 고치려고하십시오 (이것은 코드 주위의 제목과 텍스트를 포함합니다)? - 좋은 질문은 좋은 대답을 격려하고 모든 사람들이 유익하다는 것을 유의하십시오! – Simon
관련 질문 : [SO/8021501] (http://stackoverflow.com/q/8021501) & [SU/315337] – Simon
Simon이 명확하지 않은 점은 무엇입니까? 나는 첫째로 X1 = Integrate [Nw. 전치 [Nw], {x, -1, 1}]; 이제 X1 = a * Integrate [Nw. 전치 [Nw], {x, -1, 0.235}] + b * 적분 [Nw.Transpose [Nw], {x, 0.235,1}]; 따라서 제시된 코드로이 두 적분을 얻으려고 시도하십시오. 이것은 모두 –