خطايابي برنامه ها
اين بار با اجرا كردن برنامه اصلي پيغام زير را مشاهده مي كنيد:
» main
Pressure (bar) = [1:10]
Temperature (K) = 300:5:400
??? Undefined function or variable ‘vol’.
Error in ==> C:\MATLABR11\work\main.m
On line 9 ==> surf(p,vol,t)
باز هم پيغام خطا! اما اگر دقت كنيد مي بينيد كه اين بار پيغام خطا مربوط به تابع ideal.m نيست بلكه خطا از دستور مربوط به رسم داده ها گرفته شده است. در حقيقت تابع كار خود را به خوبي انجام داده و رفع اشكال شده است.خطاي اين دفعه مربوط به اشتباه در نام متغير است.متغير v كه قبلا” تعريف شده است اشتباها” در دستور surf با نام vol بكار برده شده است. ولي
vol قبلا” تعريف نشده است و در نتيجه MATLAB آن را نمي شناسد. پس از تصحيح اين سطر، برنامه اصلي به صورت زير خواهد بود:
% Input
p = input(‘ Pressure (bar) = ‘);
t = input(‘ Temperature (K) = ‘);
% Calculation
v = ideal(t,p*1e5);
% Plotting results
surf(p,v,t)
اجراي اين برنامه پيغام زير را به دنبال خواهد داشت:
» main
Pressure (bar) = [1:10]
Temperature (K) = 300:5:400
??? Error using ==> surface
Matrix dimensions must agree.
Error in ==> C:\MATLABR11\toolbox\matlab\graph3d\surf.m
On line 59 ==> hh = surface(varargin{:});
Error in ==> C:\MATLABR11\work\main.m
On line 9 ==> surf(p,v,t)
خطاي اين دفعه باز هم مربوط به دستور surf و اين بار در باره نحوه معرفي آرايه ها به آن است. با اين دستور مشخص مي گردد كه آرگومانهاي اول و دوم اين دستور (help) مراجعه به توضيحات مي توانند بردار باشند ولي آرگومان سوم بايد ماتريس باشد. در اين حالت طول آرگومانهاي اول و دوم بايد به ترتيب برابر با تعداد ستونها و سطرهاي آرگومان سوم باشد. لذا طبق اين توضيحات متغير v بايد آرگومان سوم دستور surf باشد و ضمنا” با مشاهده ابعاد اين متغير:
» size(v)
ans =
10 21
مي توانيد بگوئيد كه آرگومان اول بايد بردار t و آرگومان دوم بايد بردار p باشد. بنابراين برنامه اصلي بايد به شكل زير اصلاح گردد:
% Input
p = input(‘ Pressure (bar) = ‘);
t = input(‘ Temperature (K) = ‘);
% Calculation
v = ideal(t,p*1e5);
% Plotting results
surf(t,p,v)
xlabel(‘T (K)’)
ylabel(‘P (bar)’)
zlabel(‘V (m^3/kmol)’)
view(135,30)
در صورت اجراي برنامه نتيجه نهايي را خواهيد ديد.
» main
Pressure (bar) = [1:10]
Temperature (K) = 300:5:400
مقاله متلب,مطلب,متلب,مقاله برق,مقاله قدرت,مقاله مطلب,مقاله سیمولینک,دانلود متلب,دانلود مقاله متلب,مقالهmatlab ,آموزش متلب,مطلب,متلب,آموزش برق,آموزش قدرت,آموزش مطلب,آموزش سیمولینک,دانلود متلب,دانلود آموزش متلب,آموزشmatlab ,پروژه متلب,مطلب,متلب,پروژه برق,پروژه قدرت,پروژه مطلب,پروژه سیمولینک,دانلود متلب,دانلود پروژه متلب,پروژهmatlab ,