matlabkhooneh

تکالیف پردازش گفتار - حد آستانه شدت ( کد Mat0012 )

1 - تکلیف درس پردازش گفتار 

الف ) برنامه ای بنویسید که ابتدا یک سیگنال صوتی را بخواند و سپس با استفاده از پنجره Uniform  به پهنای 256  و پله 128 انرژی سیگنال را در پنجره های مختلف بدست آورد و رسم کند.

ب ) در مرحله بعد ابتدا نمودار انرژی را نرمال کنید و سپس با در نظر گرفتن حد شدت آستانه 0.1 فرآیند Voice activity detection را انجام داده و داده های زیر شدت آستانه را حذف کنید.

نکته : اجازه ی استفاده از توابع آماده متلب را ندارید و فقط مجاز به استفاده از حلقه for و دستورات شرط هستید.

دریافت و رسم سیگنال صوت

 

رسم انرژی سیگنال صوت با استفاده از پنجره Uniform به پهنای 256  و پله 128

 

رسم سیگنال با در نظر گرفتن Voice Activity Detection  با آستانه 0.1

 

رسم تمامی مراحل در یک نمودار

| جهت سفارش پروژه ، تکلیف و آموزش سیمولینک Simulink  و  متلب Matlab لطفا در شبکه های تلگرام و واتساپ موضوع و سوال مورد نظر را به شماره  989364847193+ ارسال نمایید، تا پس از بررسی هزینه خدمت شما اعلام گردد.

تکالیف متلب MATLAB - مشتق و انتگرال ( کد Mat0003 )

1 - با نوشتن کد در نرم افزار متلب سیگنال های x و y را در بازه زمانی خواسته شده رسم کنید.

\[x[n]=0.2\times (1.2)_{n}\]

\[y[n]=20\times (0.9)_{n}\]

2 - با استفاده از دستورات متلب متشق تابع f را یک بار نسبت به x و یک بتر نسبت به y بدست آورید. سپس انتگرال را در بازه مشخص شده محاسبه کنید.

\[f(x,y)=x^{2}y+y^{2}x+sin(x+y)\]

\[I=\int _{0}^{\frac {\pi}{3}}sin(3x)dx\]

3 - برنامه ای بنویسید که عدد صحیح و مثبت N را دریافت نموده و مجموع مقسوم علیه های اول آن را نمایش دهد. ( همه دستورات مجاز است ).

4 - برنامه ای بنویسید که 10 عدد از دنباله بازگشتی زیر را تولید نماید و در قالب یک بردار S نشان دهد.

\[\begin{matrix} f(1)=2 &f(2)=3 \\ \end{matrix}\]
\[f(n)=2f(n-1)+3f(n-2)\]

5 - برنامه ای بنویسید که یک آرایه از اعداد صحیح و مثبت به طول N را دریافت نموده ، جای اعضای آن را دو تا دوتا عوض نماید. یعنی عنصر اول با عنصر دوم ، عنصر سوم با عنصر چهارم و به همین ترتیب عنصر i  ام  را با عضو i+1  عوض نماید. ( اگر طول آرایه فرد باشد ، آخرین عضو آن را جابجا نمی کنیم. )

6 - برنامه ای بنویسید که یک بردار از اعداد صحیح مثبت را دریافت کرده و آن بردار را با کمک دستورات max و min به صورت صعودی مرتب کند.

7 - برنامه ای بنویسید که دو آرایه از اعداد صحیح و مثبت به طول دلخواه را دریافت نموده و سپس تعداد عناصر آن دو آرایه را که مقدار یکسان دارند را نشان دهد.

8 - ماتریس زیر را اصطلاحا ماتریس سه قطری یا نواری می گوییم. برنامه ای بنویسید که تعداد سطر و ستون یک ماتریس را از کاربر بگیرد و عدد 2 روی قطر اصلی ماتریس ، عدد 1- روی قطر پایین تر از قططر اصلی ماتریس و روی قطر بالاتر از قطر اصلی عدد 1 را جایگزین نماید.

\[\begin{bmatrix} 2& 1& 0& 0& 0& 0&0 \\ -1& 2& 1& 0 & 0 &0 &0 \\ 0& -1& 2& 1&0 & 0 &0 \\ 0& 0 & -1& 2& 1& 0 &0 \\ 0& 0& 0& -1& 2& 1& 0\\ 0& 0& 0& 0& -1& 2&1 \\ 0& 0& 0& 0& 0& -1&2 \end{bmatrix}\]

9 - حدس کولاتز Collatz

حدس کولاتز به این صورت است که هرگاه یک عدد دلخواه طبیعی ( صحیح بزرگتر از صفر ) Nرا به عنوان عدد شروع در نظر بگیریم ، آنگاه اگر عدد انتخاب شده زوج باشد عدد بعدی N/2 است و اگر N فرد باشد ، عدد بعدی 3N+1 خواهد بود. هرگاه این عمد را برای عدد بدست آمده و اعداد بعدی به تعداد متناهی تکرار کنیم به عدد 1 خواهیم رسید. حدس کولاتز اولین بار توسط " لوتار کولاتز " ریاضیدان آلمانی در سال 1937 بیان شدو تا کنون حل نشده باقی مانده است. تا سال 2017 حدس کولاتز برای اعدادی به بزرگی 2 به توان 64 تست شده است ومثال نقضی برای آن پیدا نشده است. با توجه به تعریف حدس کولاتز ، هر عدد طبیعی متناظر با رشته ای از اعداد خواهد بود که اولین عنصر رشته خود عدد و آخرین عنصر رشته عدد یک خواهد بود. اگر خود عدد را دز نظر نگیریم و از طول بدست آمده یک واحد کم کنیم طول این رشته جدید را اصطلاحا طول کولاتز می نامند. در واقع طول کولاتز تعداد گام هایی است که باید طی شود تا از عدد ورودی به عدد یک برسیم. به طور مثال طول کولاتز برای عدد 64 برابر 6 است ، زیرا 6 گام از عدد 64  به 1 می رسیم. حدس کولاتز با توجه به طول کولاتز به این صورت است که " طول کولاتز برای هر عدد طبیعی عددی متناهی است "برنامه ای بنویسید که Aرا دریافت کرده و دنباله کولاتز را برای آن عدد نمایش دهد. آیا ممکن است طول کولاتز برای هر دو عدد نامساوی عددی یکسان شود؟ برنامه ای بنویسید که طول کولاتز را برای اعدا 2 الی یک میلیون محاسبه نماید و بر اساس آن در مورد سوال مطرح شده بحث نماید.

10 - الف) چگونه می توان ماتریسی تعریف کرد که از عدد 40 تا 25 باشد؟

ب ) با استفاده از کدام دستور می توان ماتریس بدست آمده در قسمت (الف) را به یک ماتریس 4*4 تبدیل کرد؟

11 - برنامه ای بنویسید که ماتریس دلخواه A  را دریافت کند اگر مجموع عناصر بزرگتر از 6 آن بزرگتر از 30 باشد مجموع کل عناصر ماتریس A نمایش داده شود در غیراینصورت حاصل ضرب تمام عناصر ماتریس A نمایش داده شود.

12 - برنامه ای بنویسید که یک عکس را بخواند و در مرکز آن مثلث متساوی الاضلاع با طول ضلع 60 پیکسل رسم کند.

13 - برنامه ای بنویسید که یک عکس را بخواند با موس بر روی یک نقطه از عکس کلیک کنید و با حرکت دادن موس و کلیک راست بر روی نقطه دیگر دایره به مرکز نقطه اول و شعاع نقطه دوم رسم کند.

14 - سری فوریه تابع y=x را در بازه pi تا  pi- به ازای 5 جمله رسم کنید. کدی بنویسید که امکان رسم سری فوریه برای هر تابعی را داشته باشد.

15 - تابعی بنویسید که یک چندجمله ای ( به صورت یک بردار سطری ) و یک بردار دو عنصری ( حاوی دامنه ترسیم ) را از کاربر بگیرد و نمودار چند جمله ای را در دامنه مشخص شده ترسیم کند.

16 - تابهی با عنوان زیر بنویسید ، به نحوی که x یک بردار  و out بردار با 10المان زوج ابتدایی x است. اگر تعداد المان های زوج بردار x کمتر از 10 باشد، مقادیر 0 جایگزین شوند تا اندازه خروجی برایر 10 شود.

17 - در یک figure می خواهیم دو نمودار با دو محور sin(x) ( در سمت چپ) و نمودار cos (x) در سمت راست را رسم کنیم. در بازه 0 تا 4pi

18 - دستورات متناسب با بدست آوردن ریشه های چند جمله ای مرتبه 3 و همچنین چند جمله ای با استفاده از ریشه های آن را بیان کرده و مثال بزنید.

19 - برنامه ای بنویسید که یک عدد دریافت کند اگر بزرگتر از 7 بود عبارت بزرگتر را چاپ کند در غیر این صورت فاکتوریل آن را حساب کند.

20 - در ماتریس زیر دترمینان ، تریس ، ترانهاده و مرتبه را بدست آورید.

\[\begin{bmatrix} 1& 1&2 \\ -1& -1& 1\\ 2& 2 & 1 \end{bmatrix}\]

21 - حاصل عبارت های زیر ( با استفاده از دستورات یک خطی - بدون برنامه نویسی و استفاده از حلقه و شرط ) را به دست آورید

\[a=1-\frac{1}{2}+\frac{1}{3}-\frac{1}{4}+...\]

\[a=1^{2}+2^{2}+3^{2}+...+1000^{2}\]

\[a=\frac{1}{1^{2}\times 3^{2}}+\frac{1}{3^{2}\times 5^{2}}+...+\frac{1}{999^{2}\times 1001^{2}}\]

22 -  الف) ضمن رسم دو معادله زیر در بازه [2 , 2- ] با فاصله گام 0.5 ، با استفاده از دستور fzero مختصات نقاط برخورد آنها را به دست آورده و سپس آن ها را بر روی منحنی ها نمایش دهید.

\[\left\{\begin{matrix}exp(-x^{2}) \\x^{4}-x^{2}\end{matrix}\right.\]

ب ) معادله زیر را در نظر بگیرید . در بازه 0 تا 10pi و با فاصله گام 0.1 آن را رسم کرده و مقدار ماکزیمم آن را بر روی نمودار نشان دهید.

\[y=x\;cos(x)\]

23 - سه معادله زیر را در نظر بگیرید. به دو روش معادلات زیر را در یک پنجره رسم کنید

\[y_{1}=sin(t) \\y_{2}=t \\y_{3}=t-\frac{t^{3}}{3!}+\frac{t^{5}}{5!}+\frac{t^{7}}{7!} \\0 \leq t\leq 2\pi\]

24 - الف ) برنامه ای بنویسید که از کاربر یک بردار عددی دریافت کرده و سپس مقدار ماکزیمم آن بردار را با استفاده از ساختار حلقه ای و شرطی تعیین کند.

ب ) برنامه ای بنویسید که اعداد فرد سه رقمی را از بزرگ به کوچک چاپ کند

25 - با استفاده از ساختار شرطی case-switch برنامه ای بنویسید که علاوه بر دریافت یک مقدار برحسب سانتیمتر، واحد خواسته شده را نیز از کاربر دریافت کند و سپس آن را در واحد خواسته شده (میلیمتر، اینچ، متر و فوت) نمایش دهد.

26 - الف ) فانکشنی بنویسید که یک عدد دریافت کند اگر تعداد ارقام آن 5 عدد نبود پیغام error را نشان دهد

ب ) فانکشنی بنویسید که یک بردار از کاربر دریافت کند و مقادیر زوج را تعیین نماید.

27 - برنامه ای بنویسید که اعداد بردار زیر را

الف ) به صورت دو تا دوتا از طرفین با هم جمع بزند

ب ) به صورت دو تا دوتا با هم جمع بزند

28 - ماتریس M را با استفاده از دستورات مربوط به ساخت ماتریس ها با مقادیر خاص A ،B ،C و D بسازید: ( بدون استفاده از حلقه و شرط )

A :ماتریس 3 در 3 که کلیه درایههای آن برابر منفی چهار باشد.

B :ماتریس 3 در 3 که درایه های روی قطر اصلی، اعداد 1 تا 3 و سایر درایه های آن صفر باشد.

C :ماتریس 2 در 4 که سطر اول آن اعداد منفی سه تا صفر و سطر دوم آن اعداد سه تا صفر باشد.

D :ماتریس 2 در 2 که درایه های روی قطر اصلی آن برابر 3 و سایر درایه های آن برابر منفی 3 باشد.

29 - الف) یک ماتریس 3×3 با عناصر تصادفی بین صفر و یک ایجاد کنید. سپس عناصری که کمتر از مقدار 0.5 دارند را 10 برابر کرده و به جای عناصر بزرگتر از 0.5 ، مقدار یک را قرار دهید ( بدون استفاه از حلقه و شرط )

ب ) برنامه ای بنویسید که از کاربر دو عدد بزرگتر از صفر را بگیرد و تمام اعداد زوج بین آنها را نمایش دهد.

30 - تابعی بنویسید که دو عدد یعنی نرخ تورم سالیانه و قیمت یک کالای مشخص را دریافت کند و بر اساس نرخ تورم قیمت این کالا بعد از 10 سال را نشان دهد.

31 - تابعی بنویسید که یک عبارت از جنس رشته را دریافت کند و کلمات آن را جدا کرده و به ترتیب از انتها به ابتدا نشان دهد )در هر خط یک کلمه نشان داده شود(. اگر به جای رشته یک آرایه غیر کاراکتری توسط کاربر وارد شود تابع باید خطایی مبنی بر اینکه یک آرایه رشته ای باید وارد شود نشان دهد.

32 - تابعی بنویسید که یک عبارت از جنس رشته را دریافت کند و اگر در این رشته کلمه cat وجود داشت آن را به کلمه dog تبدیل کند و اگر کلمه is وجود داشت آن را به not is تبدیل کند و در غیراینصورت خود جمله نشان داده شود. به عنوان مثال جمله "cat a is This "تبدیل شود به "dog a not is This ."اگر به جای رشته یک آرایه غیر کاراکتری توسط کاربر وارد شود تابع باید خطایی مبنی بر اینکه یک آرایه رشته ای باید وارد شود نشان دهد.

33 - تابعی بنویسید که سه آرگومان ورودی و یک آرگومان خروجی به صورت زیر داشته باشد : اگر در هنگام استفاده یک آرگومان ورودی وارد شود پیغام خطایی مبنی بر اینکه تعداد آرگومانهای ورودی باید حداقل 2 باشد نشان داده شود. اگر در هنگام استفاده دو آرگومان ورودی وارد شود مقادیر آرگومانهای وارد شده به هم چسبیده و در قالب یک رشته در خروجی نشان داده شود. اگر در هنگام استفاده سه آرگومان ورودی وارد شود مقدار آرگومان دوم در آرگومان اول جستجو شود و به جای آن مقدار آرگومان سوم جایگزین شود و در غیراینصورت خود عبارت آرگومان اول نشان داده شود

34 - برنامه ای بنویسید که یک ماتریس مرعی گرفته و آن را به سه ماتریس قطری ، بالا مثلثی و پایین مثلثی تفکیک کند.

35 - برنامه ای بنویسید که حاصلضرب دو ماتریس m*n و n*q را محاسبه کند. ( ابتدا درایه های ماتریس را وارد کنید و با استفاده از حلقه ضرب ماتریسی را محاسبه نمایید )

36 - برنامه ای بنویسید که مختصات دو نقطه از دو خط را گرفته و مشخص کند آیا دو خط موازی هستند بر هم عمود هستند و نیز زاویه بین آن ها چقدر است.

37 - کد متلبی بنویسید که عددهای اول بین 300 تا 900 را با یک بردار نمایش دهد

38 - موسسه ای 168 کارمند دارد و قرار است حقوق آنها را افزایش دهد. کد متلب الگوریتمی را بنویسید که حقوق این 168 کارمند را خوانده و به حقوق کارمندانی که کمتر یا مساوی 1800000 باشد 9 درصد اضافه کند، به حقوق کارمندانی که بین 1800000تا2500000 باشد 7 درصد و به حقوق کارمندانی که بیشتر از 2500000 باشد 5 درصد اضافه کند و حقوق اولیه و حقوق جدید همه کارمندان را در بردارهای جداگانه ( 2 بردار) نمایش دهد.

39 - کد متلبی بنویسید که نمره دانش آموزی را دریافت کند، اگر عدد وارد شده ( N )  مجاز است ،  تعیین کند قبول است یا مردود و در صورت غیرمجاز بودن عدد ورودی، مجددا از کاربر ورودی دریافت کند

40 - کد متلبی بنویسید که عدد صحیح و مثبت n را دریافت کرده و مجموع n جمله از سری زیر را محاسبه کند. (دقت کنید که الگوریتم باید n جمله داشته باشد)

\[S=1+\frac{1}{4}+\frac{1}{9}++\frac{1}{16}+\frac{1}{25}+...\]

41 - کد متلبی بنویسید که عدد N را دریافت کرده و از بین اعداد از 1 تا ( 1-N*2 ) آنهایی که بر 2 و 3 بخش پذیرند را در برداری با نام A بصورت نزولی نمایش دهد (یعنی (1)A بزرگترین مقدار و (end)A کوچکترین مقدار را داشته باشد.

42 - برنامه ای بنویسید که انتگرال نامعین زیر را حساب کند و جواد را در یک فایل اکسل ذخیره کند.

43 - تابعی بنویسید که یک بردار دریافت کند و آن را به صورت صعودی-نزولی ( به انتخاب کاربر صعودی یا نزولی بودن مشخص شود) مرتب گردد.

44 - تابعی بنویسید که عدد را دریافت کرده و مقسوم علیه های آن را تولیدکند

45 - تابعی بنویسید که یک عدد را دریافت کند و ب.م.م وک.م.م آن را محاسبه کند.

46 - تابعی بنویسید که عددی را دریافت و مشخص کند عددکامل است یا نه.   

47 - برنامه ای بنویسید که نام، سن ، قد و وزن 10 کاربر را از ورودی دریافت کند، سنگین ترین و سبک ترین فرد، بلندترین و کوتاه ترین فرد رامعرفی کند.

48 - برنامه ای بنویسید که از کاربر یک ماتریس دلخواه دریافت کند ( هم از نظر ابعادی و هم از نظر درایه ای) و شمار ه درایه هایی که عدد آن بزرگتر از 5 و کوچکتر از 13 است را در خروجی معرفی کند، در صورتی که چنین ویژگی وجود نداشت، ماتریس را مجدد دریافت کند.

49 - دستور pinv چه کاربردی دارد، و چه زمان هایی از آن استفاده می کنیم، به طورکامل و با ذکر مثال توضیح دهید.

50 - ماتریس یا مربع جادویی magic یک ماتریس است به نحوی که حاصل جمع عناصر هر سطر برابر حاصل جمع عناصر هر ستون و برابر مقداری ثابت است. ماتریس جادویی در نرم افزار متلب با دستور magic ساخته می شود. که حاصل جمع عناصر هر سطر برابر حاصل جمع عناصر هر ستون و برابر با حاصل جمع عناصر روی قطــر اصلی نیز برابر حاصل جمع عناصر روی قطر فرعی است. حال برنامه ای بنویسید که چک کند ماتریس دلخواه شما از نوع magic است یا خیر. به عبارتی برنامه شما باید ویژگی های ماتریس جادویی را چک کند. یعنی برنامه میبایست جمع مقادیر هر سطر و ستون و قطر اصلی و فرعی را باهم چک کند و این مقدار با یکدیگر برابر باشد. 

| جهت سفارش پروژه ، تکلیف و آموزش سیمولینک Simulink  و  متلب Matlab لطفا با متلب خونه تماس بگیرید، تا پس از بررسی هزینه خدمت شما اعلام گردد.

پشتیبانی ( تلفن ثابت دفتر متلب خونه ) : 02191307193  

تلگرام و ایتا :  09364847193

موضوعات
Designed By M A T L A B K H O O N E H