اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

ایجاد ماتریس جدید در هر حلقه ی for

0 امتیاز
5,033 نمایش

با سلام
میخواهم ماتریس در هر حلقه for سایزش مجددا ایجاد شود. یعنی اگر در حلقه ی اول ،‌ ماتریس B سایزش 290* 21 است، در دور بعدی for مجددا سایز جدید و داده های جدید بوجود بیاید. راه حل چیست؟

 clc;
save(‘clusflag’);
load(‘clusflag’); sum=0;
q=zeros(18,1); sim=zeros(18,1);
for cluster=1:18
j=1;
sum=0;
m=0; for row=1:1682 % movie number
if clusflag(row,21)==cluster % {
b(j,:)=clusflag(row,:);
j=j+1;
end
end
[r, c]=size(b);
for item=1:r-1
for itemt=item+1:r
for d=2:20 % shabahat 2 item m=b(item,d)*b(itemt,d);
sum=m+sum;
end
end
end for i=1:r
for d=2:20
if b(i,d)==1
q(cluster)=18((r(r-1))/2);
end
end
end
% }
sim(cluster)= sum/q(cluster);
% b=zeros(:,:);
end

الان تو این خطوط کد در هر بار اجرا برای هر حلقه عملیات روی مقادیر قبلی انجام میشوند و با هم جمع میشوند
میخوام در هر حلقه ی مربوط به cluster مقادیر ماتریس b صفر شوندو در ضمن در هر حلقه ی cluster سایز ماتریس باید بصورت داینامیک عوض شود.
ممنون میشم راهنمایی کنید.
پرسیده شده یکشنبه ۳۰ آذر ۱۳۹۳ در Matlab توسط ناشناس  

از دستور resize استفاده کن