Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Matlab code help

  1. Sep 30, 2008 #1
    Alright I have to questions one is on how to measure the time it takes for my computer to solve a particular code Ive tried the the "tic toc" and that seems to be dependent on the time frame that I typed in tic and toc. I need something that Is only dependent on the time taken to process and solve the command.
    Second how do I find the LDU factorization of a matrix A? I saw LU and LDL but that was it
    thanks Sean
  2. jcsd
  3. Sep 30, 2008 #2
    sorry one more question I need to solve for x in Ax=b with A =rand 100*100 matrix and B=rand100*1 whats the quickest way to do so?
  4. Sep 30, 2008 #3
    99% of the questions asked in this forum about Matlab are already answered in the Matlab documentation. Indeed, not only do the Matlab docs answer your questions, they answer them more accurately, completely, and concisely than anyone here could.

    Try this:

    Code (Text):
    doc cputime

    Matlab already has LU factorization, so it's easy to transform to LDU factorization. Any textbook on linear algebra will show you how to do this. In case you've forgotten, you can extract the diagonal from a matrix [itex]A[/itex] using the diag command. In Matlab, to look at LDU of a matrix A we would use

    Code (Text):

    D = diag(diag(A));
    LDUA = inv(D) * A;
    LDUA is what you're looking for. Again, see any textbook on linear algebra for the details on this if you're feeling a bit rusty.

    Try looking at the Matlab documentation under Matlab -> Mathematics -> Linear Algebra -> Systems of linear equations for a step-by-step guide, including a discussion of efficiency.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook