Le 01/06/2018 à 12:46, Carrico, Paul a écrit :

Evstr(resu(k)) is a paste error - I’m reading an asci file J

Without using a loop, I would like to get the n th component of the vector resu(k) … k is no more no less than the index of specific lines I’m trying to get …

Through your answers I’m understanding that I’m thinking on a bad way


I think you can achieve what you want to do without a for loop.
But my feeling is that there is something wrong with the way you index your matrix NodesMatrix2(i,j+1) and your results resu(k). When you index with "i" and "j+1" that are vectors of length N & M, you are basically indexing NxM elements of you matrix.
This seems to be the core of the issue here.
Maybe  indexing your matrix like a vector (ie NodesMatrix2(p) with p in [1:length(NodesMatrix2)]) would be better.

Antoine

Paul

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

*De :*users [mailto:[email protected]] *De la part de* antoine monmayrant
*Envoyé :* vendredi 1 juin 2018 11:55
*À :* [email protected]
*Objet :* [EXTERNAL] Re: [Scilab-users] submatrix issue

Hello,

What do you wan to achieve exactly?
As Stéphane pointed out, the sizes are not the same.
When you assign something like:

A=B;

You have two different situations:

1) size(A)==size(B)
2) size(B)=[1,1]

In the first case, you assign each element of B to each element of A. In the latter case (which corresponds to your commented line), B is just a scalar that gets assigned to each element of A.

In the current situation, you are neither in case 1) nor in case 2).
As you have size(NodesMatrix2(i,j+1))=[300,300] and size(resu(k))=[300,1], you might want to replicate resu(k) 300 times and fill NodesMatrix2(i,j+1) with these 300 copies. If this what you want to do, here is the code:

NodesMatrix2(i,j+1)=resu(k)*ones(1,300);

By the way, why do you use "evstr(resu(k))" instead of "resu(k)"?

Antoine

Le 01/06/2018 à 11:45, Stéphane Mottelet a écrit :

    It cannot work since

    --> size(k)
     ans  =

       300.   1.


    --> length(i)*length(j)
     ans  =

       90000.

    i.e. NodesMatrix2(i,j+1) has 90000 elements and resu(k) has 300

    S.

    Le 01/06/2018 à 11:07, Carrico, Paul a écrit :


    Dear all

    I’ve a submatrix issue on the following example, and I do not
    remember (or understand) why : how can I do this ?

    (the goal is to extract and to store within a matrix results from
    an Ascii file)

    Thanks for any help

    Paul

    ###############################################################

    mode(0)

    clearall

    StartNodeLine= 1;

    NumberOfNodes= 100;

    DimCoordinates= 3;

    resu= rand(1000,1);

    tic();

    NodesMatrix2= zeros(NumberOfNodes,DimCoordinates+1);

    i= [1 : NumberOfNodes]'; NodesMatrix2(i,1) =
    _evstr_(resu(StartNodeLine + (DimCoordinates+2)*(i-1)+2));

    i= [1 : NumberOfNodes]'.*.ones(1,DimCoordinates)';

    j= ones(1,NumberOfNodes)'.*.[1 : DimCoordinates]';

    k= StartNodeLine + (DimCoordinates+2)*(i-1)+3+j;

    a= _evstr_(resu(k));

    NodesMatrix2(i,j+1)= _evstr_(resu(k)); /// does not work/

    ///NodesMatrix2(i,j+1) = 1; // work(basic assignement)/

    Duration2= toc()

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



    _______________________________________________
    users mailing list
    [email protected] <mailto:[email protected]>
    
https://antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/lists.scilab.org/mailman/listinfo/users
    
<https://urldefense.proofpoint.com/v2/url?u=https-3A__antispam.utc.fr_proxy_1_c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy_lists.scilab.org_mailman_listinfo_users&d=DwMD-g&c=0hKVUfnuoBozYN8UvxPA-w&r=4TCz--8bXfJhZZvIxJAemAJyz7Vfx78XvgYu3LN7eLo&m=fOPIPj4x1fd9eOUJD7v02ZTsRx2YJgno3lkgkK1O5b8&s=jzcapXMklHaIuDt_60w1DlJCIqVOV-xY54WDwPzYsNY&e=>







    _______________________________________________

    users mailing list

    [email protected] <mailto:[email protected]>

    http://lists.scilab.org/mailman/listinfo/users
    
<https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.scilab.org_mailman_listinfo_users&d=DwMD-g&c=0hKVUfnuoBozYN8UvxPA-w&r=4TCz--8bXfJhZZvIxJAemAJyz7Vfx78XvgYu3LN7eLo&m=fOPIPj4x1fd9eOUJD7v02ZTsRx2YJgno3lkgkK1O5b8&s=qWqrTkz0H8OBLBxbPldRtat8qjyFFW2cf-apUFUk8wM&e=>



_______________________________________________
users mailing list
[email protected]
http://lists.scilab.org/mailman/listinfo/users


--
+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 Antoine Monmayrant LAAS - CNRS
 7 avenue du Colonel Roche
 BP 54200
 31031 TOULOUSE Cedex 4
 FRANCE

 Tel:+33 5 61 33 64 59
email : [email protected]
 permanent email : [email protected]

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

_______________________________________________
users mailing list
[email protected]
http://lists.scilab.org/mailman/listinfo/users

Reply via email to