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


رتبه موضوع:
  • 1 رای - 2 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
حذف سطر یا ستون ماتریس (در برنامه نویسی متلب)

حذف سطر یا ستون ماتریس (در برنامه نویسی متلب)

#1
باسلام و خسته نباشید
ببخشید میشه راهنمایی کنید که  چطور میشه تعدادی سطر یا ستون یک ماتریس را که مثلا ویژگی خاصی دارند مثلا سطرها یا ستونهای تمام صفر ماتریس را حذف کرد به طوریکه طبیعتا بعد ماتریس کوچکتر شود؟
با سپاس فراوان
پاسخ

حذف سطر یا ستون ماتریس (در برنامه نویسی متلب)

#2
با یک مثال، روش کلی رو شرح میدم.
یک ماتریس با نام A تعریف می کنیم و سپس هر سطر آن که تمامی عنصرهایش برابر صفر است را حذف می کنیم.

کدهای متلب :


کد:
clear all
close all
clc

A=[1 2 3;0 0 0;4 5 6;0 0 0]

s=size(A)
p=0;
for nn=1:s(1)
    if (A(nn-p,:)==zeros(1,s(2)))
        A(nn-p,:)=[];
        p=p+1;
    end
end
A

وقتی در متلب، یک یا چند عنصر را برابر علامت های [] قرار بدهیم، آن عنصرها حذف خواهند شد.

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

کد:
A =

     1     2     3
     0     0     0
     4     5     6
     0     0     0


s =

     4     3


A =

     1     2     3
     4     5     6

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

حذف سطر یا ستون ماتریس (در برنامه نویسی متلب)

#3
با سلام مجدد
ممنونم از توجه شما و جواب ارسالیتون اما متاسفانه من کد متلب شما رو عینا کپی می کنم توی متلب خودم و این خطا رو میده
A(nn-p,Smile=;
                  |
Error: Expression or statement is incomplete or incorrect.
پاسخ

حذف سطر یا ستون ماتریس (در برنامه نویسی متلب)

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

حذف سطر یا ستون ماتریس (در برنامه نویسی متلب)

#5
با تشکر و سپاس فراوان واقعا لطف کردید مشکلم برطرف شد. پایدار باشید ممنونم
پاسخ

حذف سطر یا ستون ماتریس (در برنامه نویسی متلب)

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

حذف سطر یا ستون ماتریس (در برنامه نویسی متلب)

#7
با تشکر از ادمین عزیز، راه ساده تری هم هست که با یک خط دستور میشه سطر یا ستون تمام صفر رو حذف کرد. مثال:

کد پی‌اچ‌پی:
data=[0 0 0 0 0 0 0 00 0 2 3 4 0 1 00 0 1 2 3 0 0 0];
dataall(~data,1), : ) = [];  
data
( :, all(~data,1) ) = []; 

خط اول: تعریف ماتریسی با سطر و ستون صفر
خط دوم: حذف تمامی سطرهای صفر
خط سوم: حذف تمامی ستون های صفر

منبع:
http://www.mathworks.com/matlabcentral/a...nd-columns
 
پاسخ
 سپاس شده توسط admin ، شماره مجازی امارات


پرش به انجمن:


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