View Full Version : راهنمایی
bporreza
جمعه 08 اسفند 1393, 00:30 صبح
سلام
می خوام 1ماتریس تو متلب تعریف کنم که درایه هاش هر کدوم با 1فرمول محاسبه بشن و بعد جای اون درایه ها بشینن
چطور باید اینکار رو انجام بدم.لطفا راهنمایی کنید
rahnema1
جمعه 08 اسفند 1393, 08:59 صبح
سلام
، شما می تونید با دستور eval یک رشته را اجرا کنید. لطفا دقیقا بگید چیکار می خواهید بکنید تا بتونیم بهتر جواب بدیم
bporreza
جمعه 08 اسفند 1393, 09:31 صبح
می خوام 1ماتریس Dتعریف کنم که درایه هاش شرط زیر رو داشته باشن
((If i>=j dij=(-1)^j-i/r^j*((n,i)*(n-i,n-j
در غیر اینصورت dij=0
(n,i)ترکیب iاز nهستش
rahnema1
جمعه 08 اسفند 1393, 09:56 صبح
من با اعداد دلخواه ایجاد کردم اما به نظرتون اگه مثلا n-j از n-i بیشتر شد اشتباه نیست؟
D = zeros( 8, 3);
[r c] = size(D);
n = r * c;
[i j] = meshgrid(1:r, 1:c);
index = i >= j;
i = i(index);
j = j(index);
n = n * ones( size(j));
D(index)= (-1) .^ j - i ./ r .^ j .* arrayfun(@nchoosek,n,i) .* arrayfun(@nchoosek,n-i,n-j);
bporreza
جمعه 08 اسفند 1393, 10:05 صبح
حق با شماست باید می نوشتم (n-i,j-i)
rahnema1
جمعه 08 اسفند 1393, 10:11 صبح
بازهم j-i ممکنه منفی بشه
bporreza
جمعه 08 اسفند 1393, 10:12 صبح
rیک عدد ثابت که تو ورودی میگیره و ماتریس n*nهستش
rahnema1
جمعه 08 اسفند 1393, 10:18 صبح
یه سری تغییرات دادم ولی فکر می کنم علامت بزرگترمساوی برعکس باید باشه
r = 5;
n = 5
D = zeros( n);
[i j] = meshgrid(1:n, 1:n);
index = i <= j;
i = i(index);
j = j(index);
n = repmat(n ,size(j));
D(index)= (-1) .^ j - i ./ r .^ j .* arrayfun(@nchoosek,n,i) .* arrayfun(@nchoosek,n-i,j - i);
bporreza
جمعه 08 اسفند 1393, 10:29 صبح
درسته اما این چیزی که تو فرمول دارم.عکسش رو هم پیوست کردم
rahnema1
جمعه 08 اسفند 1393, 10:36 صبح
باز هم بر اسا فرمول یه اصلاح کردم ولی اگه i از j بزرگتر باشه جواب j-i منفی میشه و اشتباه در میاد فکر کنم علامت باید برعکس باشه که اشتباهی گذاشته
r = 5;
n = 5
D = zeros( n);
[i j] = meshgrid(1:n, 1:n);
index = i <= j;
i = i(index);
j = j(index);
n = repmat(n ,size(j));
D(index)= (-1) .^ (j - i) ./ r .^ j .* arrayfun(@nchoosek,n,i) .* arrayfun(@nchoosek,n-i,j - i);
bporreza
جمعه 08 اسفند 1393, 10:39 صبح
دستتون درد نکنه.خیلی ممنون.لطف کردین
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.