عمليات عضو به عضو روي آرايه ها
انجام عمليات جبري روي آرايه ها در MATLAB نيازمند دقت است. بطور كلي دو نوع عمليات مي توان روي آرايه ها انجام داد: ١-عمليات عضو به عضو، ٢-عمليات برداري-ماتريسي. اشتباه گرفتن اين دو نوع عمليات باعث بروز مشكل در محاسبات مي گردد. دو بردار زير را در نظر بگيريد:
» a=[1 2 3];
» b=[2 -1 0];
فرض كنيد كه مي خواهيد اين دو را در هم ضرب كنيد:
» a*b
??? Error using ==> *
Inner matrix dimensions must agree.
دليل گرفتن پيام خطا از عمل فوق اين است كه در MATLAB استفاده از علامت ضرب به تنهايي به معناي ضرب ماتريسي است. بنابراين عمل بالا را مي توان با ترانهاده بردار دوم به انجام رسانيد:
» a*b’
ans =
0
اين عمل در حقيقت ضرب اسكالر دو ماتريس است، يعني:
١*٢+٢*(-١)+٣*٠=0
حال اگر بخواهيد ضرب عضو به عضو اين دو بردار را به دست آوريد بايد يك نقطه قبل از علامت
ضرب بگذاريد:
» a.*b
ans =
2 -2 0
همين دستورالعمل را مي توان براي تقسيم و به توان رساندن آرايه ها بكار بست:
» a.^2
ans =
1 4 9
در صورت فراموش كردن نقطه قبل از علامت توان:
» a^2
??? Error using ==> ^
Matrix must be square.