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


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

صفرکردن شرطی درایه های یک ماتریس به صورت سریع

#4
(۱۳۹۲/۰۸/۰۵, ۰۱:۵۴ ب.ظ)'4i469x' نوشته: برای صفرکردن سریع از کد زیر استفاده میکنیم:

کد:
a=[1,2,3;4,5,6;7,8,9];
a(a<4)=0;

روش پیشنهادی شما رو با روش معمولی مقایسه می کنیم (از نظر زمان) :

کد:
clear all
close all
clc

N=12;
A=magic(N);
B=A;
tic
for nn=1:N
    for mm=1:N
        if (abs(A(nn,mm))>10)
            A(nn,mm)=0;
        end
    end
end
toc

tic
B(abs(B)>10)=0;
toc

نتیجه اجرای کد متلب بالا :

کد:
Elapsed time is 0.000029 seconds.
Elapsed time is 0.000021 seconds.

با مقایسه، متوجه می شویم که روش شما سریعتر عمل میکنه. ممنون. 
 
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ


پیام‌های این موضوع
RE: صفرکردن شرطی درایه های یک ماتریس به صورت سریع - توسط admin - ۱۳۹۲/۰۸/۰۵, ۰۲:۳۹ ب.ظ

پرش به انجمن:


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