Guest User

Untitled

a guest
Jan 19th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.65 KB | None | 0 0
  1. %% Simulatie & MATLAB
  2. % Made by Nick Tsutsunava
  3. % 4085396
  4. % Faculty of Mechanical Engineering
  5. % Delft University of Technology
  6.  
  7. %% Parameters and Constants
  8. sn1 = 4;
  9. sn2 = 0;
  10. sn3 = 8;
  11. sn4 = 5;
  12. sn5 = 3;
  13. sn6 = 9;
  14. sn7 = 6;
  15.  
  16. % Ship parameters
  17. m  = 25000+sn5*10000+sn6*7000+sn7*600;
  18. Cv = 200+sn5*20+sn6*3+sn7*0.5;
  19. T  = 10000+sn5*6000+sn6*200+sn7*50;
  20.  
  21. % Import route file
  22. n = floor(1+(sn6/2));
  23. str = sprintf('Route%d.txt',n);
  24. route = importdata(str);
  25. lon = route(:,1);
  26. lat = route(:,2);
  27. wr = route(:,3);% Windrichting
  28.  
  29. % Negatieve waarden positief maken
  30. for i=1:size(lon)
  31.     if lon(i) <=0
  32.         lon(i)=lon(i)+360;
  33.     end
  34.    
  35. end
  36. lat = lat+90;
  37.  
  38. % Import Wind Data file
  39. data = importdata('winddata_clean.txt');
  40.  
  41. %% Calculations Course Angle
  42.  
  43. % Global Vector
  44. u = [0;1];
  45. v = [lon lat];
  46. n=1;
  47.  
  48. for i = 1:length(v)-1
  49.     w=[v(n+1,1)-v(n,1),v(n+1,2)-v(n,2)];
  50.     if w(1,2)<0
  51.         vector(i)=1;
  52.         alpha(n,:) = acos((dot(u,w))/(norm(u)*norm(w)))*(180/pi);
  53.         alpha = 360-alpha;
  54.     else
  55.         alpha(n,:) = acos((dot(u,w))/(norm(u)*norm(w)))*(180/pi);
  56.     end
  57.     n = n+1;
  58. end
  59. alpha(length(alpha)+1)=alpha(end);
  60.  
  61. %% Calculation Windspeed
  62. % for i = 1:(length(lon))
  63. %     if round(lat(i)) == 0
  64. %         lat(i) = 1;
  65. %     end
  66. %     f(i,:) = data(round(lon(i)),round(lat(i)));
  67. %     i = i+1;
  68. % end
  69. %
  70. % % Windspeed
  71. % ws = 0.836.*f.^(3/2)
  72. for i = 1:length(lon)
  73.     V(i,1) = interp2(data,round(lat(i)),round(lon(i)));
  74.     %Beaufort dude
  75.     V(i,1) = mean(0.836.*V(i,1).^(3/2))  ;
  76. end
  77. for i = 1:length(wr)
  78.     delta(i,:)=abs(wr(i)-alpha(i));
  79.     if delta(i) >=180
  80.         delta(i) = delta(i)-180;
  81.     end
  82. end
Add Comment
Please, Sign In to add comment