انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
یافتن نزدیکترین عدد در ماتریس

یافتن نزدیکترین عدد در ماتریس

#2
سلام        شما میتوانید به طریق زیر عمل کنید :   


   اعداد ورودی به صورت یک سری وارد میشوند یعنی به صورت یک ماتریس با ابعاد یک ضرب در تعداد درایه های ماتریس. حال باید تمام اعداد ماتریس رو از عدد 0 کم کنید و اعداد باقیمانده را از کوچک به بزرگ مرتب کرده و عدد اول ماتریس که کوچکترین عدد باقیمانده است و مشخص میکند که دو عدد تفریق شده از هم نزدیک هم بوده اند . برای اعداد بعدی 0.1 و ... هم به همین شکل عمل میشود. ولی سوال اینجاست وقتی کوچکترین باقیمانده را پیدا کنیم چطور به عدد موردنظر دست پیدا کنیم؟ جواب ساده است ، عددی که منهای درایه های ماتریس کردید رو بعلاوه کوچکترین باقیمانده کنید، عدد موردنظر بدست می آید.
دستور کوچکترین --------------min
تا اینجای کار برای هر عدد به طور خاص، بهترین عددی که نزدیک به آن عدد است را از ماتریس ورودی انتخاب کردیم. ولی سوال شما این است که اعدادی که نزدیک به عدد موردنظر هستند، تکراری نباشند. بنابراین وقتی نزدیکترین عدد به صفر رو انتخاب کردید ، اون عدد را در ماتریس ورودی حذف میکنید. با چه دستوری ؟ مثلا اگر ماتریس زیر رو داشته باشیم:





کد:
a=[1,2,12,4,8,6]

دستور زیر رو برای حذف درایه 12 به کار میبریم :




کد:
a(find(a==12))=[]
مثال : میخواهیم نزدیکترین عدد به 0.2 را از ماتریس ورودی زیر پیدا کنیم:




کد:
b=[0.231,0.234,0.121,3,0.54,0.1,0.53,0.123];
ابتدا ماتریس b-0.2  را میسازیم:




کد:
>> c=b-.2

کد:
c =

0.0310 0.0340 -0.0790 2.8000 0.3400 -0.1000 0.3300 -0.0770
در ادامه قدرمطلق ماتریس c را محاسبه و با دستور min ، کوچکترین عدد را محاسبه میکنیم:





کد:
d=min(abs(c))
سپس محل کوچکترین عدد در ماتریس باقیمانده را پیدا کرده و در ماتریس ورودی درایه واقع در آن محل را به عنوان نزدیکترین درایه به 0.2 انتخاب میکنیم:



کد:
f=find(d);

nazdiktain=b(f);
سپس برای مرحله بعدی که عدد دیگر را میخواهیم بررسی کنیم، نزدیکترین عدد به 0.2 را در ماتریس ورودی حذف میکنیم:





کد:
b(f)=[]

 

 
دوست دارم زندگی رو . . . 
پاسخ
 سپاس شده توسط admin ، شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پیام‌های این موضوع
یافتن نزدیکترین عدد در ماتریس - توسط uzman - ۱۳۹۳/۰۵/۱۳, ۰۵:۵۰ ب.ظ
RE: یافتن نزدیکترین عدد در ماتریس - توسط 4i469x - ۱۳۹۳/۰۵/۱۵, ۱۲:۲۱ ب.ظ

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان