Transfert d'un programme matlab sur R

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

souad belkadi
Messages : 2
Enregistré le : 09 Sep 2023, 06:19

Transfert d'un programme matlab sur R

Messagepar souad belkadi » 17 Sep 2023, 01:57

Bonjour à tous,
j'ai cherché partout et je n'ai toujours pas résolu mon problème.
J'ai programmé en MATLAB et je voudrai le transférer sur R.
Si quelqu'un peut m'aidé sur la façon de procéder.
Merci d'avance.

##########################################################
n=300
r=0.9
x1=-2:0.1:2
y1=0:0.05:2
c=0.3
h=0.11
h1=0.1
xo=1
B=100
%h=(log(n)/n)^(1/3);
for k=1:B
s=1;
##########################################################
pcc=0.16;
while ((pcc<=0.375)||0.425<=pcc)
x(1)=0.5*randn;

for l=1:n

x(l+1)=r*x(l)+(sqrt(1-r^2))*randn;

y(l)=x(l+1);
end
##########################################################

% c=0.3
w=-c*log(rand(n,1));
for l=1:n
z(l)=min(y(l),w(l));
if z(l)==y(l)
d(l)=1;
else
d(l)=0;
end
end
pcc=1-(sum(d)/n);
s=s+1;
end
Pcc(k)=pcc
%h=n^(-1/4)

for l=1:n
X(l,:)=[z(l),x(l+1),d(l)];
end

X1=sortrows(X);



for l=1:length(y1)

for i=1:n
K(i)=(1/sqrt(2*pi))*exp((-1/2)*((xo-X1(i,2))/h1)^2);

H(i,l)=(1/sqrt(2*pi))*exp((-1/2)*((y1(l)-X1(i,1))/h)^2);
end
end
K
S=sum(K);
%for l=1:length(x1)
%for i=1:n
% B(i,l)=K(i,l)/S(l);
%end
%end
##########################################################
for l=1:n
for i=1:n
if X1(i,1)<=X1(l,1)
dd(i)=1;
else
dd(i)=0;
end

g(i)=(1-(1-X1(i,3))/(n-i+1))^dd(i);

end
if X1(l,1)<max(z)
G(l)=prod(g);
else
G(l)=0;
end
end
##########################################################
for l=1:length(y1)
for i=1:n
if G(i)~=0
Y(i)=(K(i)*H(i,l)*X1(i,3))/G(i);
Y1(i)=(h*K(i)*X1(i,3))/G(i);
%Y2(i)=h*K(i);
%Y(i)=(X1(i,3)*X1(i,1)*B(i,l))/G(i) ;
else
Y(i)=0;
% Y1(i)=0;
end
end
S1(l)=sum(Y);
m(k,l)=S1(l)/sum(Y1);
%m1(k,l)=S1(l)/sum(Y2);
end


end
G;
##########################################################
fyx=normpdf(y1,xo*r,1-r^2)
% Représentation à traver la médiane
for l=1:length(y1)
meden(l)=median(m(:,l));
%meden1(l)=median(m1(:,l));
end

CR=sum(Pcc)/B

plot(y1,fyx,'b',y1,meden,'g--','linewidth',1.5)
legend('True curve','Estimated curve')
%title('m(x)=rx, with r=0.9,n=300')
xlabel('x')
ylabel('f(y/x)')

Eric Wajnberg
Messages : 778
Enregistré le : 11 Aoû 2008, 15:37
Contact :

Re: Transfert d'un programme matlab sur R

Messagepar Eric Wajnberg » 17 Sep 2023, 11:16

Je n'ai jamais essayé, mais il y a un package matconv qui fait apparemment ceci (https://brieger.esalq.usp.br/CRAN/web/p ... index.html).

Bonne chance,

Eric.

souad belkadi
Messages : 2
Enregistré le : 09 Sep 2023, 06:19

Re: Transfert d'un programme matlab sur R

Messagepar souad belkadi » 17 Sep 2023, 13:19

Bonjour, merci beaucoup pour ta réponse.

jean lobry
Messages : 733
Enregistré le : 17 Jan 2008, 20:00
Contact :

Re: Transfert d'un programme matlab sur R

Messagepar jean lobry » 18 Sep 2023, 16:07

Bonjour,

ça me rappelle une vieille blague :

Code : Tout sélectionner

> library("fortunes")
> fortune("reverse")

Jim Gustafsson: I would like to put my SAS-code into R. Could I do that, if yes, how?
Frank Harrell: Just reverse the procedure you use when you put R code into SAS. ;)
   -- Jim Gustafsson and Frank Harrell
      R-help (February 2004)


bien amicalement,

Jean


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité