কাঠামোগত গ্রিডগুলির জন্য কার্যকর দোলন পদ্ধতি?


12

আমি দুটি অপরিকল্পিত গ্রিডের মধ্যে ডেটা ইন্টারপোলটিংয়ের জন্য একটি ভাল পদ্ধতি জানতে চাই, যেখানে একটি গ্রিড অপরটির মোটা সংস্করণ।

দক্ষতা আমার জন্য অত্যন্ত গুরুত্বপূর্ণ যেহেতু আমি একটি ক্ষণস্থায়ী পিডিই সমস্যা সমাধান করছি যেখানে সমাধানের প্রতিটি সময় পদক্ষেপে গ্রিডগুলির মধ্যে ডেটা স্থানান্তর করা দরকার।

আমি একটি নির্দিষ্ট বিন্দুর নিকটতম নোড অনুসন্ধান করার জন্য কেডি-ট্রি ব্যবহার করার কথা ভেবেছিলাম, তবে আমি সেই উপাদানটির শেপ ফাংশনগুলি (এফইএম সিমুলেশন) ব্যবহার করব ডেটাগুলিকে বিভক্ত করার জন্য। এটি কি ভাল সমাধান? আরও ভাল আছে?

আপনি কি এই কাজের জন্য সি / সি ++ এর কোনও শক্তিশালী এবং নির্ভরযোগ্য গ্রন্থাগার জানেন?

* আমি জানি একই ধরণের প্রশ্ন রয়েছে তবে এটি কাঠামোগত গ্রিডের সবচেয়ে সঠিক পদ্ধতি জিজ্ঞাসা করে।


এই প্রশ্নোত্তরটি দেখুন, আমি এর জন্য গুচ্ছ ওপেন-সোর্স পদ্ধতিগুলি সংগ্রহ করেছি: scicomp.stackexchange.com/questions/19137/…
denfromufa

উত্তর:


6

কাঠামোগত গ্রিডগুলির নিজস্ব জায়গা রয়েছে।

আপনি আর্থ সিস্টেম মডেলিং ফ্রেমওয়ার্ক (ESMF) দেখতে চাইতে পারেন। তাদের পুনরায় গ্রিডিংয়ের জন্য কিছু কোড রয়েছে - বিশেষত এই উদ্দেশ্যে - এবং তারা সমান্তরাল কোড সহ কিছু নিফটি স্টাফও করেছে। পুরো সিস্টেমটি বেশ কয়েকটি মডেলের জন্য ডিজাইন করা হয়েছে, সুতরাং সেখানে অন্যান্য দরকারী জিনিসও থাকতে পারে।

কিছু অন্যান্য নোট:

"উল্লেখযোগ্য সংখ্যক পয়েন্টের জন্য দক্ষতার সাথে এটি করার কোনও উপায় নেই"

ভাল, দক্ষ একটি আপেক্ষিক জিনিস - একবার আপনি গাছের কাঠামোতে গ্রিডটি পেয়ে গেলে আপনি এটি (লগন) এ অনুসন্ধান করতে পারেন যা নিয়মিত গ্রিড হিসাবে অনুসন্ধানের হিসাবে ও (1) নয়, যদিও এটি খুব সুন্দর হয়ে উঠতে পারে fast হয়।

এছাড়াও, মনে হচ্ছে যখন প্রতিটি সময় ধাপে ইন্টারপোলেশনটি করা দরকার, যদি গ্রিডগুলি মানিয়ে না চলে তবে একটি গ্রিড থেকে অন্য গ্রিডে ম্যাপিং স্থির থাকে। সুতরাং আপনি যে ম্যাপিংটি গণনা করতে পারেন (অর্থাত্ প্রতিটি গ্রিডে কোন উপাদানটি অন্য উপাদানের সাথে সামঞ্জস্যপূর্ণ) যেকোন উপায়ে সুবিধাজনকভাবে সংরক্ষণ করুন, সংরক্ষণ করুন এবং তারপরে আপনাকে কখনই গ্রিন পরিবর্তন না হওয়া পর্যন্ত এটি গণনা করার প্রয়োজন নেই।

এটি আপনাকে ইন্টারপোলেশন কোডটি ছেড়ে দেয় - যেখানে আপনি পারফরম্যান্সের সাথে নির্ভুলতার ভারসাম্য বজায় রাখতে চান - ত্রিভুজ জুড়ে সরল রৈখিক প্রবাহ দ্রুত হয়, এবং এটি যথেষ্ট ভালও হতে পারে।

"আমি একটি নির্দিষ্ট বিন্দুর নিকটতম নোড অনুসন্ধান করার জন্য কেডি-ট্রি ব্যবহার করার কথা ভেবেছিলাম, তবে আমি সেই উপাদানটির আকৃতি ফাংশনগুলি ব্যবহার করব"

মনে রাখবেন যে নিকটতম নোডটি আপনাকে উপাদানটি দেয় না - তাই আপনি যে উপাদানটি চান সেটি সন্ধান করতে আপনি আরও কিছু করতে চাইবেন। এর পরিবর্তে একটি আর্ট্রি ব্যবহার করা হবে, যা বাউন্ডিং বাক্স দ্বারা সঞ্চয় / অনুসন্ধান করে - আপনি প্রতিটি অনুসন্ধানের সাথে একাধিক উপাদান পেয়ে যাবেন, তবে তারপরে সরাসরি কোনটি সঠিক তা পরীক্ষা করে দেখতে পারেন।


এটি দেখতে সুন্দর লাগছে। আমার মেশগুলি অভিযোজিত করার দরকার নেই, সুতরাং এক গ্রিড থেকে অন্য গ্রিডে ম্যাপিংটি একবারে তৈরি করা হবে। আর-ট্রি ডেটা কাঠামো সম্পর্কে পরামর্শ দেওয়ার জন্য ধন্যবাদ।
বার্নার্ডো এমআর

1
O(N)O(logN)

7

যদি আমি আপনাকে সঠিকভাবে বুঝতে পারি তবে আপনি মোটা গ্রিডে ইন্টারপোল্ট করে সূক্ষ্ম গ্রিডের মান পূরণ করতে চান। একটি কাঠামোগত গ্রিডে লিনিয়ার ইন্টারপোলেশন করার একটি উপায় হ'ল ডেলাউন ট্রায়াঙ্গুলেশনের সাথে (এইভাবে মতলবের গ্রিডটা এবং ট্রাইস্ক্যাটারড ইনটারপ কমান্ড প্রয়োগ করা হয়)। আপনার গ্রিড পয়েন্টগুলির একটি ত্রিভুজ্যরণ তৈরির পরে, দ্বিখণ্ডিতটি লক্ষ্য বিন্দুযুক্ত ত্রিভুজটি সনাক্ত করতে, এর ব্যারিসেনট্রিক স্থানাঙ্কগুলি গণনা করে, এবং ইন্টারপোল্টেড মানটি গণনা করতে শীর্ষে ফাংশন মানগুলি ব্যবহার করে সিদ্ধ হয়। সিজিএল এন-ডাইমেনশনাল ত্রিকোণগুলি (মাঝারি এন জন্য) তৈরি করতে পারে এবং এতে অন্তর্নির্মিত 2 ডি ইন্টারপোলেশন মডিউলও রয়েছে।


হ্যাঁ. তবে আমি সূক্ষ্ম গ্রিড থেকে মানগুলিও মোটা গ্রিডে "ইনজেকশন" করতে চাই, এজন্যই আমি স্থানান্তর বলেছিলাম।
বার্নার্ডো এমআর

3

আমি এই মুহুর্তে যা করছি, আমি নোড নয়, চতুর্ভুজ বিন্দুতে ফাংশন মান স্থানান্তর করছি except আমি আমার প্রশ্নের নির্বাচিত উত্তরে ব্যাখ্যা করা কৌশলটি এখানে বাস্তবায়ন করছি: কোন ত্রিভুজ পয়েন্ট রয়েছে তা সন্ধান করা

ABAB

  1. BpiA
  2. pi
  3. AA
  4. Ap1p2p3A

NMAO(NM)O(max(N,M))


2

এটি এমন এক ধরণের কাজ যার জন্য আপনি সত্যিই কাঠামোগত জাল এড়াতে চান কারণ কোনও উল্লেখযোগ্য সংখ্যক পয়েন্টের জন্য দক্ষতার সাথে এটি করার কোনও উপায় নেই। আপনার কমপক্ষে কোনও একরকম সম্পর্কিত মেসগুলি ব্যবহার করা উচিত। উদাহরণস্বরূপ, যদি সেগুলি উভয়ই মোটা জালের জৈবিক পরিমার্জন থেকে প্রাপ্ত হয়, তবে আপনি তুলনামূলকভাবে সহজে এবং দক্ষতার সাথে এটি জানতে পারবেন যে অন্য জালের উপর একটি জালের আন্তঃবিন্দু বিন্দু কোথায় রয়েছে।


আমি মনে করি এটি সর্বোত্তম বিকল্প (গ্রিডগুলির শ্রেণিবিন্যাস) হতে পারে। যদি এটি হয় তবে আপনি কি কোনও ভাল ডেটা স্ট্রাকচার, বা ব্যবহারের জন্য নির্দিষ্ট পদ্ধতি জানেন?
বার্নার্ডো এমআর

হ্যাঁ, শ্রেণিবিন্যাসীয় জালগুলি সমস্ত কোয়াড / অক্ট-ট্রি হিসাবে সংরক্ষণ করা হয় (যদি তারা একক মোটা কোষ থেকে শুরু করে) বা এ জাতীয় গাছের বনগুলি (যদি মোটা জালের একাধিক কোষ থাকে)।
ওল্ফগ্যাং ব্যাঙ্গার্থ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.