MS Excel and Matlab

Embed Size (px)

Citation preview

  • 7/28/2019 MS Excel and Matlab

    1/3

    MS Excel and Matlab (interchanging

    data)

    In this article we'll show how to

    interchange information

    between MS Excel andMathworks' Matlab, working

    from a Matlab m-file.

    There are two handy Matlab

    instructions for this purpose:

    xlsread and xlswrite.

    Common format for xlsread (read an xls-file):

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

    Wherefile = name of xls file (string)

    sheet = name of specific sheet within the file (string)

    range = specific range to read (string)

    num = read numerical data (numeric array or matrix)

    txt = read text data (cell array)

    Common format for xlswrite (to write an xls.file):

    xlswrite(file, m, sheet, range)

    Where

    m = matrix to insert in xls file

    file, sheet and range are as before

    An example...

    Let's say that we have an Excel file named 'ex2mat.xls' that includes two

    sheets named 'Days' and 'Months'.

    Here's the data for those sheets:

    Download NetworkMonitor

    OpManager.ManageEngine .com

    Manage LAN, WAN, Bandwidth,

    VoIP used by over 8000 admins.

    Try now!

    Home

    Welcome

    Matrixmania Blog

    Sitemap

    -> Books

  • 7/28/2019 MS Excel and Matlab

    2/3

    We start by setting-up our environment (we assume that the MS Excel .xls file

    is in the same directory as our Matlab files, otherwise we should take care of

    the full path for the file under test):

    file = 'ex2mat.xls';

    sheet1 = 'Days';

    sheet2 = 'Months';

    We read relevant information:

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

    And we get:

    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' '' ''

    Note that 'text' is a cell array, without numbers.

    We can manipulate data and insert the results back in the file (the file must beclosed in advance, otherwise Matlab won't update it):

    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')

    The final result is:

    We can read the other sheet from the file, like this:

    converted by Web2PDFConvert.com

    http://www.web2pdfconvert.com/?ref=PDFhttp://www.web2pdfconvert.com/?ref=PDF
  • 7/28/2019 MS Excel and Matlab

    3/3

    [n1, txt1] = xlsread(file, sheet2, 'a1:c13')

    [n2, txt2] = xlsread(file, sheet2, 'a2:c2')

    And the results are:

    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.85770.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'

    From 'MS Excel' to home

    From 'MS Excel' to 'Matlab Programming'

    Top

    Video: Importingexternal data

    Share this page:What's This?

    Enjoy this page? Please pay it forward. Here's how...

    IBM Edge ConferenceIBM Edge Conference

    Leverage Faster System Performance. See The IBMLeverage Faster System Performance. See The IBM

    Roundtable Discussion.Roundtable Discussion.

    bybyIBMEdgeIBMEdgeon YouTubeon YouTube

    converted by Web2PDFConvert.com

    http://www.web2pdfconvert.com/?ref=PDFhttp://www.web2pdfconvert.com/?ref=PDFhttp://www.sitesell.com/magicispossible.htmlhttp://www.matrixlab-examples.com/excel-programming.htmlhttp://www.matrixlab-examples.com/matlab-programming-2tier.htmlhttp://www.matrixlab-examples.com/index.html