अध्याय 3: MATLAB में मैट्रिक्स और एरे ऑपरेशन (Matrix and Array Operations in MATLAB)

अध्याय 3: MATLAB में मैट्रिक्स और एरे ऑपरेशन (Matrix and Array Operations in MATLAB)

इस अध्याय में हम MATLAB के सबसे महत्वपूर्ण हिस्से — मैट्रिक्स और एरे ऑपरेशन — को विस्तार से समझेंगे।
MATLAB का नाम ही “Matrix Laboratory” से लिया गया है, इसलिए मैट्रिक्स इसकी मूलभूत संरचना है। इस अध्याय में आप सीखेंगे:

📌 इस अध्याय में शामिल विषय:

  • मैट्रिक्स और एरे में क्या अंतर है?

  • मैट्रिक्स कैसे बनाए जाते हैं?

  • बेसिक मैट्रिक्स ऑपरेशन (जोड़, घटाव, गुणा, ट्रांसपोज़, इनवर्स)

  • MATLAB में एरे ऑपरेशन और इंडेक्सिंग

  • विशेष मैट्रिक्स (Identity, Zeros, Ones, Random)

  • रियल-वर्ल्ड उदाहरण और इंटरव्यू में पूछे जाने वाले सवाल

मैट्रिक्स और एरे में अंतर (Matrix vs Array)

📖 Explanation (समझाइए):

MATLAB में सभी डेटा संरचनाएं एरे के रूप में मानी जाती हैं। इसका मतलब है कि एक वैक्टर, एक मैट्रिक्स, या मल्टी-डायमेंशनल डेटा सभी एरे की श्रेणी में आते हैं।

लेकिन जब हम मैट्रिक्स की बात करते हैं, तो हम खासकर 2-डायमेंशनल एरे (2D array) की बात कर रहे होते हैं — जिसमें rows और columns दोनों होते हैं।

आधारमैट्रिक्स (Matrix)एरे (Array)
संरचनाहमेशा 2D1D, 2D, या multi-dimensional
उदाहरण[1 2; 3 4][1 2 3], [1; 2; 3], [1 2; 3 4]
उपयोगlinear algebra, image processinggeneral-purpose data handling

💻 Code (MATLAB उदाहरण के साथ):

% 2x3 मैट्रिक्स
A = [1 2 3; 4 5 6];

% 1x3 रो-वेक्टर (Array)
B = [10, 20, 30];

% 3x1 कॉलम-वेक्टर (Array)
C = [10; 20; 30];

% मल्टीडायमेंशनल एरे
D = rand(3, 3, 2);  % 3x3x2 array

🔎 कोड समझाइए:

  • A एक 2D मैट्रिक्स है (2 rows, 3 columns)

  • B और C दोनों 1D arrays हैं — एक row vector और एक column vector

  • D एक multi-dimensional array है

🌍 Real-world Example (वास्तविक उदाहरण):

छात्रों के मार्क्स का उदाहरण लें:

यदि किसी कक्षा में 3 छात्र हैं और हर छात्र ने 3 विषय दिए हैं, तो हम उनके मार्क्स को एक 3×3 मैट्रिक्स में ऐसे रख सकते हैं:

Marks = [85 90 78; 
         70 88 82; 
         92 75 80];
  • यहाँ हर row एक छात्र को दर्शाती है

  • हर column एक subject को

लेकिन अगर हम केवल एक छात्र के मार्क्स को store करें तो वह सिर्फ एक row या column एरे होगा:

student1 = [85 90 78];  % row vector

मैट्रिक्स बनाना (Creating Matrices)

MATLAB में मैट्रिक्स बनाना बेहद सरल है। आप square brackets [] का उपयोग करते हुए वैल्यूज़ को row और column के अनुसार define कर सकते हैं। एक ही row में वैल्यूज को space या comma से अलग किया जाता है, और नई row के लिए semicolon ; का प्रयोग किया जाता है।


💻 Code (MATLAB उदाहरण के साथ):

% 3x3 मैट्रिक्स बनाना
M = [1 2 3; 
     4 5 6; 
     7 8 9];

% 2x2 मैट्रिक्स
A = [10, 20; 
     30, 40];

🔎 कोड में क्या हो रहा है:

  • [] के अंदर दिए गए डेटा को MATLAB row और column के रूप में पढ़ता है।

  • ; नई row को दर्शाता है।

🌍 Real-world Example:

मान लीजिए किसी स्कूल में तीन छात्र हैं और तीन विषय — तो उनके मार्क्स को एक 3×3 मैट्रिक्स में स्टोर किया जा सकता है:

Marks = [85 90 78; 
         70 88 82; 
         92 75 80];

यहां:

  • हर row एक छात्र को दर्शाती है

  • हर column एक विषय को

बेसिक मैट्रिक्स ऑपरेशन (Basic Matrix Operations)

MATLAB में मैट्रिक्स के साथ किए जाने वाले सामान्य ऑपरेशन बहुत सीधे होते हैं। MATLAB की खूबी यही है कि यह मैट्रिक्स के addition, subtraction, multiplication, transpose, और inverse जैसे कामों को सिंपल सिंटैक्स से सम्भाल सकता है।


💻 Code (MATLAB उदाहरण के साथ):

A = [1 2; 3 4];
B = [5 6; 7 8];

Add = A + B;     % जोड़
Sub = A - B;     % घटाव
Mul = A * B;     % मैट्रिक्स गुणा
Trans = A';      % ट्रांसपोज़
Inv = inv(A);    % इनवर्स (यदि possible हो)

🔎 कोड में क्या हो रहा है:

  • + और - row-by-row जोड़ता या घटाता है

  • * का अर्थ होता है मैट्रिक्स मल्टिप्लिकेशन (dot product, row×column)

  • ' ट्रांसपोज़ करता है — rows को columns में और vice versa

  • inv(A) मैट्रिक्स A का इनवर्स देता है (केवल तभी काम करेगा जब A invertible हो)

🌍 Real-world Example:

मान लीजिए किसी कंपनी के तीन डिपार्टमेंट्स के महीने भर के खर्च को एक मैट्रिक्स में स्टोर किया गया है:

Jan = [1000 2000; 1500 1800];
Feb = [1100 2100; 1600 1700];

अब कुल खर्च निकालने के लिए:

Total = Jan + Feb;

या यदि आप चाहते हैं कि rows को columns में बदलकर analyze करें:

Jan_transpose = Jan';

विशेष मैट्रिक्स (Special Matrices)

MATLAB में कई ऐसे built-in functions हैं जिनकी मदद से commonly इस्तेमाल होने वाले मैट्रिक्स आसानी से बनाए जा सकते हैं — जैसे ज़ीरो मैट्रिक्स, वन मैट्रिक्स, आइडेंटिटी मैट्रिक्स और रैंडम वैल्यूज से बने मैट्रिक्स।


💻 Code (MATLAB उदाहरण के साथ):

Z = zeros(3);       % 3x3 ज़ीरो मैट्रिक्स
O = ones(2, 3);     % 2x3 वन मैट्रिक्स
I = eye(4);         % 4x4 आइडेंटिटी मैट्रिक्स
R = rand(2);        % 2x2 रैंडम वैल्यूज वाली मैट्रिक्स

🔎 कोड में क्या हो रहा है:

  • zeros(n) एक n×n मैट्रिक्स बनाता है जिसमें सभी वैल्यू 0 होती हैं।

  • ones(m,n) m×n साइज की मैट्रिक्स बनाता है जिसमें सभी वैल्यू 1 होती हैं।

  • eye(n) n×n identity matrix बनाता है — जिसमें diagonals 1 होते हैं और बाकी सब 0।

  • rand(m,n) एक m×n matrix बनाता है जिसमें सभी वैल्यूज़ 0 और 1 के बीच random होती हैं।


🌍 Real-world Example:

  • zeros का उपयोग तब किया जाता है जब आप किसी मैट्रिक्स को पहले initialize करना चाहते हैं और बाद में उसमें data भरना है।

  • eye का उपयोग linear algebra में inverse और solving equations में होता है।

  • rand का उपयोग simulation, machine learning, या गेम्स में random input generate करने के लिए किया जाता है।

इंडेक्सिंग और एक्सेस (Indexing & Accessing Elements)

MATLAB में आप मैट्रिक्स के किसी भी खास हिस्से (row, column या element) तक बड़ी आसानी से पहुंच सकते हैं। इसके लिए (row, column) सिंटैक्स का उपयोग किया जाता है। MATLAB में indexing 1 से शुरू होती है, न कि 0 से जैसे कई अन्य भाषाओं में होता है।


💻 Code (MATLAB उदाहरण के साथ):

A = [10 20 30; 
     40 50 60; 
     70 80 90];

val1 = A(2,3);     % 2nd row, 3rd column का एलिमेंट (60)
row2 = A(2,:);     % दूसरी row की सभी values
col1 = A(:,1);     % पहली column की सभी values
part = A(1:2, 2:3); % 1st से 2nd row और 2nd से 3rd column तक का हिस्सा

🔎 कोड में क्या हो रहा है:

  • A(2,3) केवल एक ही वैल्यू देगा (60)

  • A(2,:) से दूसरी पूरी row मिलती है

  • A(:,1) पहली column की सभी values देता है

  • A(1:2,2:3) sub-matrix निकालता है


🌍 Real-world Example:

मान लीजिए आपके पास एक result matrix है जिसमें rows छात्रों को और columns subjects को दर्शाते हैं:

Marks = [85 90 78; 
         70 88 82; 
         92 75 80];
  • आप किसी छात्र के सभी subjects के marks इस तरह निकाल सकते हैं:
    Marks(1,:) → पहला छात्र

  • किसी खास subject (जैसे दूसरा subject) के सभी छात्रों के marks:
    Marks(:,2) → सभी rows की दूसरी column

  • सिर्फ पहले दो छात्रों के पहले दो subjects के marks:
    Marks(1:2,1:2)

⚙️ प्रमुख मैट्रिक्स ऑपरेशन फंक्शन (Inbuilt Matrix Operation Functions)

🔢 Function🧠 उपयोग
size(A)मैट्रिक्स A की साइज बताता है (rows और columns)
length(A)सबसे बड़ी डायमेंशन की लंबाई देता है
transpose(A) या A'A का ट्रांसपोज़ देता है
inv(A)A का इनवर्स (Inverse) देता है (अगर exist करता हो)
det(A)Determinant देता है
rank(A)मैट्रिक्स की रैंक बताता है
trace(A)मैट्रिक्स के डायगोनल एलिमेंट्स का योग
eig(A)Eigenvalues और Eigenvectors देता है
pinv(A)Pseudo-inverse देता है
norm(A)Norm (length/magnitude) देता है
diag(A)डायगोनल वैल्यू निकालता या बनाता है
dot(A,B)दो वेक्टर का डॉट प्रोडक्ट
cross(A,B)दो वेक्टर का क्रॉस प्रोडक्ट

🎯 Interview Questions and Answers – मैट्रिक्स और एरे ऑपरेशन


Q1. MATLAB में मैट्रिक्स और एरे में क्या अंतर है?

Ans:
मैट्रिक्स एक 2D array होती है जिसमें rows और columns दोनों होते हैं।
एरे MATLAB में एक general डेटा संरचना है जो 1D, 2D या multi-dimensional हो सकती है।
हर मैट्रिक्स एक एरे होती है, लेकिन हर एरे जरूरी नहीं कि मैट्रिक्स हो।

Q2. MATLAB में ट्रांसपोज़ (Transpose) कैसे किया जाता है?

Ans:
ट्रांसपोज़ करने के लिए ' (single quote) ऑपरेटर का उपयोग होता है।

A = [1 2; 3 4];
T = A';   % Output: [1 3; 2 4]

Q3. इनवर्स (Inverse) निकालने के लिए कौन-सा फंक्शन उपयोग किया जाता है?

Ans:
inv() फंक्शन का उपयोग किया जाता है:

A = [1 2; 3 4];
Inv_A = inv(A);

शर्त ये है कि A square और non-singular मैट्रिक्स होनी चाहिए।

Q4. MATLAB में एक 3×3 आइडेंटिटी मैट्रिक्स कैसे बनाएंगे?

Ans:

I = eye(3);

Q5. एक मैट्रिक्स के सभी एलिमेंट को 0 से initialize कैसे किया जाता है?

Ans:

Z = zeros(3);   % 3x3 zero matrix

Q6. MATLAB में किसी मैट्रिक्स के किसी खास row या column को कैसे access करेंगे?

Ans:

A(2,:)    % दूसरी row
A(:,1)    % पहली column

Q7. डॉट मल्टिप्लिकेशन और मैट्रिक्स मल्टिप्लिकेशन में क्या अंतर है?

Ans:

  • * : matrix multiplication (row-column rule के अनुसार)

  • .* : element-wise multiplication

    A = [1 2; 3 4];
    B = [5 6; 7 8];
    
    C1 = A * B;    % मैट्रिक्स मल्टिप्लिकेशन
    C2 = A .* B;   % एलिमेंट वाइज मल्टिप्लिकेशन
    

     

Q8. MATLAB में किसी मैट्रिक्स का साइज कैसे जानेंगे?

Ans:

size(A)


Table of Contents

Index