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


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

محاشبه نرمال یک ماتریس، در متلب

#1
سلام

   

من یه ماتریسی دارم (10*10)که میخوام همه درایه هاش رو تک تک  با این فرمول نرمال بکنم همون طور که میبینید فرمول بیان میکنه که هر درایه باید تقسیم بر(توان دوم هر درایه اون ستون  بعدش همه رو جمع میکنه بعدش یه جذر میگیره)
کسی میتونه کمکم کنه؟؟ 
پاسخ

محاشبه نرمال یک ماتریس، در متلب

#2
سلام.
من کد متلب زیر را نوشتم اما حتما آن را تست کنید. یعنی یک ماتریس کوچک (با تعداد ردیف و ستون متفاوت) را روی کاغذ خودتون محاسبه کنید و بعد آن را به برنامه داده و ببینید که نتایج آن صحیح است یا خیر.
کد متلب :

کد:
clear all
close all
clc

A=[1 2 3; 4 5 6; 7 8 9;10 11 12]
A_size = size(A)
A_new=A*0;
for ii=1:A_size(1)
    for jj=1:A_size(2)
        sum=0;
        for kk=1:A_size(1)
            sum=sum+A(kk,jj)^2;
        end
        A_new(ii,jj)=A(ii,jj)/sqrt(sum);
    end
end
A_new

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

کد:
A =

     1     2     3
     4     5     6
     7     8     9
    10    11    12


A_size =

     4     3


A_new =

    0.0776    0.1367    0.1826
    0.3105    0.3418    0.3651
    0.5433    0.5469    0.5477
    0.7762    0.7519    0.7303

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

محاشبه نرمال یک ماتریس، در متلب

#3
اقای مدیر من تست کردم کاملا درست کار کرد ولی متوجه شدم که باید بعد از این که نرمال شد ماتریس با یک ماترسی دیگه ضرب بشه
یعنی مثلا متلب A_new رو محاسبه کرد بعدش هر ستون A_new را ضرب در یک عدد بکنه
بعنوان مثال همین ماتریس شما که مثال زدین اگه هر ستون ماتریس A_new ضرب این عدد بشه(برای ستون اول باید ضرب در 0.2 بشه)

کد پی‌اچ‌پی:
[0.2,0.1,0.3

جواب باید به این صورت بشه مثلا برای ستون اول

کد پی‌اچ‌پی:
>> [0.0776
0.3105
0.5433
0.7762
]*[0.2]

ans =

    
0.0155    0.0621    0.1087    0.1552 

چون ماتریسی که میخوام حل کنم درایه هاش خیلی زیاده 20*20 نمیتونم هر ستون رو تو متلب بصورت جدا بنویسم و ضرب اون عدد مورد نظر کنم
ایا راهی هست که یک دفه این محاسبات رو انجام بده متلب؟؟؟
لطفا کمک کنید
پاسخ

محاشبه نرمال یک ماتریس، در متلب

#4
کسی نیست کمک کنه؟؟
پاسخ

محاشبه نرمال یک ماتریس، در متلب

#5
شما ضرایب را در یک بردار دارید، بنابراین دو حلقه for تو در تو بسازید (بر اساس تعداد عناصر بردار ضرایب و همچنین تعداد ردیف های ماتریس اصلی) و سپس ضرایب را تک تک از بردار مورد نظر فراخوانی کرده و در عناصر ستون مورد نظر ضرب کنید.
اینکه کد نمی نویسم، به این دلیله که این مورد را حتما باید خودتان یاد بگیرید تا در آینده در برنامه نویسی متلب مشکلی نداشته باشید.

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

محاشبه نرمال یک ماتریس، در متلب

#6
این انگیزه ای که میدید مجبور میکنید که کاربر دقیقا یاد بگیره
مرسی ازتون


 
پاسخ
 سپاس شده توسط admin ، شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


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