کلیدستان

نسخه‌ی کامل: مشکل این تابع چی هستش
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
دوستان تو این ام فایلی که قرار دادم لطفا بگین مشکل کجاست که درست کار نمیکنه
ممنون میشم راهنمایی کنین
سلام.
نحوه ارجاع به این تابع و سپس خطای ایجاد شده را بنویسید.
کدهای تابع :

کد:
function [A] = said(m)
%UNTITLED3 Summary of this function goes here
%   Detailed explanation goes here
[a,b]=size(m);
if a~=b;
    disp('Matrix must be square.')
if det(m)==0
    disp ('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

end
 
کد پی‌اچ‌پی:
>> [F]=said([1,4;1,4])
Error in said (line 4)
[
a,b]=size(m); 


Output argument "A" (and maybe others) not assigned during call to "D:\matlab\matlab2\bin\said.m>said".
 
کد پی‌اچ‌پی:
>> [F]=said([1,1,2;3,0,3;-2,3,0])
Error in said (line 4)
[
a,b]=size(m); 


Output argument "A" (and maybe others) not assigned during call to "D:\matlab\matlab2\bin\said.m>said".
خروجی تابع، متغیر A می باشد. برای تعیین خروجی A ، شما شروطی با استفاده از دستور if تعیین کرده اید، بنابراین اگر ورودی تابع به گونه ای باشد که شرط ها بر آورده نشود، آنگاه خروجی A نیز ساخته نمی شود و بنابراین متلب پیام خطا نشان می دهد که نمی تواند از تابع، خروجی دریافت کرده و در متغیر F ذخیره نماید.
بنابراین شرط ها را چک کنید و بعد یک ورودی مناسب انتخاب نمایید.
درسته ولی شروطی که من تعریف کردم چیزای پیچیده ای نیستن
یکیش میگه که سطرها و ستونها برابر نباشند
ودیگری میگه که دترمینان ماتریس 0 بشه
چیزه خاصی نداره

 
دوباره بررسی کردم. شما یادتون رفته برای if اول، یک end بنویسید.
همچنین متغیر m_size رو هم تعریف نکردید.
 
میشه لطف کنین
m_size
تعریف کنین

 
ادمین دیگه لازم نیست خودم تعریف کردم
ممنون از راهنماییت