আমি এটির সাথে জটিল কিছু করার চেষ্টা করার আগে এটির সংখ্যাগত আচরণটি অধ্যয়নের জন্য 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
যদি প্রয়োজন হয় তবে ফাংশনটি যেভাবে আর্গুমেন্ট গ্রহণ করে তা আমি সংশোধন করতে পারি ।