[Scilab-users] [EXTERNAL] Re: submatrix issue
amonmayr at laas.fr
amonmayr at laas.fr
Fri Jun 1 13:52:27 CEST 2018
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:users-bounces at lists.scilab.org] *De la part de*
> antoine monmayrant
> *Envoyé :* vendredi 1 juin 2018 11:55
> *À :* users at lists.scilab.org
> *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
> users at lists.scilab.org <mailto:users at lists.scilab.org>
> 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
>
> users at lists.scilab.org <mailto:users at lists.scilab.org>
>
> 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
> users at lists.scilab.org
> 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 : antoine.monmayrant at laas.fr
permanent email : antoine.monmayrant at polytechnique.org
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20180601/d40d486e/attachment.htm>
More information about the users
mailing list