2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Матлаб код в сайлаб
Сообщение19.03.2015, 14:08 
Доброго времени суток, помогите переделать код из матлаба в сайлаб, буду очеень признателен
Код:
function [CC,X1m X2m] = solveSchoastic(m_exp,T,dt,avg_vector,cov_matrix,count)
clc;
X0=zeros(2,1);
n = ( T(2) - T(1))/dt;
X1m = [];
X2m = [];
C1 = [];
C2 = [];
C3 = [];
C4 = [];

 
  for i=1:m_exp
      X0 = mvnrnd(avg_vector,cov_matrix);   %Generate initial vector [X1(0), X2(0)
      X1 = zeros(1,n);
      X1(1)=X0(1);
      X2 = zeros(1,n);
      X2(1) = X0(2);
      for j=2:n                             %Calculating equations using Euler algorithm
          X1(j+1) = X1(j) + X2(j)*dt;
          X2(j+1) = X2(j) + (-0.2*( (X1(j))^2 -1)*X2(j) -4*X1(j))*dt + 0.1*sqrt(dt)*randn(1);
      end
      X1m = [X1m;X1];
      X2m = [X2m;X2];
      [m1 n1] = size(X1m)
  end                             
 
      M1 = mean(X1m);        %Calulating   mX2(t)
      M2 = mean(X2m);        %Calulating   mX1(t)
      CC1 = cov(X1m);        %Covariation matrix for X1(t)
     
      CC2 = cov(X2m);        %Covariation matrix for X2(t)
      CC = [CC1;CC2];
   

  %Plot section
  for i=1:count
      figure;
      plot(T(1):dt:T(2),X1m(i,:));grid on;xlabel('t');ylabel('X1(t)');          %Plot realisation of X1(t)
  end
 
  for i=1:count
      figure;
      plot(T(1):dt:T(2),X2m(i,:));grid on;xlabel('t');ylabel('X2(t)');           %Plot realisation of X2(t)
  end
  figure;
  plot(T(1):dt:T(2),M1,T(1):dt:T(2),M2);grid on;xlabel('t');ylabel('Mx1(t),Mx1(t)')
 
  figure;
  hist(CC1);grid on;ylabel('Cx1(t)');                            %Ploting graphics for
 
  figure;
  hist(CC2);grid on;ylabel('Cx2(t)');

end

 
 
 
 Re: Матлаб код в сайлаб
Сообщение19.03.2015, 14:17 
Аватара пользователя
А какие принципиальные трудности? (не считая непонятной ф-ции mvnrnd)

 
 
 
 Re: Матлаб код в сайлаб
Сообщение30.03.2015, 19:25 
Geen в сообщении #992450 писал(а):
А какие принципиальные трудности? (не считая непонятной ф-ции mvnrnd)

Собственно проблема только с ней

 
 
 
 Re: Матлаб код в сайлаб
Сообщение30.03.2015, 20:26 
Аватара пользователя
А её что мешает сконвертировать (имплементировать заново)?

 
 
 
 Re: Матлаб код в сайлаб
Сообщение31.03.2015, 00:10 
Geen в сообщении #998153 писал(а):
А её что мешает сконвертировать (имплементировать заново)?

Проблема во всем этом в том, что ни в 1 из этих программ я не работал, переписывал вручную весь код из матлаба в сайлаб, но не получилось. Буду очень признателен если напишите как конвертировать это, ибо стандартным конвертером не вышло

 
 
 
 Re: Матлаб код в сайлаб
Сообщение31.03.2015, 00:57 
Аватара пользователя
Smoker в сообщении #998280 писал(а):
Буду очень признателен если напишите как конвертировать это, ибо стандартным конвертером не вышло

Ну, матлаба у меня сейчас нет, поэтому нет исходного файла и иных возможностей (причём, подозреваю, в матлабе этот файл может быть в виде dll'я).

Smoker в сообщении #998280 писал(а):
переписывал вручную весь код из матлаба в сайлаб, но не получилось.

Вообще, это странно - матлабовский код (если он не включает последние объектные навороты) конвертируется практически механически (особенно с учётом того, что имеются специально базовые ф-ции под матлаб).

Smoker в сообщении #998280 писал(а):
Проблема во всем этом в том, что ни в 1 из этих программ я не работал

Гм. А откуда тогда возникла эта задача? ;-)

В общем, на Вашем месте, я бы посмотрел как генерировать многомерный нормальнораспределённый вектор по заданным средним и ковариационной матрице, посмотрел бы базовый синтаксис сайлаба и написал бы эту ф-цию...

 
 
 
 Re: Матлаб код в сайлаб
Сообщение31.03.2015, 01:16 
Это про код без всяких длл. Самое смешное, что когда я переделал код (наконец то не было ошибок) он просто зависал, а то и вообще монитор вырубался (wtf? oO), но сейчас запустил и забыл про него, пока вам отвечал - он нормально посчитал :)

 
 
 
 Re: Матлаб код в сайлаб
Сообщение31.03.2015, 01:22 
Аватара пользователя
Smoker в сообщении #998300 писал(а):
запустил и забыл про него ... он нормально посчитал

Вот оно, самое правильное решение! Поздравляю :-)

 
 
 [ Сообщений: 8 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group