Je débute en matlab et j'ai quelques difficultés. Un module en C a été réalisé et je dois recoder ce module en c en matlab. Je vous donne donc le module en c suivi de ce que j'ai écrit en matlab:
le module en c :
A partir de ce module de référence. Je dois maintenant faire la meme chose mais en matlab et voila ce que j'ai fait:
Code C : 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 void mc_dip_abcformula_correction(const as_abc_t* abc_in, /* [IP]*/ const int32_t* iterations, /* [IP] nombre d'itération du module */ as_abc_result_t* abc_out) int i; for (i = 0; i < iterations; i++) { float a = abc_in->a; float b = abc_in->b; float c = abc_in->c; if (a == 0) { abc_out->result1 = (b == 0 ? nanf("") : -c/b); abc_out->result2 = (b == 0 ? nanf("") : -c/b); } else { float delta = powf(b,2) - 4.0f * a * c; if (delta >= 0) { abc_out->result1 = ((-b+sqrtf(delta))/2*a); abc_out->result2 = ((-b-sqrtf(delta))/2*a); } else { abc_out->result1 = nanf(""); abc_out->result2 = nanf(""); } } } }
Lorsque je réalise mon test unitaire le problème que j'obtiens est le suivant :
Code Matlab : 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 % Entrees/Sorties : % IP abc_in [abc] : % IP iterations [int32] : nombre d'itération du module % OP abc_out [abc_result] : function [abc_out] = polynome(abc_in, iterations) for (i=0:iterations) a=abc_in(); b=abc_in(); c=abc_in(); if (a==0) if (b==0) result1 = abc_out(NaN); result2 = abc_out(NaN); else result1 = abc_out(-c/b); result2 = abc_out(-c/b); end if (a~=0) delta = b^2 - 4*a*c; if (delta>=0) result1 = abc_out((-b+sqrt(delta))/2*a); result2 = abc_out((-b-sqrt(delta))/2*a); else result1 = abc_out(NaN); result2 = abc_out(NaN); end end end end
[MATLAB:UndefinedFunction] Function 'eq' is not defined for values of class 'struct'.
Comment dois je modifier mon code. Je débute en matlab comme je l'ai dit. sil vous plait aidez moi. merci beaucoup pour l'aide que vous pourrez m'apporter.
Partager