View Full Version : سوال
bporreza
دوشنبه 11 اسفند 1393, 02:13 صبح
سلام
می خوام 1ماتریس رو بر حسب ستونهای مستقل خطی مرتب کنم.ینی اگر dتا از mتا ستونش مستقل خطی هست تو ستونهای1 تاdقرار بگیره وm- dتا باقی مونده تو ستونهایd+1تاm قرار بگیره ویا حتی ستونهای وابسته خطی رو حذف کنه.چطور میتونم تو متلب این کار رو انجام بدم
متشکر
rahnema1
دوشنبه 11 اسفند 1393, 18:52 عصر
سلام
برای پیدا کردن بردارهای مستقل خطی می شه از دستور rref استفاده کرد
مثلا یک ماتریس داریم به نام a با 5 سطر و 350 ستون که هر ستون نماینده یک بردار هست و مثلا بردار ها هم از صفر و یک تشکیل شدند
a = randi([0 1], 5, 350);
[~ ,index] = rref(a);
b = a(:,index);
index برای ما شماره ستونهایی را نشون میده که مستقل خطی هستند و بردارهای مستقل خطی هم در b ذخیره می شه
در منبع زیر توضیحات خوبی داده شده:
http://stackoverflow.com/questions/27907115/extracting-the-largest-set-of-linearly-independent-vectors-from-a-set-of-vectors
bporreza
چهارشنبه 13 اسفند 1393, 16:32 عصر
سلام خیلی ممنون و متشکر.
نمیشه این برنامه رو کمی ساده تر نوشت.چون این 1قطعه از 1برنامه دیگه هستش.نمیدونم شاید اینطور ساده تر باشه که فقط ستون به ستون مقایسه کنه و اگه وابسته بود فقط حذف کنه و بره سراغ ستون بعدی.:-(
rahnema1
چهارشنبه 13 اسفند 1393, 16:39 عصر
سلام
الان اصلاحش کردم
دقیقا اگه منظورتون مستقل بودن 2 به 2 هست عمل می کنه. یعنی بررسی می کنه 2 تا ستون با هم مستقل هستند یا نه. نه اینکه یکی از ستونها ترکیب خطی بقیه ستونها باشه
bporreza
چهارشنبه 13 اسفند 1393, 18:30 عصر
خیلی ممنون.متشکرم
rahnema1
پنج شنبه 28 خرداد 1394, 13:27 عصر
قبلا برنامه ای نوشته بودم که با جستجو در نت دیدم روش بهتری برای این کار وجود داره که پست را اصلاح کردم
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.