1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Problem with Matlab

  1. Jan 7, 2012 #1
    Hi everyone,

    I am having a bit of a problem with Matlab. I am currently using a finite difference mesh to solve the heat equation across one spatial dimension - x and time. I had an water array with depth and time and a boundary condition given by heat transfer equations which set the top line. This ran perfectly fine downwards from 2 : end-1

    I then added an array above it that was the same but had air properties. From this I set the bottom row to a boundary condition using the heat transfer equations and tried to run it the same way but upwards from end-1 : 2.

    It will not work and just alters the bottom row. The second differentials from the finite difference model come up as 0 despite their consituent parts clearly not adding to 0 uppon logging.

    (the model is trying to show heat interaction between an air layer sat on a water layer and heat transfer within the 2 layers in assumed to be conduction only)

    Can anyone suggest a solution to this or a problem it may be?

    Can MATLAB handle running upwards through a mesh?

    Thanks for any help, ( I am happy to give you more information)

  2. jcsd
  3. Jan 7, 2012 #2
    Re: Matlab

    If you want to step in the negative direction you need to tell matlab so.

    Use: end-1 : -1: 2

    That should work
  4. Jan 9, 2012 #3
    Re: Matlab

    Thanks, I will try it now

    It didn't work. The only way I have been able to do it is by putting a new for loop in that runs a variable up the array and use that to work up the array but it looks a lot messier than it should be...
    Last edited: Jan 9, 2012
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook