আমি এটির সাথে জটিল কিছু করার চেষ্টা করার আগে এটির সংখ্যাগত আচরণটি অধ্যয়নের জন্য 6 টি প্যারামিটার ফাংশনের পরামিতিগুলির স্থানটি চালানোর চেষ্টা করছি তাই এটি করার জন্য আমি একটি কার্যকর উপায় অনুসন্ধান করছি।
আমার ফাংশনটি ইনপুট হিসাবে 6-ম্লান নিম্পি অ্যারে প্রদানে ভাসমান মান নেয়। আমি প্রথমে যা করার চেষ্টা করেছি তা হ'ল:
প্রথমে আমি একটি ফাংশন তৈরি করেছি যা 2 টি অ্যারে নেয় এবং দুটি অ্যারে থেকে মানগুলির সংমিশ্রণ সহ একটি অ্যারে উত্পন্ন করে
from numpy import *
def comb(a,b):
c = []
for i in a:
for j in b:
c.append(r_[i,j])
return c
তারপরে আমি reduce()একই অ্যারের এম কপিগুলিতে এটি প্রয়োগ করতাম :
def combs(a,m):
return reduce(comb,[a]*m)
এবং তারপরে আমি আমার ফাংশনটি এর মতো মূল্যায়ন করি:
values = combs(np.arange(0,1,0.1),6)
for val in values:
print F(val)
এটি কাজ করে তবে এটি খুব ধীর হয়ে আছে। আমি জানি পরামিতিগুলির স্থানটি বিশাল, তবে এটি এত ধীরে হওয়া উচিত নয়। আমি এই উদাহরণে কেবল 10 6 (এক মিলিয়ন) পয়েন্ট স্যাম্পল করেছি এবং অ্যারে তৈরি করতে এটি 15 সেকেন্ডেরও বেশি সময় নিয়েছে values।
আপনি কি নামপাক দিয়ে এটি করার আরও কার্যকর উপায় জানেন?
Fযদি প্রয়োজন হয় তবে ফাংশনটি যেভাবে আর্গুমেন্ট গ্রহণ করে তা আমি সংশোধন করতে পারি ।