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


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

شمارش تعداد فراوانی های یک انتقال در ماتریس، در متلب

#1
با سلام. بنده یک برنامه نوشتم حالا رسیدم به یک ماتریس سطری با 800 ستون که تمام دارایه های آن اعداد 1 یا 2 یا 3 هستند. میخوام تعداد تمام انتقال هایی را بدست بیارم  مثلا از حالت 1 بلافاصله به حالت 2 رفته یا از حالت 1 به 1 رفته یا.... برای روشن کردن بهتر سوالم فرض کنید بردار زیر را داریم:  
[1 1 2 3 2 1 3 2 1 2 3 3] =K میبینیم تعداد انتقال هایی که بلافاصله از حالت 2 به حالت 1 رفته در این مثال 2 تا هست. برای شمارش انتقال ها در چنین حالتی چکار باید کنم؟
ممنون میشم کمکم کنید.
پاسخ

شمارش تعداد فراوانی های یک انتقال در ماتریس، در متلب

#2
یک جواب برای سوالم یافتم. خیلی جالبه کاملا جواب درست رو بهم میده ولی متاسفانه متوجه نمیشم این کد ها چطور عملیات را انجام میدن؟ مثلا ماتریس Xرا مثال زده , و کد زیر را برای آن نوشته. و در متلب جواب درست را هم میده.لطف کنید توضیح دهید که چطور این عملیات انجام میشه؟

کد:
x=[1 6 1 6 4 4 4 3 1 2 2 3 4 5 4 5 2 6 2 6 2 6];
sparse(x(1:end-1),x(2:end),1)
پاسخ

شمارش تعداد فراوانی های یک انتقال در ماتریس، در متلب

#3
(۱۳۹۳/۰۷/۰۱, ۰۴:۴۸ ب.ظ)'مریم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

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


پرش به انجمن:


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