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.';
- a szöveg hány karakterből áll
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
- melyik volt a leghidegebb nap,
[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.
- melyik volt az a nap, amikor a legnagyobb volt a hőmérékletingadozás?
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
- Mennyi volt a napi maximumhőmérsékletek átlaga?
mean(maxhomerseklet)
ans = 23.4000
- Ábrázoljuk a maximumhőmérséklet eloszlását hisztogrammon!
histogram(maxhomerseklet)