Висше военноморско училище



страница2/4
Дата03.01.2022
Размер270.5 Kb.
#111636
1   2   3   4
bilet 1
Свързани:
bilet 1 Octave bg, bilet 1 Octave bg
Решение на билет No 1
1. За версии на Matlab след 2012:

От Home таб се избират:

Clear Workspace

Clear Commands/ Command Window

Clear Commands/ Command History
За версии на Matlab до 2012:

От менюто Edit избираме:


Edit/Clear Command Window

Edit/Clear Command History

Edit/Clear Workspace
2.В Command Window пишем:

>>diary ‘Nedjibov_092422_1.txt’


и се създава празен файл файл с име Nedjibov_092422_1.txt в работната директория на Matlab .
3.В Command Window да се дефинират и изчисляват:

>>x=5
x =


5

>>y=3


y=
3

>> a=10
a =


10

>> log(x)


ans =
1.6094

>> pi*exp(2)


ans =
23.2134

>> (2^(x+y)+a)/(sqrt(x+y)*2^x)*(x-a)

ans =
-14.6946
>> syms z

>> diff(10*z^3-sqrt(z))

ans =

30*z^2-1/2/z^(1/2)



>> syms x

>> limit(sqrt(x^2+2)/(3*x+6),x,inf)

ans =

1/3


>> syms z

>> int((z^3-5*z)/(z+5)^(1/3),'z')

ans =

3/11*(z+5)^(11/3)-45/8*(z+5)^(8/3)+42*(z+5)^(5/3)-150*(z+5)^(2/3)



4.В Command Window задаваме два масива с произволни числа:

>> a=[3 5 78 0 -4]


a =
3 5 78 0 -4

>> b=[3 4 7 56 1]


b =
3 4 7 56 1
-дясно деление поелементно на а и b:

>> a./b
ans =


1.0000 1.2500 11.1429 0 -4.0000

-ляво деление поелементно на а и b:

>> a.\b

Warning: Divide by zero.

(Type "warning off MATLAB:divideByZero" to suppress this warning.)
ans =
1.0000 0.8000 0.0897 Inf -0.2500
- умножение на a и b, като резултатът е 1 число

>> a*transpose(b)


ans =
571
-поелементно умножение на a и b-1:

>> a.*(b.^-1 )


ans =
1.0000 1.2500 11.1429 0 -4.0000
5.В Command Window въвеждаме масив alpha със стойности 30,60,90:

>> alpha=[30 60 90]


alpha =
30 60 90

-синус от alpha:

>> sind(alpha)
ans =
0.5000 0.8660 1.0000
-косинус от alpha:

>> cosd(alpha)


ans =
0.8660 0.5000 0.0000

-тангенс от alpha:

>> tand(alpha)
ans =

0.5774 1.7321 Inf


-котангенс от alpha:

>>cotd(alpha)


ans =
1.7321 0.5774 0.0000
- да се пресметне аркустангенс от 1, като резултатът се изведе в градуси

>> atand(1)


ans =
45
6. В Command Window задаваме матрица М с размерност 3х3 с помощта на magic:

>> M=magic(3)


M =

8 1 6


3 5 7

4 9 2


-Намираме натурален логаритъм на матрицата М:

>> log(M)


ans =
2.0794 0 1.7918

1.0986 1.6094 1.9459

1.3863 2.1972 0.6931
-Намираме корен квадратен на матрицата М:

>> sqrt(M)


ans =
2.8284 1.0000 2.4495

1.7321 2.2361 2.6458

2.0000 3.0000 1.4142

-Повдигаме на трета степен елементите на матрицата М:

>> M.^3
ans=
512 1 216

27 125 343

64 729 8
-Намираме минималният елемент на матрицата М:

>> min(M)


ans =
3 1 2
>>min(min(M))
ans =
1

-Намираме максималният елемент на матрицата М:

>> max(M)
ans =
8 9 7
>> max(max(M))
ans =
9

-Намираме детерминантата на матрицата М:

>> det(M)
ans =
-360
7.В Command Window задаваме:

>> z=2.3+4.5*i


z =
2.3000 + 4.5000i
-намираме комплексно-спрегнатото число на z

>> conj(z)


ans =
2.3000 - 4.5000i
-Намираме модула на z:

>> abs(z)


ans =
5.0537
-Намираме реалната част на z:

>> real(z)


ans =
2.3000

-Намираме имагинерната част на z:

>> imag(z)
ans =
4.5000
8.В Command Window въвеждаме:

>> m=5.2
m =


5.2000
>> q=-5.5
q =
-5.5000

а)отрязване на дробната им част:

>> fix([m q z])
ans =
5.0000 -5.0000 2.0000 + 4.0000i
б)да се закръглят до най-малкото цяло число:

>> floor([m q z])


ans =
5.0000 -6.0000 2.0000 + 4.0000i
9. Програмата се въвежда в m-файл. За целта от Home-таба се стартира New Script. В отворения редактор се въвежда текста на програмата:
m=input('Vavedi otricatelno chislo m: ')

n=input('Vavedi otricatelno chislo n: ')

if m>=0 | n>=0

error('Chislata triabwa da sa otricatelni')

end

if mod(m,2)==0



m=m*3

else


n=n*2

end


disp(' m n')

disp([m n])


Общ вид на програмата в редактора:

След това програмата се записва под определено име – например bilet1.m и се изпълнява. Изпълнението може да стане с бутона Run от редактора или след написване на името на програмата в Command Window и натискане на Enter. По-долу е показан резултатът от стартирането й в Command Window:
>> bilet1

Vavedi otricatelno chislo m: -3


m =
-3
Vavedi otricatelno chislo n: -4
n =
-4

n =
-8


m n

-3 -8
Стартиране на програмата като зададем m положително число.

>> bilet1

Vavedi otricatelno chislo m: 8


m =
8
Vavedi otricatelno chislo n: 0
n =
0
??? Error using ==> bilet1

Chislata triabwa da sa otricatelni


10.От панела Workspace натискаме два пъти с левия бутон на мишката върху името на масива а и той се отваря в Variable Editor. Изтриват се две от клетките на масива подобно на работата в Excel и той вече има 3 вместо 5 стойности.

След това в Command Window въвеждаме:

>> a=transpose(a)

a =
3

5

78


-Решаваме уравнението М.х=а:

>> x=M\a
x =


4.7028

8.1611


-7.1306
-Проверка на решението:

>> M*x
ans =


3.0000

5.0000


78.0000
11.В Command Window съставяме масив Т с число от 1 до 32:

>> T=[1:32]


T =
Columns 1 through 10
1 2 3 4 5 6 7 8 9 10
Columns 11 through 20
11 12 13 14 15 16 17 18 19 20
Columns 21 through 30
21 22 23 24 25 26 27 28 29 30
Columns 31 through 32
31 32

-Намираме спектъра на Фурие на масива Т:

s=fft(T)
s =
1.0e+002 *
Columns 1 through 3
5.2800 -0.1600 + 1.6245i -0.1600 + 0.8044i
Columns 4 through 6
-0.1600 + 0.5274i -0.1600 + 0.3863i -0.1600 + 0.2993i
Columns 7 through 9
-0.1600 + 0.2395i -0.1600 + 0.1950i -0.1600 + 0.1600i
Columns 10 through 12
-0.1600 + 0.1313i -0.1600 + 0.1069i -0.1600 + 0.0855i
Columns 13 through 15
-0.1600 + 0.0663i -0.1600 + 0.0485i -0.1600 + 0.0318i
Columns 16 through 18
-0.1600 + 0.0158i -0.1600 -0.1600 - 0.0158i
Columns 19 through 21
-0.1600 - 0.0318i -0.1600 - 0.0485i -0.1600 - 0.0663i
Columns 22 through 24
-0.1600 - 0.0855i -0.1600 - 0.1069i -0.1600 - 0.1313i
Columns 25 through 27
-0.1600 - 0.1600i -0.1600 - 0.1950i -0.1600 - 0.2395i
Columns 28 through 30
-0.1600 - 0.2993i -0.1600 - 0.3863i -0.1600 - 0.5274i
Columns 31 through 32
-0.1600 - 0.8044i -0.1600 - 1.6245i

12.В Command Window пишем simulink и натискаме Enter. Отваря се прозореца Simulink Library Browser. В бялото текстово поле вдясно от бутона Find, пишем името или част от името на първия блок от схемата.

Примерно: въвеждаме Sine Wave или само Sine и натискаме Enter или бутона Search - той има форма на бинокъл и под него пише Search for subsystems and blocks by name (enter at least 2 characters). Показва се селектиран блок. Ако не е този блокът, който търсим, отново натискаме Enter или бутона Search. Когато намерим търсения блок– в случая Sine Wave, натискаме десен бутон върху него и избираме командата Add to a new model. Отваря се нов прозорец, в който автоматично се позиционира избраният блок. В този прозорец на модела ще начертаем схемата. Същите действия по търсене и поставяне на блока в прозореца на модела извършваме и за останалите три блока: Integrator, Mux и Scope, като командата Add to a new model вече се е променила в Add to untitled.

Свързваме блоковете по указания в задачата начин. Получаваме:



След това стартираме симулацията – от менюто Simulation избираме опцията Start, за Matlab 2013 - Run .

За да проверим резултата от симулацията натискаме два пъти с левия бутон на мишката върху Scope, при което се визуализира графиката на осцилоскопа.

Натискаме върху черния екран на Scope десния бутон на мишката и избираме опцията Autoscale. В резултат се показва:



За да съхраним файла от прозореца на схемата избираме менюто File/Save as, въвеждаме име на файла и натискаме Save. За Matlab 2012 и по-висока версия се избира формат на файла .slx или .mdl.
13.Да се решат:

а) x3 – 5x – 1=0. Да се провери получения резултат.

I начин:

>> syms x

>> solve('x^3-5*x-1=0')

ans =


[ 1/6*(108+12*i*1419^(1/2))^(1/3)+10/(108+12*i*1419^(1/2))^(1/3)]

[ -1/12*(108+12*i*1419^(1/2))^(1/3)-5/(108+12*i*1419^(1/2))^(1/3)+1/2*i*3^(1/2)*(1/6*(108+12*i*1419^(1/2))^(1/3)-10/(108+12*i*1419^(1/2))^(1/3))]

[ -1/12*(108+12*i*1419^(1/2))^(1/3)-5/(108+12*i*1419^(1/2))^(1/3)-1/2*i*3^(1/2)*(1/6*(108+12*i*1419^(1/2))^(1/3)-10/(108+12*i*1419^(1/2))^(1/3))]
II начин:

>> coef=[1 0 -5 -1]


coef =
1 0 -5 -1
>> koreni=roots(coef)
koreni =
2.3301

-2.1284


-0.2016
Проверка:

>> coef2=poly(koreni)


coef2 =
1.0000 -0.0000 -5.0000 -1.0000
Вижда се, че coef2=coef, т.е. решението е вярно.
б) да се намери минимума на функцията f(x)= x3 – 5x – 1

1.Изчертава се графиката на функцията за да се уточни интервала, където функцията има минимум - може с ezplot, както е показано по-долу

>> syms x y

>> y=x^3-5*x-1

y =

x^3-5*x-1



>> ezplot(y)

Вижда се, че минимумът на функцията може да се търси в [0, 2].


2. Дефинира се функцията f(x). Използванa е променлива y :



Сподели с приятели:
1   2   3   4




©obuch.info 2024
отнасят до администрацията

    Начална страница