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


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
ورودی دادن به ماتریس n*m (متلب - MATLAB)

ورودی دادن به ماتریس n*m (متلب - MATLAB)

#1
سلام خدمت دوستان بزرگوار
چجوری یک ماتریس n*m تعریف کنیم به گونه ای که یکی یکی درایه ها را بخواد که وارد کنیم؟
چرخه ش رو چجوری به وجود بیاریم 
مثلا i , j  ک   (i=1:n   , j=1:m)   رو تعریف کنیم  بعد ارایه (A(i,j رو یکی یکی درخواست کنه؟ تا به n , m برسیم و ماتریس کامل پر بشه
ینی نشون بده (A(25,67 و درایه سطر 25 و ستون 67 رو بهش بدیم بعد بره بعدی و بعدی..
پاسخ

ورودی دادن به ماتریس n*m (متلب - MATLAB)

#2
کد پی‌اچ‌پی:
input ' tedad satr ha ra vared konid:  ' )
input ' tedad sotun ha ra vared konid:  ' )
A=zeros(n,m

مثلا با این دستور میشه یه ماتریس n سطر m ستون ساخت ولی صفر همش
چجوری یکی یکی درایه هارو بهش بدیم؟؟؟
پاسخ

ورودی دادن به ماتریس n*m (متلب - MATLAB)

#3
سلام.
فرض می کنیم که تعداد سطر و ستون ماتریس، مشخص می باشد (مثلا شما آنها را با دستور input دریافت کردید) و بنابراین ابتدا همان طور که خودتان ذکر کردید از دستور zeros برای ساخت اولیه ماتریس استفاده می کنیم که در این مرحله، تمام عنصرهای ماتریس دارای مقدار 0 می باشند.
سپس بر اساس تعداد ردیف (Row) و ستون (Column) ماتریس، دو حلقه for تو در تو می نویسیم که مقادیر عنصرهای ماتریس را از کاربر دریافت کنند :

کد پی‌اچ‌پی:
clear all
close all
clc

Kelidestan_Matrix 
zeros(2,3)
K_M_Size size(Kelidestan_Matrix)

for 
nn=1:K_M_Size(1)
 
   for mm=1:K_M_Size(2)
 
       Kelidestan_Matrix(nn,mm) = input(strcat('(',num2str(nn),',',num2str(mm),') :'))
 
   end
end 


در کد  متلب (MATLAB) بالا، از دستور size برای به دست آوردن تعداد ردیف (Row) و ستون (Column) ماتریس استفاده شده است (برای مواقعی که تعداد آنها را نمی دانیم).
همچنین درون دستور input ، از دستور strcat استفاده شده که برای اتصال چند رشته (String) به یکدیگر می باشد. دستور num2str برای تبدیل یک عدد به یک رشته (String) به کار می رود. در واقع با ساخت یک رشته (String) در پرانتز دستور input ، سعی کرده ایم که شماره ردیف (Row) و ستون (Column) عنصری که کاربر در حال وارد کردن مقدار آن است را به وی نمایش بدهیم (در صورت تمایل می توانید یک متن (رشته) ساده را در پرانتز دستور input بنویسید).
یک مثال از نتیجه اجرای کد  متلب (MATLAB) بالا :

کد پی‌اچ‌پی:
Kelidestan_Matrix =

 
    0     0     0
     0     0     0


K_M_Size 
=

 
    2     3

(1,1) :1

Kelidestan_Matrix 
=

 
    1     0     0
     0     0     0

(1,2) :2

Kelidestan_Matrix 
=

 
    1     2     0
     0     0     0

(1,3) :3

Kelidestan_Matrix 
=

 
    1     2     3
     0     0     0

(2,1) :4

Kelidestan_Matrix 
=

 
    1     2     3
     4     0     0

(2,2) :5

Kelidestan_Matrix 
=

 
    1     2     3
     4     5     0

(2,3) :6

Kelidestan_Matrix 
=

 
    1     2     3
     4     5     6 


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

ورودی دادن به ماتریس n*m (متلب - MATLAB)

#4
با عرض سلام و خسته نباشید
در مورد کدی که نوشتید سطر دوم حلقه forچرا مقدار msizeرا برایر 2 قرارددادید
پاسخ
 سپاس شده توسط شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


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