মতলব-এ i এবং j ভেরিয়েবল হিসাবে ব্যবহার করছি


142

iএবং jখুব জনপ্রিয় পরিবর্তনশীল নাম (যেমন দেখুন, এই প্রশ্নটি এবং এটি একটি )।

উদাহরণস্বরূপ, লুপগুলিতে:

for i=1:10,
    % do something...
end

সূচক হিসাবে ম্যাট্রিক্সে:

mat( i, j ) = 4;

এগুলিকে মতলবতে চলক নাম হিসাবে ব্যবহার করা উচিত নয় কেন ?


5
অবশ্যই আমি এটিকে পতাকাঙ্কিত করব না, তবে উত্তরগুলি বিচার করে আমি বলব এটি "প্রাথমিকভাবে মতামত ভিত্তিক"। ;-) আমি ব্যক্তিগতভাবে উপর ছেড়ে দিতে হবে না i, j, kজেনেরিক লুপ পরিবর্তনশীল নামের হিসাবে।
এ ডন্ডা

1
@ এ .ডন্ডা ভাল, এটি আপনার মতামত;)
শাই

@ শাই, এই প্রশ্নটিতে এটিই আপনার শেষ বাক্য: "এগুলি মতলবতে চলক নাম হিসাবে কেন ব্যবহার করা উচিত নয়?" সুতরাং আপনি কেন আপনার প্রশ্নে আমার সংস্করণটি প্রত্যাখ্যান করলেন তা খুব অস্পষ্ট! আমি আপনার শিরোনামটিকে আরও গঠনমূলক শিরোনামে পরিবর্তন করেছি "
মতলবতে

উত্তর:


176

কারণ iএবং jউভয় ফাংশনই কাল্পনিক ইউনিটকে বোঝায় :

সুতরাং একটি পরিবর্তনীয় বলা iবা jতাদের ওভাররাইড করবে, সম্ভাব্য নীরবে বিরতি কোড যা জটিল গণিতগুলি করে।

সম্ভাব্য সমাধানগুলির পরিবর্তে লুপ ভেরিয়েবলগুলি ব্যবহার করা iiএবং jjহিসাবে অন্তর্ভুক্ত করা বা 1iযখনই iকাল্পনিক ইউনিটের প্রতিনিধিত্ব করার প্রয়োজন হয় তখন ব্যবহার করা অন্তর্ভুক্ত ।


42
এটিও লক্ষণীয় যে আপনি কোনও কিছু না ভাঙ্গলেও, কার্যকর iএবং jপরিবর্তনশীল নামগুলি সমাধান করার জন্য মৃত্যুদণ্ড কার্যকর করার সময়টি এখনও ত্যাগ করা হয় ।
ইটান টি

14
@ আইটান: আপনি কী মতলবের জেআইটি সংকলিত সংস্করণটিতে কোনও দৃ concrete় সিদ্ধান্তে ব্যাক আপ করতে পারবেন? আমি এর আগে কখনও পাইনি (এবং for1 বিলিয়ন বার লুপকে কল করা সহজ পরীক্ষাগুলি সময় নির্ধারণের ক্ষেত্রে কোনও পরিসংখ্যানগত পার্থক্য দেখায় না)। আমরা সকলেই জানি যে হ্যান্ডেল করার জন্য এখানে বিশেষ কোড রয়েছে iএবং j(এবং k?) ব্যতীত অন্যান্য ভেরিয়েবলগুলি ব্যবহার করা আসলে কিছুটা ধীর। এবং বিদ্যমান পার্থক্যগুলি হ'ল বাস্তব জীবনে অস্তিত্বহীন থেকে শুরু করে। কেবল ব্যবহার না করার কোনও কারণ নেই iএবং jনিয়মিত ভেরিয়েবল হিসাবে - এগুলি কেবল অন্য মতলব ফাংশনের মতো সঠিকভাবে ব্যবহার করতে হবে।
হর্চলার

5
@ হার্চলার ওয়েল, সরকারী ডক্স এখানে উল্লেখ করেছে যে মানক ম্যাটল্যাব ডেটা ক্লাসকে ওভাররাইড করা "কার্যকারিতাটিকে নেতিবাচকভাবে প্রভাবিত করতে পারে" এবং এখানে গতির কারণ হিসাবে দৃ rob়তার পাশাপাশি জটিল ধ্রুবকগুলিকে ওভাররাইড করা এড়াতে বোঝানো হয়েছে। ইন R2009b পুরোনো ডক্স এটা স্পষ্টভাবে জটিল ধ্রুবক অগ্রাহ্য, এই মে পিছনের জে আই টি JIT ত্বরণ যেমন বিরুদ্ধে সুপারিশ করা হয়। পরিবর্তনশীল নামের সমাধানটি সম্ভবত সংক্ষিপ্ত, তবে লক্ষ লক্ষ বার পুনরাবৃত্তি করা থাকলে তা তাৎপর্যপূর্ণ হতে পারে।
ইটান টি

14
মতলব প্রাচীন সংস্করণে সম্ভবত। আমি নিজেই তা দেখতে পেতাম। তবে কমপক্ষে আর ২০১২ এ + (ওএস এক্স) এর সাথে আর কিছু নয়। এবং for1 বিলিয়ন বার লুপকে কল করার এবং সমস্ত পদ্ধতিতে সময় পরিকল্পনার চেষ্টা করার সময় আমি কোনও ত্রুটি দেখতে পাই নি । আমি নতুন এসও ব্যবহারকারীদের দেখছি যে পুরোপুরি বৈধ কোডটি ভুল কারণ তারা ব্যবহার করছে iএবং jলুপগুলি পুনরাবৃত্তি করতে পারে। সত্যি এটা ঠিক বোকামি এবং মানুষ এই প্রশ্নের আরো গুরুত্বপূর্ণ পয়েন্ট অনুপস্থিত: যে iএবং jযদি এক পাঠযোগ্য আধুনিক মতলব কোড লিখতে চায় এমনকি কাল্পনিক ইউনিট জন্য ব্যবহার করা উচিত নয়।
হর্চলার

12
ii অনুসন্ধান করার সময় আমার প্রধান সময় সাশ্রয়। আমার সন্ধান করা একটি আসল ব্যথা হতে পারে
ক্র্যাক

62

ভেরিয়েবল বা কাল্পনিক ইউনিট সম্পর্কে বিভ্রান্তি রোধ করার জন্য এড়ানো iএবং jভেরিয়েবলগুলি এড়ানো ভাল অনুশীলন ।

ব্যক্তিগতভাবে, তবে আমি সংক্ষিপ্ত লুপগুলির সূচক হিসাবে প্রায়শই প্রায়শই ব্যবহার করি iএবং jভেরিয়েবল হিসাবে। আমার নিজের কোডে সমস্যা এড়াতে, আমি সম্পর্কিত আরও একটি ভাল অভ্যাস অনুসরণ করি iএবং j: কল্পিত সংখ্যা বোঝাতে এগুলি ব্যবহার করি না । আসলে, মতলবের নিজস্ব ডকুমেন্টেশনগুলি বলে :

গতি এবং উন্নত দৃust়তার জন্য, আপনি জটিল iএবং jদ্বারা প্রতিস্থাপন করতে পারেন 1i

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


2
এটি ব্যবহার করা সত্যিই ভাল অনুশীলন 1i। যাইহোক, অর্থ পরিবর্তন iএবং jযেমন হার্ড টু ডিবাগ ত্রুটি হয়ে উঠতে পারে এই এক
শাই

1
@ শাই ভালো পয়েন্ট আমি এড়াতে iএবং jসর্বোত্তম তা স্বীকার করার জন্য আমার উত্তরটি টুইট করেছিলাম , তবে কীভাবে আমার ব্যক্তিগত কোডিং শৈলী সেই নিয়মকে অনুসরণ করে না তা ব্যাখ্যা করেছি।
shoelzer

2
: নোট যে গতি উল্লিখিত বলে মনে হচ্ছে না খুব গুরুত্বপূর্ণ হতে stackoverflow.com/questions/18163454/...
ডেনিস Jaheruddin

সম্পূর্ণ একমত! ভাল অনুশীলন সর্বদা ব্যবহারের জন্য 1iএবং iজটিল গণিতের জন্য নয় । আসুন কল্পিত সংখ্যা হিসাবে ভাবেন এবং কাল্পনিক সংখ্যা হিসাবে একটি খারাপ অনুশীলন হিসাবে 1iনেওয়া যাক i। প্রায় অন্য উপায় না. ব্যবহার i, ii, iiiমতলব সাধারণ অভ্যাস এবং কোন সমস্যা যখন মানুষ বিদ্ধ হয় 1iএবং 1jজটিল সংখ্যার জন্য। এছাড়াও মতলব এটি সম্মান করে এবং এটি পূর্ববর্তী উত্তরে বর্ণিত মতামত (যতদূর আমি পরীক্ষা করেছি) কর্মক্ষমতা হ্রাস করে না।
এসডিডস

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

27

ম্যাটল্যাবের পুরানো সংস্করণগুলিতে, ভেরিয়েবল নামগুলি ব্যবহার করা iএবং এটি এড়ানোর উপযুক্ত কারণ ছিল j- মাতলাব জেআইটির প্রাথমিক সংস্করণগুলি আপনি এগুলি ভেরিয়েবল হিসাবে ব্যবহার করছেন বা কাল্পনিক ইউনিট হিসাবে বলার মতো যথেষ্ট চালাক ছিল না এবং তাই হবে অনেকগুলি সম্ভব অপ্টিমাইজেশন বন্ধ করুন।

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

তবে এটি বরং অনেক দিন আগে, এবং আজকাল এটি "জম্বি" ইস্যুটির একটি বিষয় যা অনেক লোক এখনও মনে করে তার চেয়ে অনেক কম গুরুত্বপূর্ণ, তবে মারা যেতে অস্বীকার করে।

যে কোনও সাম্প্রতিক সংস্করণে, ব্যবহারযোগ্য পরিবর্তনশীল নাম iএবং না jহিসাবে এটি ব্যবহার করার ক্ষেত্রে এটি ব্যক্তিগত পছন্দ । জটিল সংখ্যার সাথে যদি আপনি প্রচুর কাজ করেন তবে আপনি যে কোনও জটিল বিভ্রান্তির ঝুঁকি এড়াতে iএবং jপরিবর্তনশীল হিসাবে এড়াতে চাইতে পারেন (যদিও আপনি / পরিবর্তে কেবলমাত্র ব্যবহার করতে 1iবা 1jএমনকি আরও কম বিভ্রান্তির জন্য, এবং কিছুটা আরও ভাল পারফরম্যান্সের জন্য চাইবেন) )।

অন্যদিকে, আমার সাধারণ কাজে আমি কখনই জটিল সংখ্যার সাথে লেনদেন করি না এবং আমি যদি আমার ব্যবহারে নির্দ্বিধায় iএবং jলুপ সূচক হিসাবে মনে করি তবে আমার কোডটি আরও পাঠযোগ্য find


আমি এখানে প্রচুর উত্তর দেখতে পাচ্ছি যা বলে যে এটি প্রস্তাবিত নয় ... কে এই সুপারিশ করছে তা না বলে। এখানে বর্তমান রিলিজ ডকুমেন্টেশন থেকে ম্যাথ ওয়ার্কসের প্রকৃত প্রস্তাবনার পরিমাণ রয়েছে i:

যেহেতু আমি একটি ফাংশন তাই এটি ওভাররাইড করে একটি চলক হিসাবে ব্যবহার করা যেতে পারে। তবে, আপনি জটিল গাণিতিকগুলিতে ব্যবহার করার ইচ্ছুক হলে ভেরিয়েবল নামের জন্য i এবং j ব্যবহার না করা ভাল। [...] গতি এবং উন্নত দৃust়তার জন্য, আপনি জটিল আই এবং জে 1i দ্বারা প্রতিস্থাপন করতে পারেন।


15

অন্যান্য উত্তরে বর্ণিত হিসাবে, iদুটি কারণে সাধারণ কোড ব্যবহারের পরামর্শ দেওয়া হয় না:

  • আপনি যদি কল্পিত নম্বরটি ব্যবহার করতে চান তবে এটি কোনও সূচক দ্বারা বিভ্রান্ত হতে পারে বা ওভাররাইট করা যেতে পারে
  • আপনি যদি এটি একটি সূচক হিসাবে ব্যবহার করেন তবে এটি উত্সাহিত হতে পারে বা কাল্পনিক সংখ্যায় বিভ্রান্ত হতে পারে

প্রস্তাবিত হিসাবে: 1iএবং iiপ্রস্তাবিত হয়। তবে এটি উভয়ই সূক্ষ্ম বিচ্যুতি হলেও, এই দুটি iবিকল্পকে একসাথে ব্যবহার করা খুব সুন্দর নয়।

এখানে (ব্যক্তিগতভাবে) আমি কেন এটি পছন্দ করি না তার একটি উদাহরণ এখানে দেওয়া হয়েছে:

val2 = val + i  % 1
val2 = val + ii % 2
val2 = val + 1i % 3

একজন সহজেই দু'জন বা তিনটির জন্য ভুল পড়া হবে না, তবে দুটি এবং তিনটি একে অপরের সাথে সাদৃশ্যপূর্ণ।

আমার ব্যক্তিগত সুপারিশটি হ'ল: আপনি যদি কখনও কখনও জটিল কোডের সাথে কাজ করেন তবে সর্বদা 1iএকটি ভিন্ন লুপ ভেরিয়েবলের সাথে মিলিত ব্যবহার করুন ।

একক চিঠি সূচকের উদাহরণ যে আপনি যদি অনেক লুপ ভেরিয়েবল ও অক্ষর চলা ব্যবহার করবেন না জন্য: t, u, kএবংp

আর সূচকের উদাহরণ: i_loop, step, walk, এবংt_now

অবশ্যই এটি ব্যক্তিগত স্বাদেরও বিষয়, তবে দীর্ঘায়িত না হয়ে সুস্পষ্ট অর্থের জন্য সূচকগুলি খুঁজে পাওয়া শক্ত হবে না।


1
1 আমি কাল্পনিক ইউনিট (এছাড়াও মতলব ভেরিয়েবল নাম একটি সংখ্যা দিয়ে শুরু করা যাবে না) উল্লেখ করে
liberal এর সংক্ষিপ্ত রূপ

2
@DennisJaheruddin: লজ্জাহীন প্লাগ: ব্যবহার করুন আমার ম্যাটল্যাব সিনট্যাক্স হাইলাইট userscript স্ট্যাক ওভারফ্লো জন্য। শেষ উদাহরণে, 1iএকটি সংখ্যা হিসাবে আলাদা বর্ণযুক্ত হবে :)
আম্রো

2
সোজা থেকে doc iএবং doc j: "গতি এবং উন্নত দৃust়তার জন্য, আপনি জটিল আই এবং জে 1i দ্বারা প্রতিস্থাপন করতে পারেন।" আইএমও, বর্তমান মতলবটিতে ব্যবহার না করা iএবং jলুপ ইত্যাদির কোনও কারণ নেই , বা 1iকাল্পনিক ইউনিট বোঝাতে ব্যতীত অন্য কিছু ব্যবহার করা ( 1jখুব কার্যকর)) সর্বদা-সামান্য-বেমানান সিম্বলিক ইঞ্জিনে স্ট্রিংগুলি পাস করার ক্ষেত্রে একমাত্র ব্যতিক্রম। অদ্ভুত যে help 1iএবং doc 1iযদিও কাজ না।
হর্চলার

11

এটি উল্লেখ করা হয়েছিল যে 1iএটি একটি গ্রহণযোগ্য এবং দ্ব্যর্থহীন উপায় sqrt(-1)এবং এটি যেমন ব্যবহার করা এড়াতে হবে না i। তারপরে আবার, ডেনিস যেমন নির্দেশ করেছেন ( https://stackoverflow.com/a/14893729/1967396 ), 1iএবং এর মধ্যে পার্থক্যটি দেখা কঠিন হতে পারে ii। আমার পরামর্শ: 1jযেখানে সম্ভব সেখানে কাল্পনিক ধ্রুবক হিসাবে ব্যবহার করুন । তারা ব্যবহার করেন - এটা একই কৌতুক যে তড়িৎ প্রকৌশলীরা চাকরী এর jজন্য sqrt(-1)কারণ iইতিমধ্যে জন্য নেওয়া হয় বর্তমান

ব্যক্তিগতভাবে আমি কখনও ব্যবহার করি না iএবং j; আমি শর্টহ্যান্ড ইনডেক্সিং ভেরিয়েবলগুলি হিসাবে ব্যবহার করি iiএবং jj(এবং কেকে, এলএল, মিমি, ...) এবং 1jযখন আমাকে জটিল সংখ্যাগুলি ব্যবহার করার প্রয়োজন হয়।


2
" 1iএবং এর মধ্যে পার্থক্যটি দেখা শক্ত হতে পারে ii" 1এবং lএবং এর মধ্যে Oএবং এর মধ্যে এবং এর মধ্যে আরও পার্থক্য 0। সে কারণেই আমি একটি নতুন ম্যাটালব ইনস্টলেশনতে প্রথম পদক্ষেপটি ডিফল্ট ফন্টের আকার পরিবর্তন করছে।
glglgl

6

কাল্পনিক ইউনিটের সাথে বিভ্রান্তি এখানে ভালভাবে কভার করা হয়েছে তবে আরও কিছু প্রসাইক কারণ রয়েছে যেগুলি এবং এইগুলি এবং অন্যান্য একক-বর্ণের পরিবর্তনশীল নামগুলি মাঝে মাঝে নিরুৎসাহিত করা হয়।

  1. ম্যাটল্যাব বিশেষভাবে: আপনি যদি আপনার ম্যাটল্যাব কোড থেকে সি ++ উত্স তৈরি করতে কোডার ব্যবহার করছেন (তবে এটি ভয়ঙ্কর নয়) তবে সম্ভাব্য টাইপিং সংঘর্ষের কারণে আপনাকে স্পষ্টভাবে সতর্ক করে দেওয়া হয়েছে যে ভেরিয়েবলগুলি পুনরায় ব্যবহার না করার জন্য।

  2. সাধারণত, এবং আপনার আইডিই এর উপর নির্ভর করে একটি একক-বর্ণের পরিবর্তনশীল নাম হাইলাইটারগুলির সাহায্যে এবং অনুসন্ধান / প্রতিস্থাপনের দ্বারা ধ্বংস হতে পারে। ম্যাটল্যাব এতে ভোগেনা এবং আমি বিশ্বাস করি ভিজ্যুয়াল স্টুডিওতে কিছু সময়ের জন্য সমস্যা হয়নি তবে সি / সি ++ কোডিং মান যেমন মিশ্র ইত্যাদি তাদের পুনরায় পরামর্শ দেওয়ার প্রবণতা রয়েছে।

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


4

যে কোনও অ-তুচ্ছ কোডটিতে একাধিক forলুপ থাকে এবং সর্বোত্তম অনুশীলনে আপনি এর উদ্দেশ্য এবং সুযোগের বর্ণনামূলক নাম ব্যবহার করার পরামর্শ দেন। জন্য বার অনাদিকাল (এবং যদি না তার 5-10 লাইন স্ক্রিপ্ট যে আমি সেভ করতে যাচ্ছি না), আমি সবসময় মত পরিবর্তনশীল নামের ব্যবহার করা হয়েছে idxTask, idxAnotherTaskএবং idxSubTaskইত্যাদি

অথবা অন্ততপক্ষে অ্যারের এটা যেমন সূচিবদ্ধ করছে তা প্রথম অক্ষর দ্বিগুন এ ssসূচক subjectList, ttসূচক taskList, কিন্তু না iiবা jjযা আমার অনায়াসে যা অ্যারে তারা loops জন্য আমার একাধিক বাইরে ইন্ডেক্স করা হয় সনাক্ত করতে সহায়তা করে না।


3

ডিফল্টরূপে iএবং jকল্পিত ইউনিটের পক্ষে দাঁড়ান। সুতরাং ম্যাটল্যাবের দৃষ্টিকোণ থেকে iভেরিয়েবল হিসাবে ব্যবহার করা কোনওভাবে 1ভেরিয়েবল হিসাবে ব্যবহারের মতো।


5
আমি মনে করি না এটি বেশ ভালো। আমি একটি বৈধ পরিবর্তনশীল নাম, তাই আপনি প্রকৃত নাম হিসাবে আসলে আমি এবং জ ব্যবহার করতে পারেন। এটি, পূর্ববর্তী উত্তর হিসাবে উল্লেখ করা হয়েছে, কাল্পনিক অর্থকে মাস্ক করবে। 1 একটি বৈধ পরিবর্তনশীল নাম নয়। আপনি যদি কখনও জটিল সংখ্যা ব্যবহার না করেন এটি সম্পূর্ণরূপে ঠিক।
থ্যাং করুন

@ থ্যাং এর কারণেই আমি বলেছিলাম "কোনওভাবে" পছন্দ করি তবে "পছন্দ" হয় না। আমি জানি একটি পার্থক্য আছে। ওপিকে জিজ্ঞাসা করা হয়েছিল কেন তাদের ব্যবহার করা উচিত নয়, আমি তা বোঝানোর চেষ্টা করেছি কারণ তারা ইতিমধ্যে একটি সংখ্যা প্রকাশ করেছে।
yo '

2
ঠিক আছে, দুঃখিত, আমি জানি না কীরকমের মানে। আমার জন্য এটি স্পষ্টতই আলাদা কারণ ভাল, আপনি চাইলে 1 কে ভেরিয়েবল হিসাবে ব্যবহার করতে পারবেন না ... তবে আমি দেখতে পাচ্ছি আপনি কোথা থেকে এসেছেন।
থ্যাং

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

1
দুঃখিত, তবে এই ব্যাখ্যাটির কোনও অর্থ হয় না। iএবং jআসলে কাল্পনিক একক মান ফিরে ফাংশন আছে। একটি সুযোগে একটি কার্য হিসাবে একই নামের সাথে একটি ভেরিয়েবল ব্যবহার করা সম্ভব। এটি তবে ফাংশনটিকে ছায়া দিবে।
দেশপ্রেমিক

2

আপনি যদি খুব বিভ্রান্ত ব্যবহারকারী না হন তবে আমি ভাবেন যে আমি এবং জে ভেরিয়েবলের নাম ব্যবহার করার খুব কম ঝুঁকি রয়েছে এবং আমি এগুলি নিয়মিত ব্যবহার করি। এই অনুশীলনটি এড়ানো উচিত বলে কোনও অফিসিয়াল ইঙ্গিত আমি দেখিনি।

যদিও এটি সত্য যে কাল্পনিক ইউনিটকে ছায়া দেওয়া কিছু প্রসঙ্গে কিছু বিভ্রান্তির কারণ হতে পারে অন্যান্য পোস্টগুলিতে উল্লিখিত হয়েছে, সামগ্রিকভাবে আমি এটিকে বড় বিষয় হিসাবে দেখি না। ম্যাটল্যাবে আরও অনেক বিভ্রান্তিকর জিনিস আপনি করতে পারেন, উদাহরণস্বরূপ সংজ্ঞাটি গ্রহণ করুনfalse=true

আমার মতে আপনার কোডটি বিশেষত কল্পিত সংখ্যার সাথে সম্পর্কিত হলে কেবলমাত্র এগুলি এড়ানো উচিত।


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

1
ডকুমেন্টেশন উদ্ধৃত করে "যেহেতু iএকটি ফাংশন তাই এটি ওভাররাইড করা যায় এবং ভেরিয়েবল হিসাবে ব্যবহার করা যেতে পারে However তবে জটিল গাণিতিক ক্ষেত্রে যদি আপনি সেগুলি ব্যবহার করতে চান তবে পরিবর্তনশীল নামগুলি ব্যবহার করা iএবং এড়ানো ভাল j" " এটি, অলিভারের উত্তর সম্পর্কে আইটেন টি-র মন্তব্যের সাথে মিলিতভাবে (আমার ধারণা তিনি সময় নিয়েছিলেন) এটি যথেষ্ট প্রমাণ বলে মনে হয়।
অ্যাড্রায়ান

1
এছাড়াও খেয়াল করুন যে @ অ্যাড্রায়ান দ্বারা উল্লিখিত মন্তব্যে 2013 এর উত্তর ইতিমধ্যে রয়েছে।
আন্দ্রেস ডেক

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