۱۳۹۳/۰۸/۲۱, ۰۹:۰۴ ب.ظ
۱۳۹۳/۰۸/۲۱, ۰۹:۰۸ ب.ظ
سلام.
منظورتون اینه که همون عملکرد دستور repmat را با کدهای معمولی بنویسیم ؟
یعنی مثلا دو بار در جهت ردیف ها (عمودی) و سه بار در جهت ستون ها (افقی) تکرار بشه و یک ماتریس جدید بسازیم ؟
منظورتون اینه که همون عملکرد دستور repmat را با کدهای معمولی بنویسیم ؟
یعنی مثلا دو بار در جهت ردیف ها (عمودی) و سه بار در جهت ستون ها (افقی) تکرار بشه و یک ماتریس جدید بسازیم ؟
۱۳۹۳/۰۸/۲۲, ۰۸:۴۲ ق.ظ
(۱۳۹۳/۰۸/۲۱, ۰۹:۰۸ ب.ظ)'admin' نوشته: [ -> ]سلام.
منظورتون اینه که همون عملکرد دستور repmat را با کدهای معمولی بنویسیم ؟
یعنی مثلا دو بار در جهت ردیف ها (عمودی) و سه بار در جهت ستون ها (افقی) تکرار بشه و یک ماتریس جدید بسازیم ؟
بله دقیقا مثلا با دستورهای حلقه
۱۳۹۳/۰۸/۲۲, ۱۲:۳۷ ب.ظ
کدهای متلب زیر را می نویسیم :
نتیجه اجرای کد متلب بالا :
مشاهده می کنید که دقیقا مشابه دستور repmat عمل کرده است.
کد پیاچپی:
clear all
close all
clc
A=[1 2; 3 4]
vertical_number = 2;
horizontal_number = 3;
% B=repmat(A,2,3) --> like this
B=A;
for nn=1:vertical_number-1
B=[B;A];
end
B_just_vertical = B;
for nn=1:horizontal_number-1
B=[B,B_just_vertical];
end
B
نتیجه اجرای کد متلب بالا :
کد پیاچپی:
A =
1 2
3 4
B =
1 2 1 2 1 2
3 4 3 4 3 4
1 2 1 2 1 2
3 4 3 4 3 4
مشاهده می کنید که دقیقا مشابه دستور repmat عمل کرده است.
۱۳۹۳/۰۸/۲۲, ۱۱:۲۴ ب.ظ
خیلی متشکرم
۱۳۹۴/۰۲/۱۱, ۰۹:۰۸ ق.ظ
این کد هم میتونه مورد استفاده باشه
که فقط در تکرار سطرها خوبه این کد در گرانی سنجی مورد استفاده هست.
کد پیاچپی:
A=[1 2;3 4]
n=1;
F=zeros(20,2)
for i=1:1:10;
for j=1:1:2;
F(n,:)=A(j,:)
n=n+1;
end
end
که فقط در تکرار سطرها خوبه این کد در گرانی سنجی مورد استفاده هست.