ম্যাটল্যাবে & এবং&& এর মধ্যে পার্থক্য কী?


উত্তর:


94

একক অ্যাম্পারস্যান্ড এবং হ'ল লজিকাল অ্যান্ড অপারেটর। ডাবল এম্পারস্যান্ড এবং& আবার হ'ল একটি যৌক্তিক অ্যান্ড অপারেটর যা সংক্ষিপ্ত-সার্কিট আচরণ ব্যবহার করে। শর্ট সার্কিটের অর্থ হ'ল দ্বিতীয় অপারেন্ড (ডান হাতের দিক) কেবল তখনই মূল্যায়ন করা হয় যখন ফলাফলটি প্রথম অপারেন্ড (বাম হাতের) দ্বারা সম্পূর্ণ নির্ধারিত হয় না

এন্ড বি (এ এবং বি মূল্যায়ন করা হয়)

এন্ড এন্ড বি (বি এর মূল্যায়ন যদি কেবলমাত্র সত্য হয়)


77
সতর্কবাণীতে: &অ্যারেতে পরিচালনা করতে &&পারে তবে কেবল স্কেলারে চালিত হতে পারে।
gnovice

পার্শ্ব দ্রষ্টব্য: 15 বছর প্রায় প্রতিদিন মতলবের সাথে কাজ করার পরে আমি সর্বদা '&' ব্যবহার করি এবং এটি কখনও আমাকে পাছায় কামড় দেয় না। ওতো, আমি অনেক লোককে জানি যারা '&&' ব্যবহার করে বিরক্ত হন কারণ তাদের মনে রাখতে হবে যে এটি সর্বজনীন নয় (হ্যাঁ আমি বুঝতে পারি যে 'এবং' তেমন দক্ষ নয় কারণ এটি শর্ট সার্কিট নয় তবে আমি কখনও ডেইজি- আমার ক্রিয়াকলাপগুলি শৃঙ্খলে রাখুন যাতে আজকাল সঞ্চয়ের পরিমাণ নগদ হয়।
এরিক

7
@ নিউরনেট এটি কার্যক্ষমতা সম্পর্কে সত্য নয়, এটি এমন কোনও নির্মাণের অনুমতি দেয় যেখানে প্রথম অভিব্যক্তিটি এমন শর্তের গ্যারান্টি দেয় যা ছাড়া দ্বিতীয় প্রকাশটি রান-টাইম ত্রুটির কারণ হতে পারে। যেমন d != 0 && 1/dবনাম d !=0 & 1/d- প্রথমটি শূন্য দ্বারা কোনও বিভাগের গ্যারান্টি দেয় না, দ্বিতীয়টি দেয় না।
ফ্রেজার

4
এই উত্তরটি অসম্পূর্ণ এবং ভুল। &কোনও ifবিবৃতিতে শর্ট সার্কিট করে । এবং &&স্কেলার ইনপুট নেয়। নীচে @ লরেনের উত্তরটি সঠিক।
ক্রিস লুয়েংগো

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

35

&&এবং ||সর্বদা স্কেলার ইনপুট এবং শর্ট সার্কিট নিন take |এবং &অ্যারে ইনপুট এবং শর্ট সার্কিট নিতে কেবল যখন / যখন বিবৃতি হয়। অ্যাসাইনমেন্টের জন্য, আধুনিকগুলি শর্ট সার্কিট করে না।

দেখুন এই ডক পৃষ্ঠাগুলি আরও তথ্যের জন্য।


4
আপনার কাছে কোন তথ্য আছে যার উপর মতলব সংস্করণ শর্টকাট &এবং |যদি / যখন বিবৃতিতে থাকে? এটি R2012b এবং R2014a এর ক্ষেত্রে মনে হয় না।
টিম

@ তারা কীভাবে শুধুমাত্র স্কেলারের সাথে কাজ করার জন্য ডিজাইন করেছিলেন কোনও ধারণা ? এটি অদ্ভুত বলে মনে হচ্ছে ...
এরিক

@ নিউরোনেট: আপনি অ্যারেতে পরিচালনা করলে আপনি শর্ট সার্কিট করতে পারবেন না।
ক্রিস লুয়েংগো

17

যেমন অন্যদের দ্বারা ইতিমধ্যে উল্লিখিত হয়েছে, &এটি একটি লজিকাল এবং অপারেটর এবং &&একটি শর্ট সার্কিট এবং অপারেটর । অপারেটসগুলি কীভাবে মূল্যায়ন করা হয় তেমনি তারা অ্যারে বা স্কেলারগুলিতে অপারেট করে বা না তার মধ্যেও তারা পৃথক :

  • &(এবং অপারেটর) এবং |(বা অপারেটর) অ্যারেতে উপাদান- ভিত্তিতে পরিচালনা করতে পারে ।
  • &&এবং ||শর্ট সার্কিট সংস্করণগুলির জন্য দ্বিতীয় অপারেন্ড কেবল তখনই মূল্যায়ন করা হয় যখন ফলাফলটি প্রথম অপারেন্ড দ্বারা সম্পূর্ণরূপে নির্ধারিত হয় না। এগুলি কেবল স্কেলারে চালিত হতে পারে , অ্যারে নয়।

8

উভয়ই যৌক্তিক এবং অপারেশন। && যদিও একটি "শর্ট সার্কিট" অপারেটর। ম্যাটল্যাব ডক্স থেকে:

তারা শর্ট-সার্কিট অপারেটর যাতে তারা তাদের দ্বিতীয় অপরেন্ডকে মূল্যায়ন করে কেবল তখনই যখন ফলাফলটি প্রথম অপারেন্ড দ্বারা সম্পূর্ণরূপে নির্ধারিত হয় না।

আরও এখানে দেখুন ।


6

&লজিকাল এলিমেন্টওয়্যার অপারেটর, অন্যদিকে &&লজিকাল শর্ট সার্কিটিং অপারেটর (যা কেবলমাত্র স্কেলারের উপর কাজ করতে পারে)।

উদাহরণস্বরূপ (আমার বাক্য গঠন ক্ষমা করুন)।

যদি ..

A = [True True False True]
B = False
A & B = [False False False False]

.. বা ..

B = True
A & B = [True True False True]

এর জন্য &&, ডান অপরেন্ডটি কেবল তখনই গণনা করা হয় যদি বাম অপারেন্ডটি সত্য হয় এবং ফলাফলটি একটি একক বুলিয়ান মান।

x = (b ~= 0) && (a/b > 18.5)

আশা করি এটা পরিষ্কার।


4
এটি সামান্য দিক নয়, এটি উপাদান-ভিত্তিক।
ক্রিস লুয়েংগো

4
আমি কি 10 বছর পরে আসলেই ভাল পেয়েছি? 😺
এরিক কার্বার

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


2

শর্তাধীন বিবৃতিতে ব্যবহারের জন্য আর্গুমেন্টগুলি তৈরি করার সময় থাম্বের একটি ভাল নিয়ম (আইএফ, WHILE, ইত্যাদি) সর্বদা && / ব্যবহার করা হয় is ফর্মগুলি না থাকলে খুব ভাল কারণ না থাকলে। দুটি কারণ আছে ...

  1. অন্যরা যেমন বলেছে, && / || এর সংক্ষিপ্ত-প্রচারিত আচরণ বেশিরভাগ সি-এর মতো ভাষার মতো। সেই মিল / পরিচয়টিকে সাধারণত তার পক্ষে একটি বিষয় হিসাবে বিবেচনা করা হয়।
  2. && বা ব্যবহার করে || ফরম বাহিনী আপনি ভেক্টর আর্গুমেন্ট জন্য আপনার অভিপ্রায় সিদ্ধান্ত জন্য পূর্ণ কোড লিখতে। যখন একটি = [1 0 0 1] এবং খ = [0 1 0 1], একটি & বি সত্য বা মিথ্যা? আমি ম্যাটল্যাবের নিয়মাবলী মনে করতে পারি না, আপনি কি পারেন? বেশিরভাগ লোক পারে না। অন্যদিকে আপনি যদি && বা || ব্যবহার করেন তবে শর্তটি সমাধান করার জন্য আপনি কোডটি "পূর্ণ" লিখতে বাধ্য হয়েছেন।

এটি করা, ম্যাটল্যাবের & এবং | তে ভেক্টরগুলির রেজোলিউশনের উপর নির্ভর করার পরিবর্তে এমন কোডের দিকে নিয়ে যায় যা কিছুটা আরও ভার্ভোজ, তবে অনেক বেশি নিরাপদ এবং বজায় রাখা সহজ।


4
+1 টি, কিন্তু এটা উল্লেখ করা উচিত যে আপনার উত্তর শুধুমাত্র ক্ষেত্রে যেখানে আপনি ক্ষেত্রে প্রযোজ্য চান অপারেশন চূড়ান্ত ফলাফল স্কালে যাবে। & এবং | এর জন্য অনেকগুলি ব্যবহার রয়েছে যেখানে && এবং || অকেজো কারণ তারা অ্যারেগুলি ফিরিয়ে দিতে পারে না, উদাহরণস্বরূপ যখন "1 থেকে 2 এর মধ্যে সমস্ত r নির্বাচন করে" এর মতো অভিনব সূচী তৈরি করার সময় r((r<2)&(r<2))
জোনাস হাইডেলবার্গ

ভাল কথা, জোনাস। আমি শর্তসাপেক্ষের কথা ভাবছিলাম, "লজিকাল ইনডেক্সিং" নয় (আপনি উল্লিখিত "অভিনব সূচক" এর জন্য ম্যাটল্যাব শব্দটি) যখন আমি এটি লিখেছিলাম। আমি প্রতিবিম্বিত করতে আমার পোস্টের প্রথম বাক্যটি পরিবর্তন করেছি। অনুস্মারকটির জন্য ধন্যবাদ!
বব গিলমোর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.