2- روش درون یابی خطی :
tic, yi2 = interp1(x,y,xi); toc
Elapsed time is 0.073633 seconds.
plot(x,y,'O',xi,yi2)1
grid on
xlabel ('x'),ylabel('y')1
title('Method = linear IRAN-ENG HAMED V')1
درون یابی خطی برای مسائلی که فاصله داده های ورودی از یکدیگر کم میباشد مناسب است .
از آن جمله میتوان به جدول اشباع آب در مبحث ترمودینامیک اشاره کرد
A = [1 1 1 ; 1 2 3 ; 1 3 6 ];1
B = [ 8 ; 3 ; 4 ];1
X = inv(A)*B
اعداد قرمز مربوط به حل نیستند برای ویرایشه
X = 19 , -17, 6__________________
بدترين راه حل يك دستگاه معادلات خطي در متلب استفاده از دستور "inv" هست. شركت MathWorks سفارش ميكنه كه به جاش از "\" استفاده كنيد.
3- روش spline
tic, yi3 = interp1(x,y,xi,'spline'); toc
Elapsed time is 0.727651 seconds.
plot(x,y,'O',xi,yi3)1
grid on
xlabel ('x'),ylabel('y')1
title('Method = spline IRAN-ENG HAMED V')1
روش spline همواره نتیجه ای پیوسته دارد این روش طولانی ترین روش اجرا در مقایشه با سه روش دیگر را داراست با این حال در مسائلی که دارای داده های ورودی غیر یکنواخت بوده مناسب است
اين اسپلاين مكعبي هست؛ پيشفرض متلب براي اسپلاين. متلب اسپلاين از درجههاي ديگر رو هم پشتيباني ميكنه.
[LEFT][FONT=Courier New][SIZE=4]function y = myfunc1(x)[/SIZE][/FONT]
[SIZE=4][FONT=Courier New]y = x.^3-2*x-5;[/FONT][/SIZE][/LEFT]
[LEFT][FONT=Courier New][SIZE=4]x = fzero(@myfunc1,2)[/SIZE][/FONT]
[SIZE=4][FONT=Courier New]x =[/FONT][/SIZE]
[SIZE=4][FONT=Courier New]2.0946[/FONT][/SIZE][/LEFT]
سلام ميشه در مورد دستور global توضيحي بدين؟
function pdex
x=linspace(0,1,20);
t=linspace(0,30000,20);
m=0;
sol = pdepe(m,@pdefun0,@pdeic0,@pdebc0,x,t);
u=sol(:,:,1);
uu=u;
surf(x,t,u)
title('Numerical solution computed with 20 mesh points.')
xlabel('Distance x')
ylabel('Time t')
%--------------------------------------------
function [c,f,s] = pdefun0(x,t,u,DuDx)
c = 1;
f = 1e-5*DuDx;
s = 0;
%---------------------------------------------
function u0 = pdeic0(x)
if ((x >= 0) & (x <= .5))
u0=10;
elseif ((x >= 0.5) & (x <= 1))
u0=0;
end
%---------------------------------------------
function [pl,ql,pr,qr] = pdebc0(xl,ul,xr,ur,t)
pl = 0;
ql = 100000;
pr = 0;
qr = 100000;
من متلب خيلي بلد نيستم، ولي آقاي مسافر استاد من بوده و مي دونم كه از استادهاي مطرح در در زمينه رياضي و متلب توي ايرانه. اون چيزي رو هم كه شما خونديد، من هم خوندم. بدون اينكه كسي متلب بلد باشه هم مي فهمه كه جوابها با هم به اندازه 4 واحد اختلاف دارند. پس يكيشون غلطه. در ضمن من فكر مي كنم همين كه ايشون اينجا كامنتي مي ذارن، شما فقط بايد تشكر كنيد، نه اينكه روي كامتنش كامنت بذاريد. چون فاصله ايشون با شما و حامد بايد كيلومتري باشه. پس ايشون چيزهايي رو مي بينند كه شماها شايد با چندين سال مطالعه و تمرين ببينيد. با توجه به شناختي كه من از ايشون دارم، مي دونم كه با توجه به برخود نادرست شما با اون ديگه به اين تاپيك سر نمي زنه. واسه همين من براش پيغام شخصي گذاشتم كه باز هم به اين تاپيك سر بزنه و بيشتر توضيح بده.
بحث و جنجال جالبی بود
از ابتدا پستها رو دنبال کردم، و همونطور که حامد خودش اشاره کرد، تنها بجای n از N استفاده کرده بود که اونم اشتباهن بوده
دوست عزیز meytim تا اینجا که من دیدم، حامد در تمامی مراحل از امکانات خاص مطلب استفاده برده و میبرن
برای اینکه شما رو آگاه کنم که مشکل کارتون کجاست، شما رو ارجاع میدم به خطاهای کوچیکی در موقع استفاده از دستور sum در حلقهها بوجود میاد (with for & without for)
سلام
اولا خیلی لطف کردید که اومدید به تالار ما سر زدید دوما اینجا هر کسی اکر چیزی بلد هست در طبق اخلاص میذاره بدون هیچ چشم داشتی اصل و هدف این تاپیک در ابتدا کاربرد متلب در مهندس شیمی بوده ولی خوب بعلت سوالاتی که پیش اومد ما یک گریزیم به مطالب دیگه هم زدیم من از دوست خوبم meytim هم تشکر میکنم که هر جا لازم بود اومد وکمک کرد و من و دوستام فکر نمیکنم جای به ایشون بی احترامی کرده باشیم شما اگر لطف میکردید کل پستهارو نگاه میکردید میدید که غیر از تشکر چیز دیگه ای گفته نشده به شکر خدا این تالار اینقدر بچه های باسواد داره که احتیاج به خواهش شما نیست در ضمن اون خط قرمز رو متوجه نشدم مگه شما چقدر از من و دوستم شناخت دارید از کجا میدونید من چی بلدم و چی بلد نیستم مگه ما رشته مون یکی هست که قابل مقایسه باشه؟ اگر میشه بیشتر توضیح بدید
[COLOR=forestgreen][FONT="]%% Amendment to Hamed's 1st Try[/FONT][/COLOR]
[COLOR=black][FONT="]N=5; x=7;[/FONT][/COLOR]
[COLOR=blue][FONT="]for[/FONT][/COLOR][COLOR=black][FONT="] n = 1 : N;[/FONT][/COLOR]
[COLOR=black][FONT="] s(n) = 1+x^n/factorial(n);[/FONT][/COLOR]
[COLOR=blue][FONT="]end[/FONT][/COLOR]
[COLOR=black][FONT="]m1a = sum(s)-(N-1)[/FONT][/COLOR]
[COLOR=forestgreen][FONT="]%% Amendment to Hamed's 2nd Try[/FONT][/COLOR]
[COLOR=black][FONT="]N=5; x=7;[/FONT][/COLOR]
[COLOR=blue][FONT="]for[/FONT][/COLOR][COLOR=black][FONT="] n = 1 : N;[/FONT][/COLOR]
[COLOR=black][FONT="] s(n) = 1+x^n/prod(1:n);[/FONT][/COLOR]
[COLOR=blue][FONT="]end[/FONT][/COLOR]
[COLOR=black][FONT="]m2a = sum(s)-(N-1)[/FONT][/COLOR]
[COLOR=forestgreen][FONT="]%% Other Amendment to Hamed's 1st Try[/FONT][/COLOR]
[COLOR=black][FONT="]N=5; x=7;[/FONT][/COLOR]
[COLOR=black][FONT="]s=1;[/FONT][/COLOR]
[COLOR=blue][FONT="]for[/FONT][/COLOR][COLOR=black][FONT="] n = 1 : N;[/FONT][/COLOR]
[COLOR=black][FONT="] s(n+1) = x^n/factorial(n);[/FONT][/COLOR]
[COLOR=blue][FONT="]end[/FONT][/COLOR]
[COLOR=black][FONT="]m1a2 = sum(s)[/FONT][/COLOR]
[COLOR=forestgreen][FONT="]%% Other Amendment to Hamed's 2nd Try[/FONT][/COLOR]
[COLOR=black][FONT="]N=5; x=7;[/FONT][/COLOR]
[COLOR=black][FONT="]s=1;[/FONT][/COLOR]
[COLOR=blue][FONT="]for[/FONT][/COLOR][COLOR=black][FONT="] n = 1 : N;[/FONT][/COLOR]
[COLOR=black][FONT="] s(n+1) = x^n/prod(1:n);[/FONT][/COLOR]
[COLOR=blue][FONT="]end[/FONT][/COLOR]
[COLOR=black][FONT="]m2a2 = sum(s)[/FONT][/COLOR]
[COLOR=forestgreen][FONT="]%% for loop using factorial function[/FONT][/COLOR]
[COLOR=black][FONT="]n=5; x=7;[/FONT][/COLOR]
[COLOR=black][FONT="]s=1;[/FONT][/COLOR]
[COLOR=blue][FONT="]for[/FONT][/COLOR][COLOR=black][FONT="] k=1:n[/FONT][/COLOR]
[COLOR=black][FONT="] s=s+x^k/factorial(k);[/FONT][/COLOR]
[COLOR=blue][FONT="]end[/FONT][/COLOR]
[COLOR=black][FONT="]sff=s[/FONT][/COLOR]
[COLOR=forestgreen][FONT="]%% for loop using prod function[/FONT][/COLOR]
[COLOR=black][FONT="]n=5; x=7;[/FONT][/COLOR]
[COLOR=black][FONT="]s=1;[/FONT][/COLOR]
[COLOR=blue][FONT="]for[/FONT][/COLOR][COLOR=black][FONT="] k=1:n[/FONT][/COLOR]
[COLOR=black][FONT="] s=s+x^k/prod(1:k);[/FONT][/COLOR]
[COLOR=blue][FONT="]end[/FONT][/COLOR]
[COLOR=black][FONT="]sfp=s[/FONT][/COLOR]
[COLOR=forestgreen][FONT="]%% FORTRAN Style for loop[/FONT][/COLOR]
[COLOR=black][FONT="]n=5; x=7;[/FONT][/COLOR]
[COLOR=black][FONT="]s=1;f=1;[/FONT][/COLOR]
[COLOR=blue][FONT="]for[/FONT][/COLOR][COLOR=black][FONT="] k=1:n[/FONT][/COLOR]
[COLOR=black][FONT="] f=f*k;[/FONT][/COLOR]
[COLOR=black][FONT="] s=s+x^k/f;[/FONT][/COLOR]
[COLOR=blue][FONT="]end[/FONT][/COLOR]
[COLOR=black][FONT="]sFf=s[/FONT][/COLOR]
[COLOR=forestgreen][FONT="]%% while loop using factorial function[/FONT][/COLOR]
[COLOR=black][FONT="]n=5; x=7;[/FONT][/COLOR]
[COLOR=black][FONT="]s=1;k=1;[/FONT][/COLOR]
[COLOR=blue][FONT="]while[/FONT][/COLOR][COLOR=black][FONT="] k<=n[/FONT][/COLOR]
[COLOR=black][FONT="] s=s+x^k/factorial(k);[/FONT][/COLOR]
[COLOR=black][FONT="] k=k+1;[/FONT][/COLOR]
[COLOR=blue][FONT="]end[/FONT][/COLOR]
[COLOR=black][FONT="]swf=s[/FONT][/COLOR]
[COLOR=forestgreen][FONT="]%% while loop using prod function[/FONT][/COLOR]
[COLOR=black][FONT="]n=5; x=7;[/FONT][/COLOR]
[COLOR=black][FONT="]s=1;k=1;[/FONT][/COLOR]
[COLOR=blue][FONT="]while[/FONT][/COLOR][COLOR=black][FONT="] k<=n[/FONT][/COLOR]
[COLOR=black][FONT="] s=s+x^k/prod(1:k);[/FONT][/COLOR]
[COLOR=black][FONT="] k=k+1;[/FONT][/COLOR]
[COLOR=blue][FONT="]end[/FONT][/COLOR]
[COLOR=black][FONT="]swp=s[/FONT][/COLOR]
[COLOR=forestgreen][FONT="]%% FORTRAN style while loop[/FONT][/COLOR]
[COLOR=black][FONT="]n=5; x=7;[/FONT][/COLOR]
[COLOR=black][FONT="]s=1;k=1;f=1;[/FONT][/COLOR]
[COLOR=blue][FONT="]while[/FONT][/COLOR][COLOR=black][FONT="] k<=n[/FONT][/COLOR]
[COLOR=black][FONT="] f=f*k;[/FONT][/COLOR]
[COLOR=black][FONT="] s=s+x^k/f;[/FONT][/COLOR]
[COLOR=black][FONT="] k=k+1;[/FONT][/COLOR]
[COLOR=blue][FONT="]end[/FONT][/COLOR]
[COLOR=black][FONT="]sFw=s[/FONT][/COLOR]
[COLOR=forestgreen][FONT="]%% MATLAB Style using Element-by-Element Operators & Vector Product[/FONT][/COLOR]
[COLOR=black][FONT="]n=5; x=7;[/FONT][/COLOR]
[COLOR=black][FONT="]sm1=1+x.^(1:n)*(1./factorial(1:n)')[/FONT][/COLOR]
[COLOR=forestgreen][FONT="]%% Other MATLAB Style using Element-by-Element Operators & Vector Product[/FONT][/COLOR]
[COLOR=black][FONT="]n=5; x=7;[/FONT][/COLOR]
[COLOR=black][FONT="]sm2=x.^(0:n)*(1./factorial(0:n)')[/FONT][/COLOR]
[COLOR=forestgreen][FONT="]%% Other MATLAB Style using Element-by-Element Operators (Week)[/FONT][/COLOR]
[COLOR=black][FONT="]n=5; x=7;[/FONT][/COLOR]
[COLOR=black][FONT="]sm3=sum(x.^(0:n)./factorial(0:n))[/FONT][/COLOR]