2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Матлаб код в сайлаб
Сообщение19.03.2015, 14:08 


24/11/13
18
Доброго времени суток, помогите переделать код из матлаба в сайлаб, буду очеень признателен
Код:
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 
Заслуженный участник
Аватара пользователя


01/09/13
4318
А какие принципиальные трудности? (не считая непонятной ф-ции mvnrnd)

 Профиль  
                  
 
 Re: Матлаб код в сайлаб
Сообщение30.03.2015, 19:25 


24/11/13
18
Geen в сообщении #992450 писал(а):
А какие принципиальные трудности? (не считая непонятной ф-ции mvnrnd)

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

 Профиль  
                  
 
 Re: Матлаб код в сайлаб
Сообщение30.03.2015, 20:26 
Заслуженный участник
Аватара пользователя


01/09/13
4318
А её что мешает сконвертировать (имплементировать заново)?

 Профиль  
                  
 
 Re: Матлаб код в сайлаб
Сообщение31.03.2015, 00:10 


24/11/13
18
Geen в сообщении #998153 писал(а):
А её что мешает сконвертировать (имплементировать заново)?

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

 Профиль  
                  
 
 Re: Матлаб код в сайлаб
Сообщение31.03.2015, 00:57 
Заслуженный участник
Аватара пользователя


01/09/13
4318
Smoker в сообщении #998280 писал(а):
Буду очень признателен если напишите как конвертировать это, ибо стандартным конвертером не вышло

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

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

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

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

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

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

 Профиль  
                  
 
 Re: Матлаб код в сайлаб
Сообщение31.03.2015, 01:16 


24/11/13
18
Это про код без всяких длл. Самое смешное, что когда я переделал код (наконец то не было ошибок) он просто зависал, а то и вообще монитор вырубался (wtf? oO), но сейчас запустил и забыл про него, пока вам отвечал - он нормально посчитал :)

 Профиль  
                  
 
 Re: Матлаб код в сайлаб
Сообщение31.03.2015, 01:22 
Заслуженный участник
Аватара пользователя


01/09/13
4318
Smoker в сообщении #998300 писал(а):
запустил и забыл про него ... он нормально посчитал

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group