(۱۳۹۳/۰۷/۰۱, ۰۴:۴۸ ب.ظ)'مریم69' نوشته: با سلام. بنده یک برنامه نوشتم حالا رسیدم به یک ماتریس سطری با 800 ستون که تمام دارایه های آن اعداد 1 یا 2 یا 3 هستند. میخوام تعداد تمام انتقال هایی را بدست بیارم مثلا از حالت 1 بلافاصله به حالت 2 رفته یا از حالت 1 به 1 رفته یا.... برای روشن کردن بهتر سوالم فرض کنید بردار زیر را داریم:
[1 1 2 3 2 1 3 2 1 2 3 3] =K میبینیم تعداد انتقال هایی که بلافاصله از حالت 2 به حالت 1 رفته در این مثال 2 تا هست. برای شمارش انتقال ها در چنین حالتی چکار باید کنم؟
ممنون میشم کمکم کنید.
سلام.
من کد زیر را نوشتم :
کد:
clear all
close all
clc
K=[1 1 2 3 2 1 3 2 1 2 3 3]
K_length=length(K);
first_number=2;
second_number=1;
number_of_pattern=0;
for nn=1:K_length-1
if (K(nn)==first_number && K(nn+1)==second_number)
number_of_pattern=number_of_pattern+1;
end
end
number_of_pattern
که در آن، first_number برابر عدد اول و second_number برابر عدد دوم می باشد (همان دو عددی که پشت سرهم قرار می گیرند و تعداد دفعات مربوط به آنها را می خواهیم به دست آوریم). تعداد دفعات قرارگیری این الگو نیز در متغیر number_of_pattern ذخیره خواهد شد.
نتیجه اجرای کد متلب، به صورت زیر می باشد :
کد:
K =
1 1 2 3 2 1 3 2 1 2 3 3
number_of_pattern =
2
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.