1 :تعداد فایل پیوست
مجموعه سورس های پردازش سیگنال
در این بسته می توانید سورس های مفیدی را پیرامون نحوه ی طراحی فیلتر های سیگنال با متلب بیابید.
برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
1 :تعداد فایل پیوست
مرجع آموزش System Identification Toolbox 7
عنوان:
System Identification Toolbox 7
Reference
نویسنده:
Lennart Ljung
ناشر:
MathWorks
این کتاب مرجع کاملی برای جعبه ابزار System Identification در Simulink نرم افزار متلب محسوب می شود که در 365 صفحه به زبان انگلیسی تدوین شده است.
1 :تعداد فایل پیوست
Tutorials on OpenCV and Matlab
این آموزش خلاصه شده نحوه ی به کار گیری کتابخانه ی Open CV را در نرم افزار MATLAB نشان می دهد.
کاهش نویز با روش Total Variation
کد متلب زیر الگوریتمی ساده و موثر را با پیاده سازی روش Total Variation جهت کاهش نویز سیگنال دیجیتال یک بعدی معرفی می کند:
کد:
function [x,J] = denoiseTV(y,lambda,Nit)
% [x,J] = denoiseTV(y,lambda,a,Nit)
% Total variation filtering (denoising) using
% iterative clipping algorithm.
% INPUT
% y - noisy signal (row vector)
% lambda - regularization parameter
% Nit - number of iterations
% OUTPUT
% x - result of denoising
% J - objective function
J = zeros(1,Nit); % objective function
N = length(y);
z = zeros(1,N-1); % initialize z
alpha = 4;
T = lambda/2;
for k = 1:Nit
x = y - [-z(1) -diff(z) z(end)]; % y - D’ z
J(k) = sum(abs(x-y).^2) + lambda * sum(abs(diff(x)));
z = z + 1/alpha * diff(x); % z + 1/alpha D z
z = max(min(z,T),-T); % clip(z,T)
end
برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
پاسخ: سورس ها و آموزش هاي MATLAB
سلام
ببخشید من یه برنامه میخواستم بنویسم سوالش اینه
برنامه ای بنویسید که یک عدد صحیح و یک عدد طبیعی کوچکتر از 9 را به عنوان مبنا از کاربر دریافت کند و عدد خوانده شده ی اولیه را به مبنای داده شده ببرد و نتیجه را در خروجی نمایش دهد.
میشه کمکم کنید؟
تبدیل عدد در مبنای ده به هر مبنای دلخواه
جواب سوالما پیدا کردم میزارم که بقیه هم استفاده کنن
کد:
clc;
clear all;
a=input('adad=');
b=input('mabna=');
i=1;
while a>=b
c(i)=mod(a,b);
a=floor(a/b);
i=i+1;
end
z=fliplr(c);
fprintf('%g%g',a,z);
پاسخ: سورس ها و آموزش هاي MATLAB
سلام . خسته نباشید
یکی از سورس ها به درد من خورد در این تاپیک
میخواستم ببینم مهندس شما سورس مربوط به ارتعاشات آزاد سیستم های یک درجه آزادی میرا دارید؟؟؟
اگر کمک کنید خیلی لطف کردید
1 :تعداد فایل پیوست
پاسخ: سورس ها و آموزش هاي MATLAB
نقل قول:
سلام . خسته نباشید
یکی از سورس ها به درد من خورد در این تاپیک
میخواستم ببینم مهندس شما سورس مربوط به ارتعاشات آزاد سیستم های یک درجه آزادی میرا دارید؟؟؟
اگر کمک کنید خیلی لطف کردید
با سلام!
عضویت تون رو در شهر سخت افزار تبریک می گم.
سورس نمونه ی ارتعاشات یک درجه آزادی زیر میرا (Underdamped) پیوست شد.
موفق باشید
آرمین
1 :تعداد فایل پیوست
چکیده ای از مبانی کامپیوتر ها، الگوریتم ها و برنامه نویسی به کمک MATLAB
این مجموعه اسلاید پیوست شده تحت عنوان " چکیده ای از مبانی کامپیوتر ها، الگوریتم ها و برنامه نویسی به کمک MATLAB " که توسط دکتر محمودی مهر از گروه مهندسی مکانیک دانشگاه گیلان گردآوری شده می تونه یه منبع مناسب برای کسانی باشه که دوست دارن برنامه نویسی رو با زبان متلب آغاز کنن.
رسم پاسخ ضربه ی واحد و پله ی واحد
کد زیر پاسخ ضربه ی واحد (Impulse Response) و پاسخ پله ی واحد (Step Response) مربوط به یک تابع تبدیل دلخواه (Transfer Function) را رسم می کند:
کد:
s=tf('s');
g = 10 /(s^2 + 2*s +10); %Transfer Function
subplot(2,1,1)
impulse(g) %Plot Impulse Response
subplot(2,1,2)
step(g) %Plot Step Response
تولید ماتریس سطری با درآیه های تصادفی
فرمان randperm(n) در متلب یک ماتریس سطری با n ستون ایجاد می کند که هر درآیه ی آن عدد تصادفی بین یک تا n است به طوری که مقدار هیچ دو درآیه با هم برابر نیست.
خروجی:
نمایش مقادیر متغیر در فرمان Input
با بهره گیری از فرمان sprintf می توانید مقادیر متغیر های مختلف را به هنگام نمایش عبارت فرمان input نشان دهید:
کد:
for i =1:9
for j=1:9
tmp(i,j) = input(sprintf('Plz enter value of row %g and column %g: ', i, j));
end
end
مقادیر ویژه و بردار های ویژه
فرمان زیر مقادیر ویژه و بردار های ویژه ی (Eigenvalues and Eigenvectors) ماتریس A را محاسبه کرده و حاصل را به ترتیب در D و V قرار می دهد:
نمایش رفتار یک سیستم دینامیکی بدون ورودی
کد زیر جهت تحلیل یک سیستم دینامیکی بیان شده در فضای حالت به کار می رود که بدون ورودی بوده و تنها تحت تاثیر شرایط اولیه است:
کد:
A=[-9 9 8;1 -9 7;5 -4 3];
C=[1 0 0;0 0 0;0 0 0];
dyn=ss(A,[],C,[]);
x0=[1;2;-1];
initial(dyn, x0)
پاسخ: سورس ها و آموزش هاي MATLAB
سلام دوستان ، من یه سوال دارم از اونایی که با برنامه نویسی Mathlab آشنا هستند ،
سوالم اینه چطور می تونم دو تا عدد 100 رقمی رو بر هم تقسیم کنم ؟
البته سوال اصلی من یه چیز دیگه است ولی تو قسمت بالا موندم ، فقط چون برنامه من خیلی طولانیه و مورد بالا هم خیلی زیاد تو برنامم استفاده میشه خواهشن جوابها کوتاه باشه .
فقط خواهشی که از دوستان دارم اینه که اگه به طور عملی جواب گرفتند برنامه رو اعلام کنند .
پاسخ: سورس ها و آموزش هاي MATLAB
نقل قول:
سلام دوستان ، من یه سوال دارم از اونایی که با برنامه نویسی Mathlab آشنا هستند ،
سوالم اینه چطور می تونم دو تا عدد 100 رقمی رو بر هم تقسیم کنم ؟
البته سوال اصلی من یه چیز دیگه است ولی تو قسمت بالا موندم ، فقط چون برنامه من خیلی طولانیه و مورد بالا هم خیلی زیاد تو برنامم استفاده میشه خواهشن جوابها کوتاه باشه .
فقط خواهشی که از دوستان دارم اینه که اگه به طور عملی جواب گرفتند برنامه رو اعلام کنند .
با سلام!
کلا" برای اجرای عملیات روی اعداد بزرگ یه جعبه ابزار به نام VPI وجود داره که البته به طور پیش فرض با متلب نصب نمیشه و باید جداگونه اون رو نصب کرد. پایه ی کار این جعبه ابزار این طوره که اعداد بزرگ رو به شکل رشته در میاره و اعمال رو روی اون ها پیاده می کنه.
به شکل مشابه خودتون می تونید اعداد صد رقمی رو به صورت رشته (string) تعریف کنید و مطابق همون الگوی تقسیم که در دوران ابتدایی بهمون آموزش دادن رقم به رقم اعداد رو به هم تقسیم کنید.
اگر فرصت کنم کدش رو در همین جا قرار میدم.
موفق باشید
آرمین
پاسخ: سورس ها و آموزش هاي MATLAB
سلام مجدد و تشکر فراوان ،
من خدمتتون عرض کردم چون برنامم خیلی طولانیه نمی تونم برای عمل تقسیم برنامه بنویسم (این برنامه حتی اگه چند خط باشه جواب برنامه اصلی که باید در کمتر از یک ثانیه جواب بده ساعتها طول خواهد کشید ! ) فقط می خوام یه برنامه یا نرم افزاری باشه که خودش دو متغیر 100 رقمی رو بخونه و جواب تقسیم یا ضربشون رو بده، تازه اعداد در پروژه من حداقل صد رقمی هستند و ممکنه صد ها رقم داشته باشه !
برنامه ها و نرم افزارهای مختلفی رو هم تست کردم ولی به جواب نرسیدم اگه باز هم کسی از دوستان نرم افزار یا راهکاری سراغ داره ممنون میشم راهنمایی کنه تا من این برنامه به ظاهر ساده رو حل کنم .
ریشه های یک معادله ی چند جمله ای
اگر یک معادله ی چند جمله ای از مرتبه ی n به شکل زیر داشته باشیم:anxn + an-1xn-1 + ... a1x + a0 = 0
با فرمان roots می توان ریشه های آن را پیدا کرد.
ابتدا یک ماتریس سطری از ضرایب چند جمله ای به شکل زیر شکل می دهیم:
p = [an an-1 ... a1 a0]
سپس با فرمان زیر ریشه ها محاسبه می شوند:
roots(p)
مثال: حل معادله
x3 + 2x2 + 2x + 1
کد:
p = [1 2 2 1];
roots(p)
اعمال توابع مثلثاتی روی ماتریس
برای یافتن Sine و Cosine ماتریس دلخواه A به شکل زیر عمل می کنیم:
چگالی طیفی توانی (Power Spectral Density)
چگالی طیفی توانی یا به اختصار PSD ابزاری در پردازش سیگنال جهت یافتن نحوه ی توزیع قدرت سیگنال برحسب فرکانس است. نمونه ای از محاسبه ی PSD با MATLAB در زیر آمده است:
کد:
t = 0:.001:.25;
x = sin(2*pi*50*t) + sin(2*pi*120*t);
y = x + 2*randn(size(t));
plot(y(1:50))
title('Noisy time domain signal')
Y = fft(y,251);
Pyy = Y.*conj(Y)/251;
f = 1000/251*(0:127);
plot(f,Pyy(1:128))
title('Power spectral density')
xlabel('Frequency (Hz)')