[Scilab-users] [EXTERNAL] Re: Vectorization issue

Carrico, Paul paul.carrico at esterline.com
Thu May 26 13:29:21 CEST 2016


Obviously ... newbie error !!!!!!

Thanks

EXPORT CONTROL :
Cet email ne contient pas de données techniques
This email does not contain technical data

De : users [mailto:users-bounces at lists.scilab.org] De la part de Rafael Guerra
Envoyé : jeudi 26 mai 2016 13:27
À : 'Users mailing list for Scilab'
Objet : Re: [Scilab-users] [EXTERNAL] Re: Vectorization issue

Hi Paul,

'b' seems to be already used in the Km and Km2 formulas and so, it cannot be used at the same time as an auxiliary variable with different meaning.
Only 'b' needs to be changed.

Regards,
Rafael

From: users [mailto:users-bounces at lists.scilab.org] On Behalf Of Carrico, Paul
Sent: Thursday, May 26, 2016 12:38 PM
To: 'Users mailing list for Scilab' <users at lists.scilab.org<mailto:users at lists.scilab.org>>
Subject: Re: [Scilab-users] [EXTERNAL] Re: Vectorization issue

Thanks Rafael for the answer

One explanation of the error is that I used a and b letter instead of aa and bb in your example; your code, if I change aa -> a and bb -> it fails again ... why ? (I do not understand)


De : users [mailto:users-bounces at lists.scilab.org] De la part de Rafael Guerra
Envoyé : jeudi 26 mai 2016 12:26
À : 'Users mailing list for Scilab'
Objet : [EXTERNAL] Re: [Scilab-users] Vectorization issue


Hi Paul,

It seems that there may be some issues with the .*, .^ syntax and also the use of the same variable in different context (b).

Editing the vectorization part of your code as follows:

// using vectorization
aa = [0:n]';
bb = ones(n,1);
i = aa.*.bb;
j = bb.*.aa;

Km2 = zeros(n*(n+1),1);
Km2 = %pi^6*((2*i+1).^2 .* j.^2).*((2*i+1).^2.*(b/2*d)^2 + j.^2) ;
Km2 = (144*(b/d).^4)/ sum(Km2);
Km2 = 1.2 + (nu/(1+nu))*Km2;
k2 = 1/Km2

produces:
   k  =    0.8333090
   k2  =  0.8333333

A small difference. I did not check the formulas but it might be numerical error only.

Regards,
Rafael

From: users [mailto:users-bounces at lists.scilab.org] On Behalf Of Carrico, Paul
Sent: Thursday, May 26, 2016 11:30 AM
To: International users mailing list for Scilab. (users at lists.scilab.org<mailto:users at lists.scilab.org>) <users at lists.scilab.org<mailto:users at lists.scilab.org>>
Subject: [Scilab-users] Vectorization issue

Dear
I failed in using vectorization in the example immediately bellow; but I do not remember if it's possible : any advice ?
Thanks
Paul
############################

mode(0)

n = 20

Km = 0;

b = 100;

d = 20;

nu = 0.3;



// using loops

for i = 0 : n

    for j = 1 : n

        Km = Km + (144*(b/d)^4)/(  %pi^6*(2*i+1)^2*j^2*((2*i+1)^2*(b/2*d)^2+j^2)  );

    end

end



Km = 1.2 + (nu/(1+nu))*Km

k = 1/Km



// using vectorization

a = [0:n]';

b = ones(n,1);

i = a.*.b;

j = b.*.a;



Km2 = zeros(n*(n+1),1);

Km2 = (  %pi.^6*((2*i+1).^2. * j.^2)*((2*. i+1).^2*(b/2*d).^2 + j^2)  )

Km2 = (144*(b/d).^4)/ Km2

Km2 = 1.2 + (nu/(1+nu))*Km2

k2 = 1/Km2

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20160526/2f631cbd/attachment.htm>


More information about the users mailing list