Feladatok

1. feladat: Tekintsük a következő szöveget: A neuron or, also known as a neurone, is an electrically excitable cell that receives, processes, and transmits information through electrical and chemical signals. These signals between neurons occur via specialized connections called synapses. Neurons can connect to each other to form neural networks. Neurons are the primary components of the central nervous system, which includes the brain and spinal cord, and of the peripheral nervous system, which comprises the autonomic nervous system and the somatic nervous system.

Készítsük egy szt nevű változót, amely sztringkét tárolja ezt a szöveget. A Matlab segítségével határozzuk meg, hogy

szt='A neuron or, also known as a neurone,  is an electrically excitable cell that receives, processes, and transmits information through electrical and chemical signals. These signals between neurons occur via specialized connections called synapses. Neurons can connect to each other to form neural networks. Neurons are the primary components of the central nervous system, which includes the brain and spinal cord, and of the peripheral nervous system, which comprises the autonomic nervous system and the somatic nervous system.';
karakterekszama=length(szt);
fprintf('A szöveg %g karakterből áll  \n', karakterekszama)
% *    a szöveg hány betűből áll
betukszama=0;
for i=szt
    if (double(i)>=65 && double(i)<=90) || (double(i)>=97 && double(i)<=122) % vagy egyszerűbben: isletter(i)
        betukszama=betukszama+1;
    end
end
fprintf('A szöveg %g betűből áll  \n', betukszama)
% *    hány 'a' betű található a szövegben
akszama=sum(szt=='a')+sum(szt=='A');
fprintf('A szövegben %g a betű van  \n', akszama)
A szöveg 528 karakterből áll  
A szöveg 439 betűből áll  
A szövegben 34 a betű van  

2.feladat: Készítsünk egy függvényt, aminek bemenete egy sztring a kimenete pedig a sztring elemeinek ascii-kódja+1 ('titkosírás'). Készítsük el a dekódoló függvényt is, amely az előbbi függvény kimenetéből visszaállítja a sztringet.

function v=kodol(s)
v=double(s)+1;

function s=dekodol(v)
s=char(v-1);

3.feladat: Írjunk egy olyan mennyiVan nevű függvényt, melynek bemenete egy s sztring. A függvény kimenete legyen az á és ő karakterek számának összege s-ben.

function ki=mennyiVan(s)

ki=sum(s=='á')+sum(s=='ő');

4. feladat: Írjunk egy olyan valogat nevű függvényt, amelynek bemenete egy xls fájl neve sztringként. A kimenetek legyen az első 3 oszlopban lévő számok maximuma illetve minimuma.

function [mini, maxi]=valogat(s)

[~,~, minden]=xlsread(s);

szamok=[];

for i=1:size(minden,1)
  if isfloat(minden{i,1}) && ~isnan(minden{i,1})
      szamok=[szamok, minden{i,1}];
  end
  if isfloat(minden{i,2}) && ~isnan(minden{i,2})
      szamok=[szamok, minden{i,2}];
  end
  if isfloat(minden{i,3}) && ~isnan(minden{i,3})
      szamok=[szamok, minden{i,3}];
  end
end

mini=min(szamok);
maxi=max(szamok);

5. feladat: Nyissuk meg az 2015szept.xls nevű fájt, ebben időjárás adatok vannak az tavalyelőtt szeptemberről, Budapesten. A hőmérsékletadatok végén egy °C sztring van, emiatt a Matlab nem ismeri fel azokat számként. Vágjuk le ezt a végéről, majd ezután alakítsuk számmá a 2. és 3. oszlop adatait, majd az így kapott mátrix feldolgozásával állípítsuk meg, hogy

[szamok, szoveg, osszes]=xlsread(...
    '2015szept.xls');
minhomerseklet=zeros(30,1);

for i=2:31
    minhomerseklet(i-1)=str2num(szoveg{i,2}(1:end-2));
end
[ertek, hely]=min(minhomerseklet);
fprintf('A leghidegebb nap szeptember %g. ekkor %g fok volt.\n',hely,ertek);
A leghidegebb nap szeptember 9. ekkor 3 fok volt.
maxhomerseklet=zeros(30,1);
for i=2:31
    maxhomerseklet(i-1)=str2num(szoveg{i,3}(1:end-2));
end
[ertek, hely]=max(maxhomerseklet-minhomerseklet);
fprintf('A legnagyobb hőingadozás szeptember %g.-n volt %g fok \n',hely, ertek);
A legnagyobb hőingadozás szeptember 9.-n volt 18 fok 
mean(maxhomerseklet)
ans =

   23.4000

histogram(maxhomerseklet)