Salut à tous et à toutes
Comment je peux renvoyer une matrice à partir les outputs d'une fonction
c-à-d function output name function inputs
Salut à tous et à toutes
Comment je peux renvoyer une matrice à partir les outputs d'une fonction
c-à-d function output name function inputs
Bonsoir,
je sais pas si j'ai vraiment compris ce que tu veux; mais à supposer que ta fonction sert à calculer le carré des éléments d'une matrice A passée en entrée: dans ton code tu fais B=A.^2 et en sortie de ta fonction tu place [B] (l'entête de ta fonction doit être [B]=function carre(A))
voilà...
Bonjour,
La réponse est dans la question, non?
Pour définir une fonction :
ou out1, out1,... peuvent être des matrices.
Code : Sélectionner tout - Visualiser dans une fenêtre à part function [out1, out2, ...] = myfun(in1, in2, ...)
Pour appeler la fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part [o1, o2, ...] = myfun(i1, i2, ...)
Oui j'ai déjà fais ça mais dans l'affichage il affiche seulement la dernière valeurs pas toutes les valeurs de la matrice
Dans ce cas, c'est dans la fonction qu'il faut stocker toutes les valeurs. Peux-tu nous montrer ton code?
Voici le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 function[y1,y2]= encode(point,a,b,p,d) wpl=0; [spc_ent,C0]=textread('code.m','%s %s',2); %#ok<*ASGLU> [L,C]=textread('code.m','%s %s','headerlines',2); L=char(L); FID = fopen('data.txt','r'); OUT1 = fopen('dataEnc.txt','w'); OUT2 = fopen('dataEncrypPoint.txt','w'); OUT3= fopen('dataAlGamalPoint.txt','w'); k = khide(p); while 1 tline = fgetl(FID); if ~ischar(tline), break, end for i=1:size(tline,2) %%%%%boucle pour i = 1 to le dernier caractere (espace) longData = size(tline,2); x=find(L==tline(i), 1); %%%% trouver le caractere et comparer le avec celui de code.m if isempty(x)==1 %%%% Si il n'y a pas du caractère donc coder par espace pointSpace = char(C0(1)); pointEncryp = multell(point,str2double(pointSpace),a,b,p); fprintf(OUT1,'%s',char(C0(1))); %%% c'est pour coder par un espace fprintf (OUT2,'(%d,%d)',pointEncryp); wpl=wpl+1; else pointx= char(C(x)); pointEncryp = multell(point,str2double(pointx),a,b,p); fprintf(OUT1,'%s',char(C(x))); fprintf(OUT2,'(%d , %d)',pointEncryp); %%%%Sinon coder par l'equivalent du caractère trouvé beta = multell(point,d,a,b,p); y1 = multell(point,k,a,b,p); beta1= multell(beta,k,a,b,p); y2= addell(pointEncryp,beta1,a,b,p); wpl=wpl+1; end fprintf(' \n le point est = (%d,%d)',pointEncryp); fprintf('\n y1 = (%d,%d)',y1); fprintf('\n y2 = (%d,%d)',y2); fprintf (OUT3,'{(%d,%d),(%d,%d)}',y1,y2); end fprintf('\n Beta = (%d,%d)',beta); fprintf('\n y1 = (%d,%d)',y1); fprintf('\n y2 = (%d,%d)',y2); end fclose('all');
Donc, c'edst bien ça, toutes les valeurs ne sont pas stockées dans y1 ou y2, puisque y1 et y2 sont écrasés à chaque itération.
Que renvoie multell? une valeur numérique? un vecteur? une matrice?
Comment doivent être stockées les valeurs?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager