کلیدستان

نسخه‌ی کامل: نرمال کردن داده ها در متلب
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
با سلام
دوستان من تازه عضو کلیدستان شده ام
یک سوال در مورد نرمال کردن داده ها در متلب دارم
من میخواهم یکسری داده را به کمک نرم افزار متلب بین محدوده 0 تا 1 نرمال کنم
فرمولی که در اختیار دارم این فرمول است

کد:
[1 2 3 4 5]=x
[y1,PS] = mapminmax(x)
y2 = mapminmax('apply',x,PS)
x_again = mapminmax('reverse',y1,PS)

اما این فرمول داده ها را بین 1- تا 1+ نرمال میکند

فرمولی را میخواهم که داده ها را بین 0 تا 1 نرمال کند
آیا میتوانید به من کمک کنید و این فرمول را در اختیار من قرار دهید؟
سلام.
به انجمن سایت کلیدستان خوش آمدید. 

من برنامه زیر رو نوشتم، ببینید همون چیزی هست که می خواستید یا نه (حتما نتیجه را چک کنید) :

کد:
clear all
close all
clc

x=[-5 -4 -2; 2 4 5]
normalize_min_max=[0 1];

x_size=size(x);
x_normalized=zeros(x_size(1),x_size(2));

x_max=max(max(x));
x_min=min(min(x));
nesbat=abs(normalize_min_max(2)-normalize_min_max(1))/(abs(x_max-x_min));
for nn=1:x_size(1)
    for mm=1:x_size(2)
        x_normalized(nn,mm)=normalize_min_max(1)+(x(nn,mm)-x_min)*nesbat;
    end
end

x_normalized

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

کد:
x =

    -5    -4    -2
     2     4     5


x_normalized =

         0    0.1000    0.3000
    0.7000    0.9000    1.0000

با سلام
تشکر میکنم از لطفتان
از این کد استفاده کردم جواب داد اما داده های منو همگی صفر در نظر گرفت!
احتمالا این صحیح نمی باشد! چون همین داده ها را بین 1- تا 1+ نرمال کرده بودم اعداد مثبت تا منفی را داشتم
امکان ارسال داده هایم وجود ندارد چون یک فایل اکسل هست اگر میتوانستم داده هایم را ارسال کنم بهتر میتوانستم به نتیجه برسم

با تشکر

 
شما تعداد 20 تا از داده ها را در یک ماتریس قرار بدهید و سپس کد فوق را آزمایش کنید.

چگونگی وارد کردن اطلاعات فایل Excel به درون متلب را قبلا شرح داده ایم :

http://www.kelidestan.com/keys/keys.php?key=141

سلام من هم نیاز به فرمول نرمالایز دارم. اینکه داده هایتان صفر میشن از اشتباه بودن برنامه نیست باید حواستون باشه کدوم فرمول رو نرمالایز میکنید.اینو استادم گفت ولی حقیقتش منظورشو متوجه نشدم!
کلا چرا باید نرمالایز کنیم؟که چی بشه؟

بازه نرم رو از کجا باید متوجه بشم؟
من یه فرمول دارم که بر اندازش تقسیم شده فک کنم منظورش نرم باشه. درسته؟
یه فرمول برا نرمالیزه دارم چه جوری باید وارد سایتش کنم؟
(۱۳۹۳/۰۳/۳۰, ۱۲:۴۳ ب.ظ)'shahri8890@yahoo.com' نوشته: [ -> ]سلام من هم نیاز به فرمول نرمالایز دارم. اینکه داده هایتان صفر میشن از اشتباه بودن برنامه نیست باید حواستون باشه کدوم فرمول رو نرمالایز میکنید.اینو استادم گفت ولی حقیقتش منظورشو متوجه نشدم!
کلا چرا باید نرمالایز کنیم؟که چی بشه؟

بازه نرم رو از کجا باید متوجه بشم؟
من یه فرمول دارم که بر اندازش تقسیم شده فک کنم منظورش نرم باشه. درسته؟
یه فرمول برا نرمالیزه دارم چه جوری باید وارد سایتش کنم؟

 

فرمول را به صورت عکس، پیوست ارسال کنید (یک گزینه برای پیوست کردن عکس وجود دارد).
شما هم کدهای من رو تست کردید ؟ به نظرتون مشکلی داره ؟
سلام حقیقتش چون کد خودم جواب داد کد شمارو چک نکردم.
این کدی بود که ازش استفاده کردم :


در این رابطه G یک ماتریس 61*61 بعدی است و result ماتریس نرمالیزه شدۀ اون هستش.
دوست عزیز بازم میگم فکر میکنم اشکال من و شما در مفهوم به کار بردن نرمالیزه است.
سلام
من یه سوال درباره نرمال کردن ماتریس دارم
من یه ماتریس دارم و می خوام به شکلی نرمال بشه که
جمع هر ستون ماتریس "1" شود، البته به شکلی که مقادیر بین همه تقسیم بشه و بزرگی و کوچکی نسبت
به هم باقی بمونه ولی، مجموع هر ستون 1 شود
لطف کنید کمــــــــــــــــــــــــــک کنید
نمیدونم چطور درستش کنم، توش گیر کردم

 
دستوري تو متلب وجود نداره كه نرمال يه ماتريس رو بده؟
يا اپليكيشن؟