সংক্ষিপ্ত উত্তর: অন্তর্নির্মিত ফাংশন হ'ল সংখ্যার অ্যারেগুলির জন্য arrayfun
আপনার map
ফাংশনটি ঠিক কী করে:
>> y = arrayfun(@(x) x^2, 1:10)
y =
1 4 9 16 25 36 49 64 81 100
অন্য দুটি অন্তর্নির্মিত ফাংশন রয়েছে যা একইভাবে আচরণ করে: cellfun
(যা কোষের অ্যারেগুলির উপাদানগুলিতে পরিচালিত হয়) এবং structfun
(যা কোনও কাঠামোর প্রতিটি ক্ষেত্রে কাজ করে)।
তবে, বিশেষত উপাদান-ভিত্তিক গাণিতিক অপারেটরগুলি ব্যবহার করে যদি আপনি ভেক্টরাইজেশনের সুবিধা গ্রহণ করেন তবে এই ফাংশনগুলি প্রায়শই প্রয়োজন হয় না । উদাহরণস্বরূপ, আপনি দিয়েছেন, একটি ভেক্টরাইজড সমাধানটি হ'ল:
>> x = 1:10;
>> y = x.^2
y =
1 4 9 16 25 36 49 64 81 100
কিছু অপারেশন স্বয়ংক্রিয়ভাবে উপাদানগুলিতে কাজ করবে (যেমন কোনও ভেক্টরকে স্কেলারের মান যুক্ত করা হয়) অন্যদের অপারেটরগুলির কাছে উপাদান-ভিত্তিক ক্রিয়াকলাপের জন্য একটি বিশেষ বাক্য গঠন থাকে ( .
অপারেটরের আগে কোনও দ্বারা বোঝানো হয় )। ম্যাটল্যাব-এ অনেকগুলি অন্তর্নির্মিত ফাংশন উপাদান-ভিত্তিক ক্রিয়াকলাপগুলি (প্রায়শই একটি নির্দিষ্ট মাত্রায় প্রয়োগ করা হয়, যেমন sum
এবং mean
উদাহরণস্বরূপ) ব্যবহার করে ভেক্টর এবং ম্যাট্রিক্স আর্গুমেন্টগুলিতে পরিচালনা করার জন্য ডিজাইন করা হয়েছে এবং সুতরাং মানচিত্রের কার্যকারিতা প্রয়োজন হয় না।
সংক্ষিপ্তসার হিসাবে, এখানে অ্যারের মধ্যে প্রতিটি উপাদান বর্গক্ষেত্রের কয়েকটি ভিন্ন উপায়:
x = 1:10;
f = @(x) x.^2;
y = x.^2;
y = f(x);
y = arrayfun(f, x);
অবশ্যই, এই জাতীয় অপারেশনের জন্য, বিকল্প # 1 সর্বাধিক বুদ্ধিমান (এবং দক্ষ) পছন্দ।