matlabkhooneh

تکالیف متلب MATLAB - رسم نمودار ( کد Mat0015 )

1 - نمودارهای زیر را در بازه 2pi تا 2pi- رسم کنید.

\[y=sin(ln\left | x \right |)\]

\[y=arctan(x)+arcsin(x)\]

\[y=arccos(\frac{2x}{1+x^{2}})\]

2 - رسم نمودار اسپایدر Spider در متلب

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

تکالیف پایتون Python - توابع Activation ( کد Py0003 )

1 - برنامه ای بنویسید که x و n را از ورودی خوانده و مجموع n جمله سری زیر را محاسبه کرده و نمایش دهد. ( مجاز به استفاده از توابع آماده پایتون برای به توان رساندن نمی باشید )

\[x+\frac{x^{2}}{2}+\frac{x^{5}}{5}-\frac{x^{7}}{2\times 4}-\frac{x^{9}}{1\times 3 \times 5}+\frac{x^{11}}{2 \times 4 \times 6}\]

2 - با استفاده از پایتون و کتابخانه OpenCV ابتدا تصویری انتخاب کنید و سپس 

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

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

ج - روی تصویر نویز قرار دهید

د- با اعمال فیلتر نویز را کاهش دهید

3 - برنامه ای در پایتون  Python بنویسید که با دریافت نام یک از نمودارهای زیر آن ها را چاپ کند.

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

5 - تابعی بازگشتی بنویسید که تعداد ارقام یک عدد را چاپ کند.

6 - برنامه ای بنویسید که یک عدد صحیح مثبت را از ورودی گرفته و تجزیه آن به عوامل اول را چاپ کند. مثلا اگر کاربر 12 را وارد کرد باید برابر 2**2+1**3 باشد. توجه کنید که در این جا خروجی یک رشته است و نه یک عدد.

7 - چکیده ماتریس

با توجه به تعاریف زیر:

چکیده‌ی افقی، به حاصل تقسیم مجموع اعضای ماتریس بر تعداد سطرهای ماتریس گفته می‌شود.

چکیده‌ی عمودی، برابر حاصل تقسیم مجموع اعضای ماتریس بر تعداد ستون‌های ماتریس است.

چکیده‌ی ماتریس، به حاصل میانگین تمام اعضای درون ماتریس می‌گوییم.

برنامه‌ای بنویسید که با دریافت یک ماتریس از مرتبه‌ی n*m ، چکیده‌های آن را در خروجی نمایش دهد.

ورودی : در خط اول ورودی به ترتیب n و m داده خواهد شد. در n خط بعدی هر کدام m عدد اعشاری ورودی داده می‌شود که برابر اعضای ماتریس است.

خروجی : خروجی اعدادی با حداکثر 5 رقم اعشار در سه خط، به ترتیب تعاریف خواهد بود.

ورودی نمونه

3 2
1.5 3
5.2 -4
-3 3.1

خروجی نمونه

1.93333
2.9
0.96667

8 - تقلب ممنوع!

شرکت Snapp جهت گسترش خدماتش به تازگی اولین نمایندگی خود را در شکرستان افتتاح کرده.

از آنجایی که آشنا شدن مردم شکرستان با Snapp جزو اولویت‌های شرکت محسوب می‌شود، شرکت تصمیم می‌گیرد که قرعه‌کشی عظیمی میان تمامی مردم شکرستان برگزار کند.

به دنبال آن از تمامی مردم شکرستان دعوت ‌می‌شود تا در قرعه‌کشی ثبت‌نام کنند. تنها لازمه‌ی شرکت در قرعه کشی این است که شرکت‌کننده‌ها کلمه شانس خود را روی یک کاغذ بنویسند و در جعبه بیاندازند. تا از میان آنها یک کاغذ به قید قرعه بیرون کشیده شود و به فردی که این کلمه را نوشته جایزه تعلق بگیرد.

اما ممکن است یک شرکت‌کننده به جای یک عدد کاغذ(یک کلمه شانس) تعدادی کاغذ(چندین کلمه‌ی شانس) داخل جعبه بیاندازد و بخواهد تقلب کند. نگران نباشید کارشناسان Snapp فرمول پیچیده‌ای برای حذف کردن کاغذهای اضافی دارند، از نظر کارشناسان Snapp هر دو کلمه شانسی که پیشوندی برابر به طول حداقل p و پسوندی برابر به طول حداقل q داشته باشند، توسط یک فرد به داخل جعبه انداخته شده‌اند و از بین این کلمه ها (کلمه هایی که توسط یک نفر نوشته شده‌اند) تنها یک کلمه در جعبه می‌ماند و باقی کلمه ها حذف می‌شوند.

حال ما به شما تمامی کلمه های اولیه داخل جعبه را می‌دهیم و از شما تعداد نهایی کلمه‌های شانس، پس از اعمال فرمول فوق را می‌خواهیم.

تضمین می‌شود که طول هر کلمه شانس از p , q کمتر نیست.

ورودی : در اولین خط ورودی به ترتیب n و p و q به شما داده می‌شود (n برابر تعداد اولیه کلمه‌های شانس داخل جعبه است). در n خط بعدی در هر خط یک کلمه شانس (متشکل از حروف کوچک انگلیسی) به طول حداکثر ۶۰ آمده است.

خروجی : در تنها خط خروجی تعداد کلمه‌های نهایی داخل جعبه (پس از اعمال فرمول کارشناسان) را چاپ کنید.

ورودی نمونه

3 1 1
armin
akbar
baran

خروجی نمونه

3

9 - اصغر در علم و صنعت

اصغر که در کنکور کارشناسی‌ارشد شرکت کرده بود، در رشته‌ی مهندسی سازه دانشگاه علم‌وصنعت پذیرفته می‌شود. از آنجایی که دانشگاه این روزها بسیار خلوت است و هیچکس نیست تا اصغر از او درباره‌ی مکان‌های مختلف دانشگاه پرس‌و‌جو کند، نیازمند برنامه‌ایست تا هر مکان در دانشگاه را با یک ویژگی خاص در همان ساعت هوشمندش ذخیره کند. هر بار اصغر با گفتن آن ویژگی نام مکان را دریافت کرده یا اسم مکان را خواهد گفت و ساعت ویژگی آن را اعلام می‌کند. البته ممکن است اطلاعاتی که اصغر وارد می‌کند در ساعت موجود نباشد. به طور مثال اصغر ساختمان جدید مهندسی عمران را به آسانسور شیشه‌ای آن می‌شناسد. برای درک بهتر سوال به مثال‌ها توجه کنید.

ورودی : در هر خط یک مکان و ویژگی به برنامه داده می‌شود که با - از هم جدا شده اند. هرگاه . وارد شد به معنای پایان ورود اطلاعات است. سپس در هر خط تعدادی ویژگی یا مکان داده خواهد شد و . بعدی به معنای پایان درخواست اطلاعات از ساعت است.

*نکته:* تضمین می‌شود تمام مکان‌ها/ویژگی‌ها متمایز باشند.

خروجی : بعد از اتمام ثبت اطلاعات عبارت Saved information نمایش داده می‌شود. بعد از آن به ازای هر ویژگی/مکان، مکان/ویژگی متناظر آن نمایش داده می‌شود. در صورت نبود اطلاعات مورد نظر NOT FOUND برای کاربر چاپ خواهد شد. بعد از ورود نقطه‌ی دوم عبارت End نمایش داده می‌شود.

ورودی نمونه

omran-asansor shishei
computer-gerd o gholombe
herasat-nazdike masjed
ketabkhoone-nazdike mahvare
.
ketabkhoone
asansor shishei
oloom paye
.

خروجی نمونه

Saved information
nazdike mahvare
omran
NOT FOUND
End

10 - ثبت نام

*نکته : حتما از dictionary در سوالتون برای ذخیره سازی استفاده کنید در غیر اینصورت نمره ای داده نخواهد شد*

حتماً دیده‌اید که در بخش عضویت بسیاری از وب‌سایت‌ها برای امنیت بیشتر محدودیت‌هایی بر روی نام کاربری و گذرواژه وجود دارد.

می‌خواهیم با پایتون برنامه ای بنویسیم که تعدادی نام کاربری و گذرواژه و شماره موبایل فرد را دریافت کند و بر اساس قواعدی معتبر بودن آن‌ها را بررسی کند و در نهایت لیست نام‌های کاربری به صورت مرتب شده مجاز به عضویت را برگرداند.

قواعد زیر را برای نام کاربری و گذرواژه و شماره موبایل در نظر گرفته‌ایم:

نام‌های کاربری User و Admin را می‌خواهیم برای خودمان نگه داریم. کسی مجاز به عضویت با این نام‌های کاربری حتی اگر شامل این عبارت هم باشد مجاز نیست.

نام کاربری کمتر از ۴ حرف بسیار کوتاه است و مجاز نیست.

همچنین برای امنیت کاربران، کاربری که رمز عبور او کمتر از ۶ حرف باشد یا فقط از اعداد تشکیل شده‌باشد نیز مجاز به عضویت نیست.

شماره موبایل حتما باید با 09 شروع شود و حتما 11 رقم باشد

شماره موبایل باید فقط از اعداد تشکیل شده باشد

ورودی : در خط اول n وارد می شود که نشان دهنده تعداد ورودی هاست و در n خط بعدی اطلاعات یوزر نیم و پسورد و شماره موبایل به ترتیب وارد می شود

خروجی : در تنها خط خروجی تمامی یوزرنیم هایی که مجاز برای ورود هستن را باید مرتب شده بر اساس دو رقم آخر شماره موبایل در خروجی نمایش دهد

ورودی نمونه

3
Bagherzade ali2020 09326547856
AM admin1010 09141412365
Mohandes user1010 09141232110

خروجی نمونه

Mohandes Bagherzade

11 - شبکه اجتماعی

می‌خواهیم یک شبکه‌ی اجتماعی ایجاد کنیم که امکان افزودن و جست‌وجو کردن افراد در آن وجود داشته باشد. در این شبکه‌ی اجتماعی، اطلاعات هر شخص شامل نام، جنسیت، سن و شناسه‌ی آن شخص می‌باشد. شناسه‌ی هر شخص بین ۵ تا ۱۰ کاراکتر و شامل حروف کوچک و بزرگ الفبای انگلیسی و اعداد می‌باشد و شناسه‌ی افراد مختلف متفاوت است. دستورات این شبکه به شکل زیر هستند:

Add <username> <gender> <age> <id>

Find <id>

در دستور دوم ممکن است شناسه‌ی نوشته شده معرف یک شخص نباشد؛ در این صورت شما باید در صورت وجود، افرادی را که شناسه‌ی آن‌ها با کاراکترهای نوشته شده شروع می‌شود به عنوان نتیجه‌ی جست‌وجو گزارش کنید. اگر تعداد این افراد بیشتر از ۱۰ نفر بود، فقط ۱۰ نفر اول (به ترتیب لغت‌نامه‌ای) را گزارش کنید.

ورودی : در هر خط از ورودی برنامه، یکی دستورهای بالا وارد خواهد شد. تعداد دستورات از ۱۰۰۰۰۰ کمتر است. برای خروج از برنامه دستور exit 0 وارد خواهد شد. تضمین می‌شود جز سه دستور فوق ورودی دیگری داده نخواهد شد.

خروجی : برای دستورهای Add عبارتی به شکل User <id> added successfully را در خروجی چاپ کنید.

برای دستورهای Find، نتایج به دست آمده را در خروجی چاپ کنید. برای اینکه نتایج دستورهای مختلف قابل تمایز باشند، در هر خط خروجی شماره‌ی دستور Find متناظر با آن را نیز چاپ کنید. همچنین اگر برای جست‌وجوی انجام شده نتیجه‌ای یافت نشد، عبارت No user found را در خروجی قرار دهید. برای روشن‌تر شدن خروجی‌ها به نمونه توجه کنید

ورودی نمونه

Add Ali male 20 ali20ali
Add Mohammad male 21 mohammadm
Add Akbar male 30 akbar30
Find ali
Add Maryam female 20 maryam20
Find mohammad21
Add Mahtab female 13 mahtab13
Add Maziar male 40 maziarAk
Find ma
exit 0

خروجی نمونه

User ali20ali added successfully
User mohammadm added successfully
User akbar30 added successfully
1 Ali male 20 ali20ali
User maryam20 added successfully
2 No user found
User mahtab13 added successfully
User maziarAk added successfully
3 Mahtab female 13 mahtab13
3 Maryam female 20 maryam20
3 Maziar male 40 maziarAk

 

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

تکالیف متلب MATLAB - مسیر موشک ( کد Mat0011 )

1 - یک موشک را یک ذره سه بعدی فرض کرده و معادلات حرکت آن در فضای سه بعدی را بدست آورید. همچنین نموارهای حرکت در فضای سه بعدی به ازای پارامترهای داده شده را رسم کنید.

\[x(t)=2t \; \; \; ,\; \; \; y(t)=0 \; \; \; ,\; \; \; z(t)=-4.9t^{2}+t\]

 

2 - سری عددی زیر را در متلب به ازای n از اعداد 1 تا 1000 بجز اعداد مضرب 3 را محاسبه نمایید.

\[\frac{n^{2}+2}{n^{3}-n}\]

3 - کد لازم در متلب برای محاسبه مشتق تابع زیر بر حسب s را بنویسید.

\[f=x+2ys+x^{s}\]

کدی بنویسید که مقادیر x=2 , y=3 و s=-2 را در مشتق جایگذاری نماید و مقدار عددی را محاسبه کند.

4 - تابعی در متلب بنویسید که رابطه زیر را محاسبه نماید. ( در موارد غیر از حالت های ذکر شده ، تابع f صفر می باشد. )

\[\left\{\begin{matrix} x^{2}+y^{2} \;\;\;\; x\geq 0\;\;and\;\; y<2\\ sin(xy)\;\;\;\; x=-2 \;\;and\;\; y>6\\ x\;\;\;\;\;\;\;\;\;\;\;\; 2\leq y\leq 6 \end{matrix}\right.\]

5 - تابعی بنویسید که مختصات قطبی یک نقطه را از روی مختصات کارتزین آن در صفحه دو بعدی تعیین کند.

6 - تابعی بنویسید که فاکتوریل یک عدد را محاسبه کند. در نظر داشته باشید فاکتوریل صفر برابر 1 است.

7 - یک معادله  چند جمله ای (حداقل از درجه دو )  را انتخاب کنید. سپس برنامه کامپیوتری را بنویسید که ریشه معادله مربوطه را با دقت 0.001 (در بازه ای که فرضیا مساله نصف کردن صدق می کند) محاسبه و در خروجی چاپ کند.

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

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

1 - تابعی function بنویسید که با گرفتن یک لیست n*1 و تعداد سطر row و ستون مشخص col آن لیست را به ماتریسی با ابعاد row*col تغییر شکل دهد. این function  را reform_matrix به نامید.

 

وردی نمونه

reform_matrix([1,2,3,4,5,6,7,8,9,10,11,12],3,4)

خروجی نمونه

ans =

     1     2     3     4
     5     6     7     8
     9    10    11    12

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

\[y=1-x+x^{2}+...+(-1)^{n}x^{n}\]

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

عدد 1 نشان دهنده روش ساخت ریخته گری و عدد 2 نشان هنده روش ساخت ماشین کاری و عدد 3 نشان دهنده روش ساخت جوشکاری است. برنامه ای بنویسید که کد صحت قطعه را ( یک عدد 7 رقمی ) با پیغام مناسب گرفته و سال تولید ، ماه تولید ، روش ساخت قطعه و شماره کارگر را با پیغام مناسب نمایش دهد.

4 - با استفاده از روش رانگ کوتا مرتبه دوم و در نظر گرفتن h=0.01  مقدار y(0.75) را تخمین بزنید.

\[\frac{dy}{dx}=xe^{y}\]

5 - با استفاده از روش اویلر ( رانگ کوتا مرتبه اول )  و در نظر گرفتن h=0.01  مقدار y(0.75) را تخمین بزنید.

6 - برنامه ای بنویسید که به تعداد n عدد از ورودی گرفته و تعداد اعداد مثبت و منفی و صفر را چاپ کند.

7 - برنامه ای بنویسید که دو عدد a و b را از ورودی گرفته و مضرب های 5 بین این دو عدد و همچنین تعداد آن ها را چاپ کند.

8 - برنامه ای بنویسید که نمرات چند دانشجو را به صورت یک بردار بگیرد و بدون آنکه از حلقه استفاده کند ، نمرات کمتر از 7 را به 9 ، نمرات بین 7 و 10 را به 10 و نمرات 10 تا 20 را یک نمره افزایش دهد.

9 - برنامه ای بنویسید که اولا یک ماتریس مربعی از کاربر بگیرد و اگر ماتریس مربعی نبود پیغام خطا داده و ماتریس جدید بگیرد و ثانیا مجموع و میانگین درایه های قطر اصلی و قطر فرعی ماتریس را حساب کند.

10 - برنامه ای بنویسید که دو عدد n و x را با پیام مناسب از کاربر گرفته و مقدار y را محاسبه نموده و با پیغام مناسب نشان دهد.

\[y=1-x+x^{2}-x{3}+...+(-1)^{n}x^{n}\]

11 - ماتریس A و B را در نظر بگیرید ، برنامه ای بنویسید که معادله ماتریسی AX=B را حل کند.

\[A=\begin{bmatrix} 2 &3 &1 \\ -1& 0& 1\\ 1&2 &4 \end{bmatrix} \;\;\;\;\; B=\begin{bmatrix} 2\\ 1\\ 6 \end{bmatrix}\]

12 - برنامه ای بنویسید که جواب دستگاه داده شده را بدست آورد. ( انتخاب روش اختیاری است )

\[\left\{\begin{matrix} 4x+3y+z=1\\ 3x-2y-3z=-2\\ 5x+4y+2=3 \end{matrix}\right.\]

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

\[\left\{\begin{matrix} -2x+y+20z=19\\ x+10y-z=10\\ 8x+y-z=8 \end{matrix}\right. \;\;\;\;\; X_{0}=(0,1,0)\]

14 - در تجزیه LU  ماتریس A ماتریس L را بیابید.

\[A=\begin{bmatrix} 2& -1 &1 \\ 3& -3& 9\\ 0&3 & 5 \end{bmatrix}\]

15 - برنامه ای بنویسید که با گرفتن عدد n از ورودی و تعریف تابع fact جهت محاسبه فاکتوریل مقدار عبارت زیر را در خروجی چاپ کند.

\[\frac{1}{2!}+\frac{2}{4!}+...+\frac{n}{2n!}\]

16 - دستگاه معادلات زیر را حل کنید.

\[\left\{\begin{matrix} 2x-3y+4z=9\\ 17x-2y+z=2\\ x+2y=4 \end{matrix}\right.\]

17 - ریشه تابع زیر را بیابید.

\[f(x)=\sqrt{x}+2^{x}\]

18 - دستگاه معادلات زیر را حل کنید.

\[\left\{\begin{matrix} \sqrt{x}-3e^{y}=3\\ x-y^{2}=5 \end{matrix}\right.\]

19 - فرض کنید توابع f و g به صورت زیر تعریف شده اند

\[f(x)=\sqrt{x}+2^{x}-\left | x \right | \;\;\;\;\; g(x,y)=4xy+x^{y}-2\sqrt{x}\]

مطلوبست مقادیر زیر را تعیین کنید.

الف - مشتق چهارم تابع f در نقطه x=5

ب - مشتق تابع g نسبت به متغیر y

ج - مقدار تابع f در نقطه x=20

\[\lim_{x\rightarrow 6}f(x)\;\;\;\;\;\; \lim_{(x,y)\rightarrow (1,5)}g(x)\]
\[\int f(x)dx\;\;\;\;\; \int_{2}^{8}f(x)dx\]
\[\int_{3}^{5} \int_{0}^{4}g(x,y)dydx\]

20 - ماتریس تصادفی صحیح A (5,5) را در بازه (80 ,10-) تولید کرده و مقادیر min ، جمع درایه ها ، رتبه ماتریس ، معکوس ، دترمینان ، مقادیر و بردارهای ویژه آن را بیابید. همچنین ماتریس B متناظر با A که عناصر روی قطر اصلی آن اعداد 1،2،3،4،5 هستند را به دست آورید.

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

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

23 - برنامه ای بنویسید که 4 عدد از کاربر بگیرد و سپس میانگین ، کوچکترین و بزرگترین عدد را چاپ کند.

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

تکالیف متلب MATLAB - فیبوناچی ( کد Mat0009 )

1 - سیگنال های گسسته در زمان زیر را در بازه زمانی 8- تا 8 رسم کنید.

\[h_{1}[n]=\delta [n]+\delta [n-1]-\delta [n-2]-\delta [n-3]\]

\[h_{2}[n]=\frac{1}{2}^{n}(u[n+3]-u[n-3])\]

\[x[n]=\frac{1}{4}^{n}(u[n]-u[n-6])\]

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

3 - برنامه ای بنویسید که یک عدد را بگیرد و مشخص کند اول است یا خیر

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

5 - برنامه ای بنویسید که یک ماتریس سطری حاوی اعداد تصادفی را بگیرد و اعداد را از بزرگ به کوچک مرتب نماید.

6 - تابعی بنویسید که یک ماتریس گرفته و هر ستون را به توان متناظر آن ستون برساند. سپس در ماتریس جدیدی حاصل جمع هر ستون را محاسبه کند.

7 - معادله دیفرانسیل زیر را برای یک ثانیه توسط ode45 حل کنید و نتیجه را رسم کنید. 

\[\frac{dx}{dt}=t\;cos(x)\;\;\;\; x(0)=0 \;\; \Delta t=0.1\]

8 - برنامه ای بنویسید که یک عدد دریافت کند و بررسی کند که آیا جزء سری فیبوناچی هست یا خیر؟

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

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