در این پست مدل Simulink کنترل یک سیستم جرم و فنر با روش State Vector Feedback قرار گرفته است. در SVFC با فیدبک گرفتن از تمام حالت های سیستم، نوع پاسخ آن کنترل می شود. اما در مدل جرم و فنر در عمل امکان فیدبک گرفتن از سرعت وجود ندارد. لذا جهت یافتن مقدار تقریبی سرعت باید از یک تخمین گر حالت (State Estimator) استفاده کرد. جهت اجرای این کار از یک مشاهده گر با رتبه ی کاهش یافته (Reduced Order Observer) بهره گرفته شده است.
جهت تولید پالس مربعی در MATLAB از فرمان gensig به شکل زیر عمل می کنیم:
که در آن:کد:[u,t] = gensig('square',T,d,Ts)
- T دوره تناوب پالس
- d مدت زمان پالس
- Ts زمان نمونه برداری
مثال:
کد:[u,t] = gensig('square',5,30,0.1)
اگر یک سیستم دینامیکی در فضای حالت به شکل زیر تعریف شده باشد:آن گاه ماتریس کنترل پذیری و مشاهده پذیری به ترتیب به شکل زیر در به دست می آیند:
x. = Ax + Bu
y = Cx + Du
مثال:کد:ctrb(A,B) obsv(A,C)
کد:A = [1 2;-1 1]; B = [2;1]; C = [1 0]; ctrb(A,B) obsv(A,C)
برای محاسبه ی گرامیان کنترل پذیری و مشاهده پذیری در متلب از فرمان gram استفاده می شود.
مثال:
کد:sys = ss([0 1;-1 -1],[0;1],[1 0],0); gram(sys,'c') gram(sys,'o')
جهت طراحی یک کنترلر بهینه ی مربعی-خطی در متلب می توان از فرمان LQR به شکل زیر بهره برد:
که در آن A و B ماتریس های فضای حالت سیستم و Q، R و N پارامتر های تابع هدف هستند. در آن صورت K ماتریس ضرایب بردار فیدبک حالت، S پاسخ معادله ی ریکاتی و e مقادیر ویژه ی سیستم مطلوب خواهد بود.کد:[K,S,e] = LQR(A,B,Q,R,N)
من به کد متلب روش ضمنی دو بعدی در مکعب مستطیل نیاز دارم. لطفا کمکم کنید.
amn110234 (21-04-16)
دوست گرامی عضویت شما رو در شهر سخت افزار تبریک می گم.برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید ارسالی توسط tarane66 برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
اگر منظورتون روش ضمنی تفاضل محدود در حل معادلات دیفرانسیل کارتزین دو بعدی هستش می تونید به دو پیوند زیر مراجعه کنید:
Parallel Spectral Numerical Methods/Examples in Matlab - Wikibooks, open books for an open world
Math467 - Scientific Computation
ولی اگه منظورتون چیز دیگه ای بوده، لطفا سوالتون رو واضح تر مطرح بفرمایید.
با سپاس
آرمین
'چو ایران نباشد، تن من مباد
Dim Armin As Iranian
If Iran.Enabled = False Then Armin.Enabled = False
برای یافتن تبدیل فوریه ی دو بعدی یک تصویر می توان به شکل زیر عمل کرد:
منبعکد:I = imread('test.jpg'); % Read image from the path F = fft2(I); % 2D FFT F = fftshift(F); % Center FFT F = abs(F); % Get the magnitude F = log(F+1); % Use log, for perceptual scaling, and +1 since log(0) is undefined F = mat2gray(F); % Use mat2gray to scale the image between 0 and 1 imshow(F,[]); % Display the result
|
1 کاربر در حال مشاهده این موضوع. (0 عضو و 1 میهمان)
Bookmarks