۱۳۹۲/۰۷/۲۸, ۰۲:۲۰ ب.ظ
(۱۳۹۲/۰۷/۲۷, ۰۳:۱۱ ب.ظ)'4i469x' نوشته: آخرین خط کد نوشتم A ، چرا نوشتم؟ برای اینکه اگر ننویسی هیچ چیزی برای خروجی نمایش نمیده ، اگر غیر از تابع، کدها رو به صورت m فایل ذخیره کردی باید خط آخر نوشته شده A تغییرش بدی به : 'A برای اینکه متوجه بشی کدها را تغییر دادم به شکل زیر :مهندس من کاری که گفتی رو انجام دادم اما بازم نشد
کد تابع
کد:function [ y ] = MATRIX( m )
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
m_size=size(m);
if m_size(1)~=m_size(2)
error('matrix must be square.')
end
DET=det(m);
if DET==0
error('matrix is singular')
end
if m_size(1)==m_size(2) && DET~=0
for i=1:m_size(1)
for j=1:m_size(2)
M=m;
M(i,:)=;
M(:,j)=;
A(i,j)=((-1)^(i+j))*det(M);
end
end
end
y=A';
end
کد m فایل
کد:close all
clc
m=ماتریس ورودیتون رو اینجا بنویسید.
m_size=size(m);
if m_size(1)~=m_size(2)
error('matrix must be square.')
end
DET=det(m);
if DET==0
error('matrix is singular')
end
if m_size(1)==m_size(2) && DET~=0
for i=1:m_size(1)
for j=1:m_size(2)
M=m;
M(i,:)=;
M(:,j)=;
A(i,j)=((-1)^(i+j))*det(M);
end
end
end
A'
ممکنه بگی وقتی میخوام تابع رو اجرا کنم باید چطوری بنویسم ؟ به صورت زیر :
نام ماتریس خروجی رو هر چی میخوای بذار ، در کد تابع ما فقط مشخص میکنیم که از متغیرهایی که در تابع هست کدوم ها رو در خروجی نمایش بده و باید به تعداد خروجی های تعریف شده و با رعایت ترتیب اونها از اول به آخر ، حروفی برای نمایش خروجی بذاری ، مثلا اگر در تابعی که نوشتیم خروجی رو به صورت [A,y] بنویسم ، برای اجرای اون باید در کد بالا که نوشتیم یک متغیر دیگر هم تعریف کنی به این شکل :کد:[F]=MATRIX([1,2,3;4,5,6;7,8,9]);
کد:[ٍe,F]=MATRIX([1,2,3;4,5,6;7,8,9]);
یعنی در خروجی تابع اول ماتریس همسازه رو نمایش میده و بعد ماتریس الحاقی رو ، که تو کد بالا که نوشتیم ماتریس خروجی با حرف e ماتریس همسازه میشه و ماتریس F ، ماتریس الحاقی. اگر هم بخوای در کدهای m فایل ( تابع رو نمیگم اون کد دیگه رو میگم ) خروجی هم همسازه و هم الحاقی باشه باید خط آخر که نوشته 'A بنویسی :
A و بعد خط بعدی 'A . امیدوارم متوجه شده باشی.
به نظر من باید از دستوری استفاده کنی که وقتی دستور الحاقی رو میخواد نمایش بده قططر اصلی ثابت بمونه و درایه های نظیر به نظیر نسبت به قطر اصلی جابه جا بشن
چون من دستی حساب میکنم و زمانی که تابع حساب میکنه قطر اصلی برابر بدست میاد با این تفاوت که تابع درایه هارو جابه جا بدست میاره نسبت به قطر اصلی