logo03-1-1logo03-1-1logo03-1-1logo03-1-1
  • خانه
  • دسته بندی محصولات
    • کد های آماده متلب بهمراه فایل های آمورشی
    • الگوریتم های فرا ابتکاری و کاربرد های آن
    • شبکه عصبی
    • تصمیم گیری چند معیاره
    • مقالات شبیه سازی شده با متلب
    • جدیدترین مقالات ISI همراه با ترجمه
    • پروژه های درسی
      • پروژه های آماده رشته علوم انسانی
      • پروژه های آماده رشته علوم مهندسی
      • پروژه های آماده رشته علوم پایه
    • متفرقه
  • پروژه های رایگان
  • آموزش متلب
    • آموزش مقدماتی متلب
    • آموزش تخصصی نرم افزار متلب
    • الگوریتم فراابتکاری در متلب
    • ساخت رابط گرافیکی GUI در متلب
    • کاربرد متلب در مهندسی
      • پردازش تصویر در متلب
      • پردازش سیگنال در متلب
      • سیمولینک متلب
    • آموزش متلب در تلگرام
  • نظرات مشتریان
  • درخواست کدنویسی
  • همکاری با ما
  • قوانین سایت
  • تماس با ما
  • صفحه نخست
  • درباره ما
  • نظر مشتریان
  • سوالات متداول
0
bmi calculator 004 رابط گرافیکی کاربر (قسمت چهارم) و تبادل متلب با اکسل
ساخت رابط گرافیکی کاربر در نرم افزار متلب (GUI) (قسمت سوم)
اردیبهشت ۲۵, ۱۳۹۷
inde334x رابط گرافیکی کاربر (قسمت چهارم) و تبادل متلب با اکسل
دنباله ها و سری ها در متلب
اردیبهشت ۳۱, ۱۳۹۷
Published by pooya pooya at اردیبهشت ۲۸, ۱۳۹۷
Categories
  • آموزش مقدماتی متلب
  • ساخت رابط گرافیکی GUI در متلب
Tags
    excel to matlab 003 رابط گرافیکی کاربر (قسمت چهارم) و تبادل متلب با اکسل

    رابط گرافیکی کاربر (قسمت چهارم) و تبادل متلب با اکسل

    در مقاله قبلی مثال ساخت یک GUI را بررسی کردیم که قد و وزن کاربر را دریافت میکرد و شاخص BMI فرد را اعلام میکرد. علاوه بر قد و وزن، ما از کابر نام و سن وی را هم پرسش کردیم که ارتباطی به محاسبات BMI نداشت و صرفا بخاطر آموزش مطلب این جلسه بود. در این جلسه که جلسه پایانی ساخت رابط گرافیکی کاربر است ما در ابتدا قصد داریم نحوه ارتباط بین متلب و اکسل را آموزش داده و سپس اطلاعات ورودی کاربر و همچنین وضعیت BMI آن را در یک فایل اکسل ذخیره نماییم :

    خواندن اطلاعات اکسل در متلب و برعکس

    برای برقراری ارتباط بین اکسل و نرم افزار متلب دو تابع کاربردی xlsread و  xlswrite وجود دارد. تابع xlsread همانطور که از نامش پیداست برای خواندن اطلاعات از فایل اکسل بکار می رود. شکل کلی تابع xlread  به این صورت است :

    [num, txt] = xlsread(file, sheet, range)

    که در عبارت بالا ، file برابر نام نام فایل اکسل (از نوع رشته) ، sheet  برابر نام صفحه موردنظر داخل فایل (از نوع رشته)، range برابر یک بازه موردنظر برای خواندن (از نوع رشته) ، num برای خواندن داده های عددی (از نوع ماتریس یا آرایه عددی) و txt برای خواندن داده های متنی (از نوع آرایه سلولی) میباشند.

    اما شکل کلی برای تابع xlswrite به صورت زیر است که برای نوشتن داخل یک فایل اکسل به کار میرود:

    xlswrite(file, m, sheet, range)

    که در آن :

    m برابر ماتریسی است که قرار است در اکسل قرار بگیرد و پارامترهای file ، sheet  و range مطابق تعریف قبل هستند. برای روشن شدن مطالب بالا ، یک مثال را با هم بررسی میکنیم:

    فرض کنیم ما فایلی با نام ex2mat.xls داریم که شامل دو برگه با نام های Days و Mounth است. در شکل های زیر اطلاعات موجود در این فایل و برگه هایش را میبینیم

     

    excel to matlab رابط گرافیکی کاربر (قسمت چهارم) و تبادل متلب با اکسل

     

    excel to matlab 002 رابط گرافیکی کاربر (قسمت چهارم) و تبادل متلب با اکسل

    با تعریف متغیرهای زیر کار را شروع میکنیم ، باید دقت نماییم که در خط اول کد زیر فرض شده است که فایل اکسل مورد نظر در مسیری قرار دارد که فایل متلب نیز در آنجاست و اگر فایل اکسل در مسیر دیگری غیر از این باشد باید آدرس مسیر را به صورت کامل در اینجا وارد کنید:

    file = 'ex2mat.xls';
    sheet1 = 'Days';
    sheet2 = 'Months';

    بعد از تعریف این متغیر ها فقط کافیست دستور زیر را وارد نماییم :

    [numbers, text] = xlsread(file, sheet1, 'a1:c8')

    و نتیجه به این شکل خواهد بود :

    numbers =
      1.0e+004 *
        0.5538    0.0381
        0.5504    0.0371
        0.5480   -1.7382
        2.3209   -0.8941
        3.2497    3.1644
        0.1200   -1.0851
        1.2398    1.2745
    
    text =
        'Day'          'Value 1 '    'Value 2'
        'Monday'               ''           ''
        'Tuesday'              ''           ''
        'Wednesday'            ''           ''
        'Thursday'             ''           ''
        'Friday'               ''           ''
        'Saturday'             ''           ''
        'Sunday'               ''           ''

    همانطور که در بالا مشخص است، خروجی به شکل دو ماتریس چاپ شده اند که یکی فقط شامل اعداد است و دیگری فقط شامل متن ها است.

    برای نوشتن اطلاعلات در اکسل از کدهای زیر در ادامه کدهای قبل  استفاده میکنیم :

    m = mean(numbers)
    xlswrite(file, m, sheet1, 'b9:c9')
    
    [numbers, text] = xlsread(file, sheet1, 'a5:c5')
    m = m + numbers;
    xlswrite(file, m, sheet1, 'b10:c10')

    در خط 1 از کدهای بالا ، میانگین اعداد ستون b و c در یک ماتریس به نام m قرار میگیرند و در خط 2  این اطلاعات در سلول های b9 و c9 چاپ میشوند. در خط 4 اطلاعات ردیف پنجم  5 خوانده میشود و در خط 5 پارامتر m با که میانگین ستون ها بود، با مقدار ردیف پنجم جمع میشود، در خط آخر نیز مجددا در فایل اکسل اطلاعات نوشته میشود. خروجی کدهای بالا به شکل زیر است :

     

    excel to matlab 003 رابط گرافیکی کاربر (قسمت چهارم) و تبادل متلب با اکسل

     

    همانند مثال بالا برای برگه Mounth هم میتوانیم داشته باشیم :

    [n1, txt1] = xlsread(file, sheet2, 'a1:c13')
    [n2, txt2] = xlsread(file, sheet2, 'a2:c2')

    و نتایج آن :

    n1 =
      1.0e+004 *
        2.5000    2.3723
        2.6000    2.4723
        2.6500    2.5223
        2.2002    2.0725
        3.4098    3.2821
        4.9854    4.8577
        0.2454    0.1177
        2.3111    2.1834
        2.2311    2.1034
        6.5471    6.4194
        2.3841    2.2564
        2.3999    2.2722
    
    txt1 =
        'Month'        'Value 1 '    'Value 2'
        'January'              ''           ''
        'February'             ''           ''
        'March'                ''           ''
        'April'                ''           ''
        'May'                  ''           ''
        'June'                 ''           ''
        'July'                 ''           ''
        'August'               ''           ''
        'September'            ''           ''
        'October'              ''           ''
        'November'             ''           ''
        'December'             ''           ''
    
    n2 =
           25000       23723
    txt2 =
        'January'

    بعد از مشخص شدن نحوه عمل این دو تابع، به مثال خودمان در مبحث رابط گرافیکی کاربر باز گردیم در جایی که شکل زیر را داشتیم :

    bmi calculator 004 300x238 رابط گرافیکی کاربر (قسمت چهارم) و تبادل متلب با اکسل

    حال میخواهیم در ادامه کدهای جلسه سوم به ساخت کد های مربوط به دکمه save to BMI.xls  بپردازیم. قبل از رفتن سراغ کد نویسی بهتر است فایل اکسلی مطابق زیر در مسیر اصلی بسازیم :

    xbmi calcula 300x116 رابط گرافیکی کاربر (قسمت چهارم) و تبادل متلب با اکسل

    سلول B1 تعداد کل فیلد ها را محاسبه میکند که دارای فرمول +COUNT( G3 : G65536 ) . این فیلد به این منظور است که به متلب نشان دهد چند فیلد برای نمایش وجود دارد. همچنین ما میتوانیم یک پنجره پاپ آپ برای نمایش موفقیت آمیز بودن عملیات نمایش دهیم. این موارد با کدهای زیر انجام میپذیرند :

    % --- Executes on button press in save_button.
    function save_button_Callback(hObject, eventdata, handles)
    d{1, 1} = handles.name;
    d{1, 2} = handles.age;
    d{1, 3} = handles.weight;
    d{1, 4} = handles.wu;
    d{1, 5} = handles.height;
    d{1, 6} = handles.hu;
    d{1, 7} = handles.result;
    d{1, 8} = handles.condition; 
    
    c = xlsread('bmi', 1 , 'b1');
    position = ['a' num2str(c+3)];
    [status, message] = xlswrite('bmi', d, 1, position);
    
    if status
        helpdlg('Data saved ok...', 'Save Spreadsheet');
    else
        errordlg('Could not save data', 'Save Spreadsheet');
    end

    با توجه به مطالب گفته شده در این جلسه ، میتوانیم کدهای بالا را تفسیر کنیم:

    خط 3 تا 10 آرایه d را با مقادیر ورودی مناسب پر میکند، خط 11 سلول b1 را میخواند تا تشخیص دهد خروجی را باید در کدام ردیف چاپ کند.

    خط 12 با جمع کرد مقدار موجود در b1 با عدد3 ، به اولین ردیف خالی در فایل اکسل اشاره میکند.

    خط 13 اطلاعات d را در فایل اکسل در اولین ردیف خالی قرار میدهد.

    خط های بعدی وضعیت موفقیت یا عدم موفقیت را به کاربر نمایش میدهند.

    نتایج به صورت زیر است :

     

     

    bmi calculator 004 300x238 رابط گرافیکی کاربر (قسمت چهارم) و تبادل متلب با اکسل bmi calculator 003 300x238 رابط گرافیکی کاربر (قسمت چهارم) و تبادل متلب با اکسل

    bmi calculator 009.gif.pagespeed.ce .YS066tfUHH 300x47 رابط گرافیکی کاربر (قسمت چهارم) و تبادل متلب با اکسل

     

    bmi calculator 006.gif.pagespeed.ce .kQ0o6tNaR8 رابط گرافیکی کاربر (قسمت چهارم) و تبادل متلب با اکسل

     

    در اینجا آموزش مقدماتی ساخت رابط گرافیکی کاربر به اتمام میرسد

     

    Share
    0
    pooya pooya
    pooya pooya

    Related posts

    اسفند ۲۴, ۱۳۹۷

    داده های رشته ای در متلب


    Read more
    Capture عملگرها در نرم افزار متلب (قسمت چهارم)
    اسفند ۲, ۱۳۹۷

    عملگرها در نرم افزار متلب (قسمت چهارم)


    Read more
    بهمن ۲۴, ۱۳۹۷

    عملگر ها در نرم افزار متلب (قسمت سوم)


    Read more

    دیدگاهتان را بنویسید لغو پاسخ

    نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

    تماس باما

    اصفهان- بلوار کاوه ابتدای خیابان جابر انصاری دفتر موسسه تحلیل آمارگران

    9385162583 (98+)

    info@shopmatlab.ir

    پشتیبانی تلگرام
    پشتیبانی واتس آپ
    ارتباط با کارشناسان

    امکانات وب سایت

    linkedin telegram instagram twitter facebook

    بخش های سایت

    • دانلود رایگان
    • آموزش های رایگان متلب
    • قوانین وب سایت
    • درخواست کدنویسی
    • نظرات مشتریان

    پایانه پرداخت

    آرین پالزرین پال

    تمام حقوق محفوظ است