Sunteți pe pagina 1din 14

1.

Scrieti codul Python pentru a afisa urmatoarele grafice:

Y1=cos(2pix1)*e-x1 x1 apartine [0,5]

Y2=cos(2pix2) x2 apartine [0,2]

Folosind functia subplot() afisati graficele suprapuse pe verticala in aceeasi figura. Etichetati axele si
adaugati un titlu.

from pylab import *

x1=linspace(0.0,5.0,100)

y1=cos(2*pi*x1)*exp(-x1)

subplot(2,1,1)

plot(y1)

xlabel('Axa x')

ylabel('Axa y')

title('Grafic 1')

x2=linspace(0,2,50)

y2=cos(2*pi*x2)

subplot(2,1,2)

subplots_adjust(hspace=0.8)

plot(y2)

axis('tight')

xlabel('x')

ylabel('y')
title('Grafic 2')

2. Fie functia f(x)=1+2cos(5x) definite pe intervalul [0,2pi]

Folosind functia subplot() desenati graficul functiei in coordonate carteziene si polare.

Graficul in coordinate carteziene sa fie cu linie rosie punctata si fiecare punct de pe grafic sa fie marcat
cu un patrat. Etichetati axele si adaugati un text pe suprafata graficului.

from pylab import *

x=linspace(0,2*pi,50)

f=1+2*cos(5*x)

subplot(2,1,1)

plot(f,'r--,',marker='s')

xlabel=('x')

ylabel=('y')

text(0.5,1,'grafic')

subplot(2,1,2,polar=True)

plot(f,x,'b',lw=1)

subplots_adjust(top=1)

3. Se da urmatorul text csv:

26,Mai,2020,Informatica Aplicata 2,Examen,Proba Practica

Scrieti codul pentru a afisa valorile separate de virgula fiecare pe un rand.

Indicatie: puteti sa folositi liste sau sa folositi metoda split() care se aplica stringurilor.

text='26,Mai,2020,Informatica Aplicata 2,Examen,Proba Practica'


a=text.split(',')

print(',\n'.join(a))

4. Definiti un dictionar ale carui chei sa fie diverse fructe. Scrieti functia care va printa valoarea unei
anumite chei.

d={'cirese':'rosii','banane':'galbene'}

def f(d):

print(d.get('cirese'))

f(d)

5. Creati clasa Punct2D ce reprezinta coordonatele x,y ale unui punct. O instanta a clasei se va afisa
asa: |x,y|. Adaugati clasei metoda Deplasare() care va avea ca rezultat deplasarea cu dx si dy de la
locatia initiala x,y. Creati o instanta a clasei pt valorile x=10 si y=5 si apelati metoda Deplasare pt
valorile dx=40 si dy=25.

class Punct2D():

def __init__(self,x,y):

self.x=x

self.y=y

def __str__(self):

return '|'+str(self.x)+','+str(self.y)+'|'

def Deplasare(self,dx,dy):

self.dx=dx+self.x

self.dy=dy+self.y

a=Punct2D(10,5)

a.Deplasare(40,25)

print(a)

print(a.dx,a.dy)

6. Fie functia f1=xsin(pi/x) definita pe intervalul [-5,2] si functia g2=ex/2sin2x definite pe [0,5].

Folosind functia subplot() desenati graficele functiilor:

f1 cu linie galbena punctata si fiecare punct de pe grafic sa fie marcat cu un cerc.

g2 cu linie verde ingrosata

Etichetati axele si adaugati un titlu si grid graficului functiei f1.


from pylab import *

x=linspace(-5,2,50)

f1=x*sin(pi/x)

subplot(2,1,1)

plot(f1,'y--',marker='o')

xlabel=('x')

ylabel=('y')

title=('grafic 1')

grid(True)

g=linspace(0,5,50)

g2=exp(x/2)*sin(2*x)

subplot(2,1,2)

plot(g2,'g-',lw=2)

7. Fie lista a=[1,2,3,7,1,4,2,1,8,3,5]

Creati lista b=[7,4,8,5] in doua moduri: folosind bucla for si folosind list comprehension. Indicatie:
elementele din lista b sunt cele din lista a mai mari decat 3.

a=[1,2,3,7,1,4,2,1,8,3,5]

b=[]

for i in range(0,len(a)):

if a[i]>3:
b.append(a[i])

print(b)

z=[n for n in a if n>3]

print(z)

8. Scrieti codul pt a afisa graficele:

Cos(2pix1)*e-x1

Cos(2pix2)

Sin(2pix2)

Unul sub altul, primul cu cercuri. Titlul, nume axe.

from pylab import *

x1=linspace(0,2,50)

x2=linspace(0,5,50)

a=cos(2*pi*x1)*exp(-x1)

b=cos(2*pi*x2)

c=sin(2*pi*x2)

subplot(3,1,1)

plot(a,marker='o')

xlabel('x')
ylabel('y')

title('grafic a')

tight_layout(pad=0.1)

subplot(3,1,2)

subplots_adjust(top=1.5)

plot(b,'r')

xlabel('x',labelpad =0.5)

ylabel('y')

title('grafic b')

subplot(3,1,3)

plot(c,'g')

title('grafic c')

xlabel('x')

ylabel('y')

9. Scrieti urmatorul script:

Importati pachetul numpy

Creati x, un array de 5 linii si 6 coloane folosind functia random().

Selectati coloana a3a, selectati fiecare al doilea element din linia 4.

from pylab import *

import numpy

from numpy import random

#x=random.rand(5,6)

x=arange(30).reshape(5,6)

print(x)

print(x[:,2])

print(x[4,1::2])

10. Folosind functiile arange si reshape creati urm structura:


import numpy as np

from pandas import Series, DataFrame

import pandas as pd

x=np.arange(10,35).reshape(5,5)

print(x)

coloane=['ab','bc','cd','de','ef']

x=pd.DataFrame(x,columns=coloane)

print(x)

x['fg']=100

print(x)

x.loc['1':'3','cd']=np.NaN

print(x)

print(x.fillna('xxx'))

11. Definiti clasa Cerc care are metoda arie, iar in functia de printare va afisa: Cerc cu raza de…

Creati o instanta a clasei Cerc si apelati metoda arie.

from math import *

class Cerc():

def __init__(self,r):

self.r=r

def Arie(self):

self.a=2*pi*(self.r**2)

def __str__(self):

return 'Cerc cu aria de ' + str(self.a)

cerc=Cerc(2)

cerc.Arie()
print(cerc)

12. Fie functiile definite pe intervalul [0,5]:

Y1=x/x3-2

Y2=e-xcos2pix

Y3=xsinx(x2+1)

Desenati in aceeasi figura toate cele trei grafice cu tipuri de linii diferite pt punctele pe grafic. Adaugati
titlu, legenda si etichetati axele.

from pylab import *

x=linspace(0,5,50)

f=figure(figsize=(10,8))

y1=x/((x**3)-2)

y2=exp(-x)*cos(2*pi*x)

y3=x*sin((x**2)+1)
f.add_subplot(311)

plot(y1,'g-',label=r'$y1=x/((x^3)-2)$')

legend(loc='lower right')

title('grafic 1')

xlabel('x',labelpad=-10)

ylabel('y')

tight_layout(2)

f.add_subplot(312)

plot(y2,'r--',label=r'$y1=x/((x^3)-2)$')

legend(loc='upper right')

title('grafic 2')

xlabel('x',labelpad=-10)

ylabel('y')

f.add_subplot(313)

plot(y3,'y-.',label=r'$x*sin((x^2)+1)$')

legend(loc='lower left')

title('grafic 3')

xlabel('x',labelpad=-10)

ylabel('y')

13. Creati z-un numpy array de 5 linii si 7 coloane plin de 0. Folosind slicing z[start:stop:step:], scrieti
comenzile astfel incat z=array([[0 1 0 1 0 1 0]

[1 0 1 0 1 0 1]

[0 1 0 1 0 1 0]

[1 0 1 0 1 0 1]

[0 1 0 1 0 1 0]])

from pylab import *

z=zeros((5,7),dtype=int)
z[::2,1::2]=1

z[1::2,::2]=1

print(z)

sauu:

a=array([[0,1],[1,0]])

c=tile(a,(4,4))

14. from pylab import *

x=linspace(0,5,20)

subplot(2,2,2)

plot(x,x*sin(1/x),'r--',marker='s')

xlabel('x')

ylabel('y')

text(2.5,0.1,'grafic')

subplot(2,2,3)

plot(x,exp(-x)*cos(2*pi*x),marker='^')

15. Scrieti urmatorul script:


Importati pachetul numpy. Creati x, un array de 5 linii si 8 coloane folosind functia random(). Selectati
si afisati ultimele 3 coloane. Setati fiecare al 2-lea element din coloanele 1,3 si 5 la valoarea 100 si
afisati.

from pylab import *

import numpy

from numpy import random

x=arange(40).reshape(5,8)

print(x)

print(x[::,5::])

x[1::2,1:7:2]=100

print(x)

16.

from pylab import *

font={'family':'serif','color':'blue','size':16}

x=linspace(0.0,5.0,100)

y=cos(2*pi*x)*exp(-x)

plot(x,y,'k')

title('Exercitiu:primul grafic',fontdict=font)

text(2,0.65,r'$cos(2\pi t)\exp(-t)$',fontdict=font)

xlabel('time (s)',fontdict=font)
ylabel('voltage (mV)',fontdict=font)

subplots_adjust(left=0.15)

17. Creati x, un arrat de 5 linii si 6 coloane folosind functia random(). Folositi acest array x pt a crea un
DataFrame. Redenumiti coloanele cu nume de orase. Selectati si afisati coloanele 3 si 4. Setati fiecare
al doilea element din linia 4 la valoarea NaN si afisati. Stergeti ultima linie.

from pylab import *

from numpy import random

from pandas import DataFrame

#x=random.randn(5,6)

x=arange(30).reshape(5,6)

orase=['Ohio','Utah','LA','NY','San Francisco','Miami']

d=DataFrame(x,columns=orase)

print(d)

print(d.loc['0':'4','NY'])

print(d.loc['0':'4','San Francisco'])

d.loc[4,::2]=4

print(d)

d.drop(d.tail(1).index,inplace=True)

print(d)

Grafic-exemple

from pylab import *

import matplotlib.pyplot as plt


t =arange(0.01,6.3,0.01)

s =sin(t)

s1=sin(t)**3

s2=sin(t)**2

fig, ax = subplots(figsize=(20,10))

ax.plot(t,s)

ax.set_xlim([0,8])

ax.set_ylim([-1,1])

ax.tick_params(labelcolor='r', labelsize='small', width=1)

plt.xticks([0,1,2,3,4,5,6,7])

plt.yticks([-1,-0.8,-0.6,-0.4,-0.2,0,0.2,0.4,0.6,0.8,1])

ax.set_xlabel('t')

ax.set_ylabel('sin(t)')

ax2=fig.add_axes([0.2,0.2,0.15,0.15])

ax2.set_xlim([0,10])

ax2.set_ylim([-1,1])

ax2.set_xlabel('t')

ax2.set_ylabel(r'$(sin(t))^3$')

ax2.plot(t,s1)

ax3=fig.add_axes([0.5,0.6,0.15,0.15])

ax3.plot(t,s2)

ax3.set_xlim([0,10])

ax3.set_ylim([0,1])

plt.xticks([0,5,10])

ax3.set_xlabel('t')

ax3.set_ylabel(r'$(sin(t))^2$')
ax3.fill_between(t,s2,0,color='green')

plt.show()

S-ar putea să vă placă și