<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/262486</link>
    <title>MATLAB Central Newsreader - Atomic Weight</title>
    <description>Feed for thread: Atomic Weight</description>
    <language>en-us</language>
    <copyright>&amp;copy;1994-2012 by MathWorks, Inc.</copyright>
    <webmaster>webmaster@mathworks.com</webmaster>
    <generator>MATLAB Central Newsreader</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <ttl>60</ttl>
    <image>
      <title>MathWorks</title>
      <url>http://www.mathworks.com/images/membrane_icon.gif</url>
    </image>
    <item>
      <pubDate>Tue, 06 Oct 2009 23:39:04 -0400</pubDate>
      <title>Atomic Weight</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/262486#685202</link>
      <author>steven berruyer</author>
      <description>Hello,&lt;br&gt;
&lt;br&gt;
I try to right a program to calcul the atomic weight of molecules.&lt;br&gt;
I have the periodic table in cells.&lt;br&gt;
&lt;br&gt;
My prog is:&lt;br&gt;
&lt;br&gt;
load tableperiodique&lt;br&gt;
&lt;br&gt;
FormChim=input('Entrez dans un ensemble de cellule le symbole chimique des atomes composant la mol?cule s?par?s par des espaces: \n','s');&lt;br&gt;
NbOcc=input('Entrez une matrice de m?me dimensions que la pr?c?dente contenant le nombre d''occurrence de chacun des atomes dans la formule chimique: \n')&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&lt;br&gt;
&amp;nbsp;MasseAt=0;&lt;br&gt;
&amp;nbsp;for el=1:length(NbOcc)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for i=1:109&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if isequal(table_periodique{i,2},FormChim{el})&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MasseAt=MasseAt+table_periodique{i,1}*NbOcc(el);      &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&lt;br&gt;
&amp;nbsp;end&lt;br&gt;
&lt;br&gt;
MasseAt&lt;br&gt;
&lt;br&gt;
It's function but it's not &quot;user friendly&quot;, because for the name of molecule, user has to write: {'O' 'H'} for example&lt;br&gt;
and for the number of atom : [1 2]&lt;br&gt;
I want to try to ameliorate that. I want the user have to write: H 2 O 1&lt;br&gt;
but I don't know how to indicate to Matlab that H and O are letters. And how to delete the blank beetween the characters....&lt;br&gt;
&lt;br&gt;
Is there a special function? Maybe I have to use cells...I don't know.&lt;br&gt;
Does anyone can help me?&lt;br&gt;
&lt;br&gt;
Thanks a lot&lt;br&gt;
&lt;br&gt;
Steven</description>
    </item>
    <item>
      <pubDate>Thu, 08 Oct 2009 13:05:16 -0400</pubDate>
      <title>Re: Atomic Weight</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/262486#685628</link>
      <author>Ashish Uthama</author>
      <description>On Tue, 06 Oct 2009 19:39:04 -0400, steven berruyer  &lt;br&gt;
&amp;lt;steven.berruyer@voila.fr&amp;gt; wrote:&lt;br&gt;
&lt;br&gt;
&amp;gt; Hello,&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; I try to right a program to calcul the atomic weight of molecules.&lt;br&gt;
&amp;gt; I have the periodic table in cells.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; My prog is:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; load tableperiodique&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; FormChim=input('Entrez dans un ensemble de cellule le symbole chimique  &lt;br&gt;
&amp;gt; des atomes composant la mol?cule s?par?s par des espaces: \n','s');&lt;br&gt;
&amp;gt; NbOcc=input('Entrez une matrice de m?me dimensions que la pr?c?dente  &lt;br&gt;
&amp;gt; contenant le nombre d''occurrence de chacun des atomes dans la formule  &lt;br&gt;
&amp;gt; chimique: \n')&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; MasseAt=0;&lt;br&gt;
&amp;gt;  for el=1:length(NbOcc)&lt;br&gt;
&amp;gt;     for i=1:109&lt;br&gt;
&amp;gt;          if isequal(table_periodique{i,2},FormChim{el})&lt;br&gt;
&amp;gt;              MasseAt=MasseAt+table_periodique{i,1}*NbOcc(el);&lt;br&gt;
&amp;gt;           end&lt;br&gt;
&amp;gt;     end&lt;br&gt;
&amp;gt;  end&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; MasseAt&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; It's function but it's not &quot;user friendly&quot;, because for the name of  &lt;br&gt;
&amp;gt; molecule, user has to write: {'O' 'H'} for example&lt;br&gt;
&amp;gt; and for the number of atom : [1 2]&lt;br&gt;
&amp;gt; I want to try to ameliorate that. I want the user have to write: H 2 O 1&lt;br&gt;
&amp;gt; but I don't know how to indicate to Matlab that H and O are letters. And  &lt;br&gt;
&amp;gt; how to delete the blank beetween the characters....&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Is there a special function? Maybe I have to use cells...I don't know.&lt;br&gt;
&amp;gt; Does anyone can help me?&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Thanks a lot&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Steven&lt;br&gt;
&lt;br&gt;
This is the simplest I could cook up:&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
str='C 1 H 3 C 1 O 1 O 1 Na 1'; %assuming strict 'symbol number' order for  &lt;br&gt;
input data&lt;br&gt;
&lt;br&gt;
remainder='somethingNonEmptyToGetTheWhileLoopStarted';&lt;br&gt;
&lt;br&gt;
while(~isempty(remainder))&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[symbol, remainder] = strtok (str); %help strtok&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;str=remainder;&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[number, remainder] = strtok (str);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;number=str2double(number); %you can use number to perform  &lt;br&gt;
multiplications&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;str=remainder;&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;%To ensure you have only alphabets in symbol and numeric&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;%(digit) in number, you could use is ISSTRPROP&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;%We need to convert number back to a string to display it&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;disp(['Element ' symbol ' is present ' num2str(number) ' time(s)']);&lt;br&gt;
&lt;br&gt;
end</description>
    </item>
  </channel>
</rss>

