ارسال پاسخ 
 
امتیاز موضوع:
  • 15 رأی - میانگین امتیازات : 3.13
  • 1
  • 2
  • 3
  • 4
  • 5

کمک برای بهبود سرعت

۱۳۹۱/۱۱/۱۷, ۰۷:۵۸ عصر (آخرین ویرایش در این ارسال: ۱۳۹۱/۱۱/۲۲ ۱۱:۲۶ عصر، توسط admin.)
ارسال: #1

کمک برای بهبود سرعت


سلام
برنامه ای نوشتم که در اون از حلقه for زیاد استفاده می شه
مثلا

کد:
[این بخش برای برخی از گروه های انجمن در دسترس می باشد.]
[ثبت نام کنید]

وقتی این قطعه کد رو می خوام برای ابعاد بالای 1000 اجرا کنم خیلی خیلی طول می کشه
یه جا خوندم که با بردارسازی میشه سرعت رو چند برابر کرد و تا جایی که ممکنه از حلقه for استفاده نکنید
اما نمیدونم چطور
d شامل 2000 رکورد وword شامل 1000 تا رکورد. من باید 1000 تا کلمه رو در 2000 متن پیدا کنم و تازه بقیه هم داره که من ننوشتم

چه کار کنم که سریعتر جواب بده
راهنمایی لطفا
یافتن تمامی ارسال های این کاربر
نقل قول این ارسال در یک پاسخ
۱۳۹۱/۱۱/۱۸, ۱۰:۲۲ صبح
ارسال: #2

پاسخ: کمک برای بهبود سرعت


به نظر من فقط میشه یکی از حلقه ها رو حذف کرد،برای سرعت بیشتر بهتره حلقه ای رو حذف کنید که به عدد بزرگتری میرسه،البته در دستور شما تنها میشه j رو حذف کرد دلیلش هم آرگومان دوم word هست که نوشتید 1:i اگه میتونید این قسمت رو حذف کنید میشه بجایj,i رو حذف کرد شاید بد نباشه یه نگاه به فایل پیوست بندازید.
یافتن تمامی ارسال های این کاربر
نقل قول این ارسال در یک پاسخ
 سپاس شده توسط admin
۱۳۹۱/۱۱/۱۹, ۰۲:۲۰ صبح
ارسال: #3

پاسخ: کمک برای بهبود سرعت


من یه تیکه برنامه میذارم
هرجا که به نظرتون اضافست رو برام معلوم کنید
مرسی
eternity.persiangig.com/matlab/New%20Text%20Document.txt
یافتن تمامی ارسال های این کاربر
نقل قول این ارسال در یک پاسخ
۱۳۹۱/۱۱/۲۰, ۱۰:۲۳ صبح
ارسال: #4

پاسخ: کمک برای بهبود سرعت


بابا اینکه خیلی طولانیه...
یافتن تمامی ارسال های این کاربر
نقل قول این ارسال در یک پاسخ
۱۳۹۱/۱۱/۲۱, ۰۱:۲۳ صبح
ارسال: #5

پاسخ: کمک برای بهبود سرعت


بفرما درستش کردم،بازم بگین کرمونی جماعت ... Dodgy
یه توضیح داده باشم که:
1.توی فایل هر خطی که سر و تهش رو % گذاشتم یعنی به نظرم حذف بشه.
2. هر جا که اول خط << گذاشتم یعنی این دستور نبوده و خودم به عنوان جایگزین یک خط حذف شده پیشنهاد کردم.
3.اینها تنها پیشنهاد من هست،هر خط رو که اضافه کردم روی یه سری دیتا امتهانش کردم ولی همه ی خط ها رو بطور یکحا امتحان نکردم و ادعا نمیکنم که در حین اجرا با ارور روبرو نشید.
یافتن تمامی ارسال های این کاربر
نقل قول این ارسال در یک پاسخ
 سپاس شده توسط آوا123 ، admin
۱۳۹۱/۱۱/۲۳, ۱۲:۵۸ عصر (آخرین ویرایش در این ارسال: ۱۳۹۱/۱۱/۲۳ ۱۲:۵۹ عصر، توسط آوا123.)
ارسال: #6

پاسخ: کمک برای بهبود سرعت


فقط یه سوال دیگه آخرین سوال
در انتهای برنامه قبل ماتریسی به دست اومد به نام sim که ماتریس شباهت منه. به این معنی که میزان شباهت یک متن رو به یک متن دیگه نشون میده حالا می خوام یه جورایی خودم گروه بندیش کنم مثلا بگم هر دو متنی که فاصله ش کمتر از 0.2 رو در یک گروه قرار بده
این گروه رو باید با ارایه سلولی معلوم کنم که مثلا تو هر سلول نشانگر شماره اسنادیه که به هم شبیه هستند اینو چه جوری بنویسم
no=1
for i=1:o
for j=i+1:o
if sim(i,j=) >0.8
c(no)=j
no=no+1
end
end

این غلطه؟؟؟؟

(۱۳۹۱/۱۱/۲۳ ۱۲:۵۸ عصر)آوا123 نوشته شده توسط:  فقط یه سوال دیگه آخرین سوال
در انتهای برنامه قبل ماتریسی به دست اومد به نام sim که ماتریس شباهت منه. به این معنی که میزان شباهت یک متن رو به یک متن دیگه نشون میده حالا می خوام یه جورایی خودم گروه بندیش کنم مثلا بگم هر دو متنی که فاصله ش کمتر از 0.2 رو در یک گروه قرار بده
این گروه رو باید با ارایه سلولی معلوم کنم که مثلا تو هر سلول نشانگر شماره اسنادیه که به هم شبیه هستند اینو چه جوری بنویسم
no=1
for i=1:o
for j=i+1:o
if sim(i,j=) >0.8
c(no)=j
no=no+1
end
end

این غلطه؟؟؟؟
no هم باید در آخر تعداد کلاسترهای من رو معلوم کنه
یافتن تمامی ارسال های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال پاسخ 




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

بازگشت به بالابازگشت به محتوا