KOLOKWIUM ZALICZENIOWE wykładu z Informatyki w Elektrotechnice
Nazwisko, imię studenta: ..……………………….................................... Nr albumu ............................
a = suma cyfr albumu studenta = .............
15 punktów 1. Napisz funkcję
function [x1,x2 ] = zad1rkw
czytającą dane z klawiatury, obliczająca pierwiastki, rysującą wykres w zadanym przedziale i wyprowadzającą wartości pierwiastków na ekran za pomocą fprintf.
function [x1,x2] = zad1rkw
% niech y=ax^2+bx+c
a = input('podaj a = ');
b = input('podaj b = ');
c = input('podaj c = ');
delta=b*b-4*a*c;
if a~=0
x1 = (-b - sqrt(delta))/(2*a) ;
x2 = (-b + sqrt(delta))/(2*a);
fprintf ('x1 = %1.5f+(%1.5f)j\n' , real(x1), imag(x1));
fprintf ('x2 = %1.5f+(%1.5f)j\n' , real(x2), imag(x2));
p = input('podaj x poczatkowe wykresu = ');
k = input('podaj x koncowe wykresu = ');
x = p:0.01:k;
y = a*x.^2+b*x+c;
plot (x,y); grid on;
else
disp ('funkcja nie jest rownaniem kwadratowym')
end
return
20 punktów 2. Napisz dwie funkcje.
function [par]=zad2dat
czytającą z klawiatury współczynniki wielomianu 3 stopnia i zapamiętującą wczytane wartości w postaci macierzy.
function zad2obl
czytającą za pomocą funkcji feval parametry wielomianu (zdefiniowane w funkcji zad2dat), a następnie obliczającą miejsca zerowe tego wielomianu. Zespolone rozwiązania należy wyprowadzić do pliku tekstowego.
function [par] = zad2dat
%Wielmomian 3 stopnia ma postac: a4*x^3+a3*x^2+a2*x+a1
a(4) = input ('Podaj a4 = ');
a(3) = input ('Podaj a3 = ');
a(2) = input ('Podaj a2 = ');
a(1) = input ('Podaj a1 = ');
par=[a(4) a(3) a(2) a(1)];
fid=fopen('par2dat.m','w');
fprintf(fid,'a3=%1.4f a2=%1.4f a1=%1.4f a0=%1.4f',... a(4),a(3),a(2),a(1)); %to musi byc w linijce wyzej
fclose(fid);
return
function zad2obl
parametry= feval ('zad2dat');
mzer = roots (parametry);
fd = fopen ('zad2OUT.m' , 'w');
fprintf ( fd , ' x1 = %1.4f+(%1.4f)j x2 = %1.4f+%(1.4f)j...
x3 = %1.4f+%(1.4f)j',...
real(mzer(1)), imag(mzer(1)),real(mzer(2)), imag(mzer(2)), real(mzer(3)), imag(mzer(3)));
fclose(fd);
return
15 punktów 3. Napisz funkcję
function [x]=zad3moce(a)
wyznaczającą 3-fazowe napięcia, prądy i moc odbiornika, a następnie wykonujacą wektorowe wykresy napięć, prądów i mocy 3-fazowych z wykorzystaniem subplot i compass.
Trochę mało danych.
Napisz funkcję function [x] = zad3moce(a) wyznaczającą 3-fazowe napięcia, prądy i moc odbiornika. Wykorzystaj podstawienie j = sqrt (-1). Napięcia i prądy dane są w postaci wektorów kolumnowych: U = [ 200 + j*a; 200 -j *a ; 231 ] V; I = [ a + j *a; a-j *a ; a] A.
Otwórz plik tekstowy zad3OUT.m i zapisz w nim wartości mocy czynnych i biernych w poszczególnych fazach ( z opisem faza A(B,C): P = ….. kW, Q = kvar, z dokładnością do 1 W (1 var).
Wykonaj wektorowe wykresy napięć , prądów i mocy 3 - fazowych z wykorzystaniem subplot i compass:
function zad3moce
a = input ('Podaj a = ');
j = sqrt (-1) ;
U = [ 200+j*a; 200-j*a ; 231 ];
I = [ a+j*a; a-j*a ; a];
P = real (U .* conj(I) );
Q =imag (U .* conj(I) );
fid = fopen ('zad3OUT.m','w');
fprintf(fid, 'faza A: P=%1.3fkW Q=%1.3fkvar\n',...
P(1)/1000,Q(1)/1000);
fprintf(fid, 'faza B: P=%1.3fkW Q=%1.3fkvar\n',...
P(2)/1000, Q(2)/1000);
fprintf(fid, 'faza C: P=%1.3fkW Q=%1.3fkvar\n',...
P(3)/1000, Q(3)/1000);
fclose(fid);
subplot (2,2,1) ; compass (U); title ( 'napiecia fazowe' );
subplot (2,2,2) ; compass (I); title ( ' prady fazowe' );
subplot (2,2,3); compass (P); title ('moc czynna ') ;
subplot (2,2,4) ; compass (Q); title (' moc bierna ');
return
PRACA MUSI BYĆ ODDANA BEZ ŚKREŚLEŃ
ocena = suma_punktów/10 = .................. =