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

Matlab Help!

  1. Sep 18, 2005 #1
    I tried to write a function that would count all possible combinations that 4 couples could sit at a table assuming no man can sit next to his wife or next to another man. and 1wife and 1 husband sit at fixed positions. my problem doesnt compile and it says i either have too many or too few "end" statements. So please find the mistake:
    %4wifes problem: man and wife sit at the corners of the table. others may sit so that no man sits next to his wife or another man
    %how many possible arrangements?
    function c = fourcouples(trials)
    pos=[1,0,0,0,0,0,0,0,0,1];
    x=[];
    c=0;
    count=1;
    counter=0;
    while count[ trials %set matrix x with all possible combinations

    for i=2:9
    pos(i)=rand;
    if pos(i)[ =.25
    pos(i)=1;
    else if pos(i)[ =.50
    pos(i)=2;
    else if pos(i)[ =.75
    pos(i)=3;
    else
    pos(i)=4;
    end %of if
    end %set random variables, end of forloop1

    k=0;
    for j=2:8
    if pos(j)~=pos(j+1)
    k=k+1;
    end %end of if
    end %end for loop2

    if k==7
    x=[x;pos]; %augment x by a new arrangement
    counter=counter+1; %number of rows of rows of x
    end %of if
    count=count+1;
    end %of while loop
    i=1;
    y=[];
    while i[ =counter %get rid of dupblicate arrangements by setting new matrix y
    z=y;
    y=[y;x(i,:)];
    if det(y)==0
    y=z;
    else
    c=c+1;
    end
    i=i+1;
    end
    end
    return
     
  2. jcsd
  3. Sep 18, 2005 #2
    up. also i wrote a program for "count the probability that n tosses will give k heads" , based on doing many random trials. that program did compile. but i found it to be rather slow. i.e. the most it would do was 100k trials.

    after the current problem compiles, i'll try to do monte carlo simulations.
     
  4. Sep 19, 2005 #3
    If you're using Matlab, you want to replace 'else if' with 'elseif'. As it is, Matlab wants to put an if inside your else, which would explain the lack of end statements. And what is ' [ ' ?
     
  5. Sep 19, 2005 #4
    wow thanks! i'll see if it now compiles based on this "elseif"! "[" was really "<", i just copied it to this forum incorrectly.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?



Similar Discussions: Matlab Help!
  1. MATLAB help (Replies: 9)

  2. MATLAB help (Replies: 2)

  3. MATLAB help (Replies: 0)

  4. MATLAB help (Replies: 7)

  5. Matlab help (Replies: 6)

Loading...