دورات هندسية

 

 

converting from decimal to binary in MATLAB

النتائج 1 إلى 7 من 7
  1. [1]
    أبوبتال
    أبوبتال غير متواجد حالياً

    عضو

    تاريخ التسجيل: Mar 2008
    المشاركات: 23
    Thumbs Up
    Received: 0
    Given: 0

    converting from decimal to binary in MATLAB

    السلام عليكم ورحمة الله وبركاته...

    طبعا عملية تحويل الأرقام من نظام عشري الى نظام ثنائي بأستخدام المات لاب سهل وله أمر بسيط وهو

    dec2bin

    مثال: لو كان لدينا الرقم 130 نريد تحويله الى نظام ثنائي نقوم بكتابة الأمر :

    F=130;

    FF=dec2bin(F) % up to here is ok

    ثم تظهر النتيجه التاليه :

    FF =
    10000010

    والعكس تماما لكن بأستخدام أمر bin2dec

    في الحقيقه الشي الصعب الذي واجهني هنا لو كان لدي مصفوفه مثلا 4 4x وأريد تحويل عناصر

    هذه المصفوفه الماتلاب يقوم بتغير شكل المصفوفه مثلا يقوم بوضعها 12x4 وأنا لا أريد هذه المشكله

    خصوصا لو كنت تقوم بعمليات على صوره أو غيرها فيجب أن تعيد مقاس المصفوفه الى نفس ماكانت

    عليه...

    فهل ممكن أحد من الأخوان يقوم بشرح كيفيه تجنب هذه المشكله ولكم جزيل الشكر...

    مثال توضيحي:

    f=[1 2 3;4 5 6;7 8 9] this matrix 3x3

    f =
    1 2 3
    4 5 6
    7 8 9

    F=dec2bin(f,4) this is the conersion

    F =
    0001
    0100
    0111
    0010
    0101
    1000
    0011
    0110
    1001

    to get it back lets say FF=bin2dec(F) this is the code

    FF =
    1
    4
    7
    2
    5
    8
    3
    6
    9
    اذا نلاحظ هنا تغير في حجم المصفوفه الى 9x1 هذي هي المشكله...

    تحتي لكم...

    أبوبتال...

  2. [2]
    ahmedmecha
    ahmedmecha غير متواجد حالياً
    عضو متميز
    الصورة الرمزية ahmedmecha


    تاريخ التسجيل: Oct 2006
    المشاركات: 365
    Thumbs Up
    Received: 5
    Given: 0
    وعليكم السلام ورحمة الله ..

    أولا - لايجوز أستخدام هذا الايعاز (dec2bin) لتحويل الارقام من decimal الى binary لأن الـ output سوف يكون string وليس رقم وعندها سوف لاتستطيع التعامل معه كرقم في الحسابات اللاحقة .

    ثانيا - حسب علملي لايوجد ماتطلبه بالتحديد لان الرقم بعد التحويل سوف يتحول الى أكثر من مرتبه وكل واحدة تتطلب موقع بالذاكرة لذلك من المستحيل أن يتحول الرقم العشري الى ثنائي وتبقى المصفوفة بنفس الحجم ... الايعاز الموجود في الماتلاب هو التالي :-

    تحويل الرقم الى vector والـ vector الى مصفوفة من المراتب الثنائيه ..


    d = [12;5;6];
    b = de2bi(d) % to convert the numbers

    عندها بعد التحويل (في المثال السابق) سوف يكون لدينا مصفوفه متكونه من 3 صفوف وأربع اعمدة , كل صف يمثل قيمة الرقم المقابل بالثنائي .
    إذا كنت تتعامل مع صورة أو أي بيانات أخرى والتي تكون على شكل مصفوفه فيجب عليك أولا تحويل هذه المصفوفه الى vector ومن ثم تحويل أرقام هذا الـ vector الى مصفوفة مكونه من n من العناصر وأربع أعمدة . يمكنك أسترجاع الارقام الى العشري بأستخدام (bin2dec) وبعدها تحصل على vector من الارقام العشرية التي يمكن خزنها مجددا في مصفوفة .

    تحياتي

    0 Not allowed!



  3. [3]
    أبوبتال
    أبوبتال غير متواجد حالياً
    عضو


    تاريخ التسجيل: Mar 2008
    المشاركات: 23
    Thumbs Up
    Received: 0
    Given: 0
    إذا كنت تتعامل مع صورة أو أي بيانات أخرى والتي تكون على شكل مصفوفه فيجب عليك أولا تحويل هذه المصفوفه الى vector ومن ثم تحويل أرقام هذا الـ vector الى مصفوفة مكونه من n من العناصر وأربع أعمدة .
    مشكور أخوي على التجاوب..بس أخوي ياليت توضح أكثر..كيف يمكن تحويل مصفوفه الى VECTOR ؟؟

    لأني أريد تحويل صوره من أرقام عشريه الى ثنائيه وبعد التحويل أقوم بأسترجاع الصوره السابقه...لكن عجزت عن ذلك

    وان كانت عن طريق تحويلها الى VECTOR فياليت أخي توضح زياده..لأني لم أستطيع التوصل الى ماتربوا اليه...

    شكرا مرة أخرى على تعاونك..

    0 Not allowed!



  4. [4]
    ahmedmecha
    ahmedmecha غير متواجد حالياً
    عضو متميز
    الصورة الرمزية ahmedmecha


    تاريخ التسجيل: Oct 2006
    المشاركات: 365
    Thumbs Up
    Received: 5
    Given: 0

    ببساطة لنفرض ان حجم المصفوفه هو N*M سوف نحصل على vector مكون من عناصر عددها N*M


    clear all
    clc
    index = 0 ;
    for i = 1: N
    for j = 1:M
    index = index + 1 ;
    vector(index) = MX(N,M) ;
    end
    end

    سوف تتحول المصفوفة الى vector ثم يمكنك تحويله الى أعدد binary وينتج لدينا vector بنفس الطول ولكن بأربع أعمدة (اذا كانت الاعداد محصورة بين الصفر والـ 15) أو تعتمد على حجم الاعداد .



    0 Not allowed!



  5. [5]
    أبوبتال
    أبوبتال غير متواجد حالياً
    عضو


    تاريخ التسجيل: Mar 2008
    المشاركات: 23
    Thumbs Up
    Received: 0
    Given: 0
    شكرا أخي على المساعده...يعطيك الف عافيه...

    أصلا الفكره هي عمل quantization للصوره بـ8 بت ومن ثم نقوم بعمل تقليل البت من 8 الى 5 أي نقوم بألغاء أخر 3 بت..

    ومن ثم أسترجاع الصوره الى ماكانت عليه ومن ثم توضيح الأثر الناتج من هذا العمل على الصوره..

    0 Not allowed!



  6. [6]
    هانى كسبان
    هانى كسبان غير متواجد حالياً
    عضو


    تاريخ التسجيل: Oct 2007
    المشاركات: 27
    Thumbs Up
    Received: 0
    Given: 0
    شكرا وجزاكم الله خيرا

    0 Not allowed!



  7. [7]
    Salam90
    Salam90 غير متواجد حالياً
    عضو


    تاريخ التسجيل: Jun 2009
    المشاركات: 12
    Thumbs Up
    Received: 0
    Given: 0
    جزاك الله خيرا

    0 Not allowed!



  
الكلمات الدلالية لهذا الموضوع

عرض سحابة الكلمة الدلالية

RSS RSS 2.0 XML MAP HTML