আমি প্রায়শই লোকদের অভিযোগ শুনতে পাই যে ম্যাটল্যাব লাইসেন্সগুলি কত দামি । তারপরে আমি অবাক হয়েছি কেন তারা কেবল অক্টেভে বা আর ব্যবহার করে না । তবে কি ঠিক আছে? আপনি কি ম্যাটল্যাব প্রতিস্থাপনের জন্য আর ব্যবহার করতে পারেন?
আমি প্রায়শই লোকদের অভিযোগ শুনতে পাই যে ম্যাটল্যাব লাইসেন্সগুলি কত দামি । তারপরে আমি অবাক হয়েছি কেন তারা কেবল অক্টেভে বা আর ব্যবহার করে না । তবে কি ঠিক আছে? আপনি কি ম্যাটল্যাব প্রতিস্থাপনের জন্য আর ব্যবহার করতে পারেন?
উত্তর:
আপনি কি ম্যাটল্যাব প্রতিস্থাপনের জন্য আর ব্যবহার করতে পারেন?
হ্যাঁ.
আমি কয়েক বছর ধরে ম্যাটল্যাব ব্যবহার করেছি তবে গত 3 বছরে প্রাথমিকভাবে আর এ চলেছি। এই মুহুর্তে, তাদের তুলনায় অনেক বেশি মিল রয়েছে। এটি আপনার ক্ষেত্র এবং ব্যবহারের ক্ষেত্রে আংশিকভাবে নির্ভর করে। স্প্যান্সার গ্রাভস যেমন আগে বলেছিলেন , এটিও নির্ভর করে যে আপনি "কোন চার্চ ঘন ঘন ঘন ঘন ঘটেন" to আপনি সিদ্ধান্ত নেওয়ার আগে কোনও নির্দিষ্ট কাজের জন্য ম্যাটল্যাব টুলকিট বনাম সিআরএএন-এর দিকে নজর দিলে এটি সেরা ।
কিছু বছর আগে আর আরও একবার আর-হেল্পের অনুরূপ একটি প্রশ্ন জিজ্ঞাসা করা হয়েছিল । ডেভিড হিবিলার (মেইন বিশ্ববিদ্যালয়ে) একটি বিস্তৃত আর / এমএটিএলবি তুলনা বজায় রাখে এবং বিষয়টির সর্বোত্তম রেফারেন্স। আপনি মৌলিক কার্যাদি এই তুলনা পর্যালোচনা করতে পারেন ।
এখানে আমি অতীতে কয়েকটি জিনিস পর্যবেক্ষণ করেছি, যার মধ্যে কোনওটিই চুক্তিভঙ্গকারী হওয়া উচিত নয়।
সুতরাং, যদি সহজেই ব্যবহারের বিষয়টি প্রাথমিক উদ্বেগ না হয় (এবং ওপেন-সোর্স সরঞ্জামটি এড়াতে অন্য কোনও ব্যবসায়িক কারণ নেই), তবে আমি মনে করি যে আর ব্যবহারের জন্য সত্যিকারের কেস তৈরি করতে হবে It এর চারপাশের শক্তিশালী সম্প্রদায় (আর মেলিং তালিকাগুলি আশ্চর্যজনক), দ্রুত বিকাশ করছে (সিআরএএন দেখুন), এবং এটি নিখরচায় (যা কোনও ছোট সমস্যা নয়!)।
সম্পাদনা: আমি কেবল এটিতে আরও একটি বিষয় যুক্ত করব: "ফাংশনাল ডেটা অ্যানালাইসিস উইথ আর আর এমএটিএলবি" বইটিতে " মতলব এবং আর ভাষাগুলির প্রয়োজনীয় তুলনা" সম্পর্কিত একটি অধ্যায় অন্তর্ভুক্ত রয়েছে। এটি কিছু গুরুত্বপূর্ণ বাক্য গঠন পার্থক্য (যেমন একটি বিন্দুর ব্যাখ্যা, বা বর্গক্ষেত্র বন্ধনীর অর্থ []) কভার করে। ফাংশনাল প্রোগ্রামিং (যে কোনও ভাষায়) আগ্রহী প্রত্যেকের জন্য বইটি নিজেই পড়া ভাল reading
আর স্ট্যাটিস্টিকাল ডেটা বিশ্লেষণ এবং গ্রাফিক্সের জন্য পরিবেশ। ম্যাটল্যাবের উত্স সংখ্যাগত গণনাতে রয়েছে। আপনি যদি ডেটা ম্যানিপুলেশন (যেমন, ম্যাট্রিক্স / ভেক্টর ক্রিয়াকলাপ) এর জন্য ব্যবহার করেন তবে ভাষাটির বাস্তবায়নগুলির অনেকগুলি বৈশিষ্ট্য সাধারণ রয়েছে।
আর এর পরিসংখ্যানগত কার্যকারিতা অন্য কোথাও খুঁজে পাওয়া শক্ত (> CRAN- এ 2000 প্যাকেজগুলি ) পাওয়া যায় এবং প্রচুর পরিসংখ্যানবিদ এটি ব্যবহার করেন। অন্যদিকে, ম্যাটল্যাবের ইঞ্জিনিয়ারিং অ্যাপ্লিকেশনগুলির জন্য প্রচুর (ব্যয়বহুল) সরঞ্জাম বাক্স রয়েছে
সমস্যা সমাধানের জন্য এবং পরিবেশগত প্রকৌশল সম্পর্কিত মডেলগুলি তৈরি করতে আমি আর এবং ম্যাটল্যাব উভয়ই ব্যবহার করেছি এবং দুটি সিস্টেমের মধ্যে প্রচুর ওভারল্যাপ রয়েছে। আমার মতে, ম্যাটল্যাবের সুবিধাগুলি বিশেষায়িত ডোমেন-নির্দিষ্ট অ্যাপ্লিকেশনগুলিতে রয়েছে। কিছু উদাহরণ হ'ল:
স্ট্রিমলাইনের মতো ক্রিয়াগুলি যা তরল গতিবিদ্যা তদন্তে সহায়তা করে।
ইমেজ প্রসেসিং সরঞ্জামসেটের মতো সরঞ্জামবাক্স। আমি কোনও আর প্যাকেজ পাইনি যা জলাশয় অ্যালগরিদমের মতো সরঞ্জামগুলির সমতুল্য বাস্তবায়ন সরবরাহ করে।
আমার মতে ম্যাটল্যাব আরও ভাল ইন্টারেক্টিভ গ্রাফিক্স ক্ষমতা সরবরাহ করে। যাইহোক, আমি মনে করি আর অ্যাপ্লিকেশন উপর নির্ভর করে আর ভাল স্ট্যাটিক প্রিন্ট-মানের গ্রাফিক্স উত্পাদন করে। ম্যাটল্যাবের প্রতীকী গণিতের সরঞ্জাম বাক্সটি Ryacas বা rSymPy এর মতো আর সমমানের তুলনায় আরও ভাল সংহত এবং আরও সক্ষম। ম্যাটল্যাব সংকলকটির অস্তিত্ব ম্যাটল্যাব কোড ভিত্তিক সিস্টেমগুলিও ম্যাটল্যাব পরিবেশের থেকে স্বাধীনভাবে মোতায়েনের অনুমতি দেয় - যদিও এটির সহজলভ্যতা আপনাকে কতটা অর্থ ফেলতে হবে তার উপর নির্ভর করবে।
আরেকটি বিষয় আমার লক্ষ্য করা উচিত যে ম্যাটল্যাব ডিবাগারটি আমি কাজ করেছি তার মধ্যে অন্যতম সেরা।
আর এর সাথে আমি যে নীতিগত সুবিধাটি দেখি তা হ'ল সিস্টেমের উন্মুক্ততা এবং সহজেই যার সাহায্যে এটি বাড়ানো যায়। এটি CRAN এ প্যাকেজগুলির একটি অবিশ্বাস্য বৈচিত্র্যের ফলস্বরূপ। আমি জানি ম্যাথওয়ার্কস ব্যবহারকারী-অবদানকারী সরঞ্জামবাক্সগুলির একটি ভান্ডারও বজায় রাখে এবং আমি এটিকে এত বেশি ব্যবহার না করায় আমি কোনও তুলনা তুলতে পারি না।
আর এর উন্মুক্ততা সংকলিত কোডে লিঙ্কিং পর্যন্ত প্রসারিত। কিছুক্ষণ আগে আমার কাছে ফরট্রানে একটি মডেল লেখা ছিল এবং আমি ইনপুট এবং প্রক্রিয়া ফলাফল প্রস্তুত করতে ফ্রন্ট-এন্ড হিসাবে আর বা ম্যাটল্যাব ব্যবহারের মধ্যে সিদ্ধান্ত নেওয়ার চেষ্টা করছিলাম। সংকলিত কোডটিতে আমি ম্যাক্স ইন্টারফেস সম্পর্কে এক ঘন্টা পড়তে কাটিয়েছি। যখন আমি দেখতে পেলাম যে ইন্টারফেসটি পরিচালনা করার জন্য আমাকে একটি পৃথক ফোর্টরান রুটিন লিখতে এবং বজায় রাখতে হবে যা কিছু জটিল পয়েন্টার জাগলিং করেছিল, আমি ম্যাটল্যাবকে তাক লাগিয়েছিলাম।
আর ইন্টারফেসে কল করা রয়েছে .ফোর্ত্রান ([সাব্রোটিন নাম], [যুক্তি তালিকা]) এবং এটি কেবল দ্রুত এবং ক্লিনার।
আর ওভার আর ম্যাটল্যাবের একটি বড় সুবিধা হ'ল ম্যাটল্যাব ডকুমেন্টেশনের মান। আর, ওপেন সোর্স হওয়ায় এ বিষয়ে ভোগা হচ্ছে, এটি অনেকগুলি ওপেন সোর্স প্রকল্পের জন্য সাধারণ common
আর, তবে খুব কার্যকর পরিবেশ এবং ভাষা। এটি বায়োইনফরম্যাটিকস সম্প্রদায়ে ব্যাপকভাবে ব্যবহৃত হয় এবং এই ডোমেনে দরকারী অনেক প্যাকেজ রয়েছে।
আর এর বিকল্প হ'ল অষ্টাভে ( http://www.gnu.org/software/octave/ ) যা ম্যাটল্যাবের সাথে খুব মিল, এটি ম্যাটল্যাব স্ক্রিপ্টগুলি চালাতে পারে।
আমার অভিজ্ঞতাকে ম্যাটল্যাব থেকে পাইথন এ সরানো সহজ ট্রানজিশন - ন্যাপি / স্কিপিযুক্ত পাইথন আর এর চেয়ে স্টাইল এবং বৈশিষ্ট্যের দিক দিয়ে ম্যাটল্যাবের আরও কাছাকাছি রয়েছে। ওপেন সোর্স ডাইরেক্ট ম্যাটল্যাব ক্লোনস অক্টাভে এবং সাইল্যাবও রয়েছে ।
ম্যাটল্যাব যে আর করতে পারে না তা অবশ্যই করতে পারে - আমার অঞ্চলে ম্যাটল্যাব রিয়েল টাইম ডেটা অর্জনের জন্য অনেক বেশি ব্যবহৃত হয় - বেশিরভাগ হার্ডওয়্যার সংস্থাগুলিতে ম্যাটল্যাব ইন্টারফেস অন্তর্ভুক্ত থাকে। যদিও এটি আরআইয়ের মাধ্যমে সম্ভব হতে পারে এটি আরও অনেক বেশি জড়িত বলে ধারণা করুন। এছাড়াও সিমুলিঙ্ক কার্যকারিতার পুরো ক্ষেত্রটি সরবরাহ করে যা আমি মনে করি আর থেকে অনুপস্থিত is আমি নিশ্চিত যে আরও কিছু আছে তবে আমি আর এর সাথে তেমন পরিচিত নই sure
সংক্ষিপ্ত উত্তর: না, অবশ্যই না। গাণিতিক সফ্টওয়্যার প্যাকেজগুলির যে কোনও সেটগুলির ওভারল্যাপগুলি থাকতে পারে তবে কিছু সমস্যা ডোমেনের প্রতি তাদের সর্বদা পক্ষপাত থাকবে। আপনি এই প্যাকেজগুলির মধ্যে একটি ব্যবহার করতে চান কিনা তা এই পক্ষপাতিত্বগুলি দৃ়ভাবে চিত্রিত করে।
আর ম্যাটল্যাব কী করতে পারে তার একটি উদাহরণ সিগন্যাল প্রসেসিং / অধিগ্রহণ এবং নিয়ন্ত্রণের জন্য রিয়েল-টাইম হার্ডওয়্যারের ইন্টারফেস। ম্যাটল্যাবের একটি সিমুলিংক মডেল আপনার মেশিনে সিমুলেশন চালানোর জন্য উভয়কে কনফিগার করা যেতে পারে কোনও কোড বাস্তবায়নের জন্য কোডটি সংকলনের আগে ইনপুট হিসাবে পরিমাপ করা ডেটা গ্রহণ করে এবং উপযুক্ত আউটপুট গণনা করে (একটি নিয়ন্ত্রণ সিস্টেমের সিমুলেশন হওয়ার আগে যা ছিল তা এখন পুরোপুরি কার্যকর) এক). আপনার মেশিনে উপযুক্ত হার্ডওয়্যার বোর্ডের সাহায্যে আপনি পিসির মাধ্যমে রিয়েল-টাইম কন্ট্রোল সিস্টেম পরিচালনা করতে পারেন।
আর, বিপরীতে, পরিসংখ্যানের ভূমিকায় দৃly়ভাবে সেট রয়েছে বলে মনে হয়, যেখানে আমি নিশ্চিত যে এটি ম্যাটল্যাব যা করতে পারে তা কার্য সম্পাদন করে। একইভাবে, গাণিতিক ম্যাটল্যাবের চেয়ে প্রতীকী গণিতে আরও ভাল; সাধারণ প্রোগ্রামিংয়ে পাইথন এমএটিএলবি এর চেয়ে ভাল; gnuplot আসলে গ্রাফ তৈরি করার সময় তাদের সবার চেয়ে ভাল (আমি মনে করি); ইত্যাদি।
আমি উপরে বর্ণিত অনেক গুলোর সাথে একমত যেহেতু উত্তরটি ম্যাটল্যাব এবং আর সক্ষমতার বিচ্ছিন্নতার সাথে সুনির্দিষ্ট, তাই আমি একটি খুব গুরুত্বপূর্ণ একটিটির উল্লেখ করব: ম্যাটল্যাবে একটি জেভিএম অন্তর্ভুক্ত রয়েছে এবং জাভাটির সাথে নির্দোষ এবং দৃ rob় আন্তঃযোগিতা রয়েছে। জাভা-র সমস্ত বিশাল গ্রন্থাগার ম্যাটল্যাব ব্যবহারকারীর কাছে অ্যাক্সেসযোগ্য। ম্যাটল্যাব আইডিটি প্রায় কোনও দরিদ্রের গ্রহণ হিসাবে ব্যবহৃত হতে পারে। তুলনায়, আর জাভা খুব অপরিণত, যদিও এর স্রষ্টার অত্যন্ত মূল্যবান প্রচেষ্টা (রোমান ফ্রাঙ্কোইস) রয়েছে।
আমরা এটি করতে পারি না কারণ এটি আমাদের গ্রাহকদের দ্বারা প্রত্যাশিত / প্রয়োজনীয়।
স্ক্যালডিএফ প্যাকেজের সাহায্যে আর কেবলমাত্র পরিসংখ্যানই নয়, গুরুতর ডেটা মাইনিং করতেও সক্ষম - ধরে নিলে আপনার মেশিনে পর্যাপ্ত র্যাম রয়েছে।
আর আর সার্ভ প্যাকেজের সাথে আর একটি নিয়মিত টিসিপি / আইপি সার্ভারে পরিণত হয়; সুতরাং আপনি জাভা থেকে আর কল করতে পারেন (বা এপিআই থাকলে অন্য কোনও ভাষা)। জাভা আউট বা আর কল করতে একটি প্যাকেজও রয়েছে is
এমএটিএলবি এবং আর উভয়ের ব্যবহারকারী হিসাবে, আমি মনে করি তারা খুব আলাদা অ্যাপ্লিকেশন। আমি নিজে কম্পিউটার বিজ্ঞান ইত্যাদির একটি পটভূমি পেয়েছি এবং আমি ভাবতে সাহায্য করতে পারি না যে পরিসংখ্যানবিদদের জন্য আর স্ট্যাটিস্টিস্টিয়ানরা রয়েছেন অন্যদিকে ম্যাটল্যাব প্রোগ্রামারদের জন্য প্রোগ্রামারদের দ্বারা।
সমস্ত ধরণের পরিসংখ্যানগত স্টাফকে কল্পনা করা এবং গণনা করা খুব সহজ করে তোলে তবে এটি যদি আমার উপর নির্ভর করে তবে আমি সম্পর্কিত কোনও সংকেত প্রক্রিয়াকরণ প্রয়োগ করতে এটি ব্যবহার করব না।
সংক্ষেপে, আপনি পরিসংখ্যান করতে চাইলে আর ব্যবহার করুন you আপনি যদি প্রোগ্রাম করতে চান তবে ম্যাটল্যাব বা কিছু প্রোগ্রামিং ভাষা ব্যবহার করুন।
R
একটি প্রোগ্রামিং ভাষা।
ইন্টারেক্টিভ গ্রাফিক্স সমর্থন একটি ভাষা হিসেবে আর আমি ঘৃণা মতলব তুলনায় অনেক মতলব ভালো হয়, কিন্তু যখন আমি দেখতে তার ব্যবহারকারীদের মাউস অপারেশন সাথে ডেটা অন্বেষণ করতে পারবেন কিভাবে আমি ঈর্ষান্বিত পেতে, যখন আমি নতুন মান নিয়ে ব্যস্ত পুনরাবৃত্তি কমান্ড আছি xlim
ইত্যাদি মতলবও কাজের জন্য যে কোনও আর পদ্ধতির চেয়ে বহু প্যানেল প্লট পরিচালনা করে। সাধারণত, আর গ্রাফিক্সে 1960 এর অনুভূতি থাকে। এটি প্রকাশের জন্য সূক্ষ্ম, তবে ডেটা ইন্টারেক্টিভ অনুসন্ধানের জন্য সেরা সমাধান নয়।