Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %
- clear
- clc
- ch = log(2)/log(1.1); % вычисление логорифмов log(2)/log(1.1) = lg 1.1(2)
- % function [входные аргументы] = имя (выходные аргументы)
- % от 1 до 10^3 вывести числа
- clear
- clc
- for k = 1:1000
- if isPrime(k)
- disp(k);
- end
- end
- % в фаиле скрипте всегда пишем функции под исполняемым кодом
- % функции можно сохранять в файлах
- % ugly(1,1,1) - функция углы описана ниже, а вызывается выше
- clear
- clc
- ugly(1,1,1)
- % MySort(Mass1); - функция сортировки пузырьком
- clear
- clc
- Mass1 = rand(1,10000);
- Mass2 = Mass1;
- tic; % tic - начало измерения времени
- MySort(Mass1);
- t1 =toc; % toc - завершение измерения времени
- tic;
- sort(Mass2);
- t2=toc;
- disp(['Быстрее в ', num2str(t1/t2)]);
- % график
- clear
- clc
- close all % закрывает все графические окна перед запуском нового окна
- t = 0:0.01:10;
- x = sin(t)+0.1*(rand(size(t))-1/2)*2;
- plot(t,x);
- hold on % включает наложение графиков
- grid on % включает сетку
- SglazhennyiMassiv = sliding_av(x,10);
- plot(t,SglazhennyiMassiv);
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % ниже описаны исполняемы функции
- function [y]= sliding_av(x,w) % функция выравнивания графика где x - это массив, w - это шаг диапозон сглаживания
- for k=1:length(x)
- d_s = max(k-w,1);
- d_e = min(k+w,length(x));
- y(k)= mean(x(d_s:d_e)); % mean(x) - берет среднее от массива
- % при X = 50 d_s = 40 d_e = 60 mean(x(d_s:d_e)) - это среднее в
- % диапозоне от d_s до d_e
- end
- end
- function [x]= MySort(x) % функция сортировки
- for N = length(x):-1:2
- for k = 1:N-1
- if x(k)>x(k+1)
- buf = x(k+1);
- x(k+1)=x(k);
- x(k)=buf;
- end
- end
- end
- end
- function[AcosX] = my_cos(X,Y,Z)
- cosX = (Y^2+Z^2-X^2)/(2*Y*Z);
- AcosX = rad2deg(acos(cosX));
- end
- function ugly(A,B,C)
- Max = max([A,B,C]); % ищет максимум в массиве
- Summ = sum([A,B,C]); % суммирует все числа массива
- bool_ = Max > Summ - Max;
- if bool_
- disp('Не существует');
- else
- ugA = my_cos(A,B,C);
- ugB = my_cos(B,C,A);
- ugC = my_cos(C,A,B);
- disp(['ugA=', num2str(ugA),' ugB=', num2str(ugB),' ugC=', num2str(ugC),]);
- end
- end
- function [isP] = isPrime(N) % создание функции
- isP = true;
- for k=2:sqrt(N)
- if mod(N,k) == 0
- isP = ~isP;
- return
- end
- end
- end
- function [num] = my_max(A,B) % создание функции
- if A>B
- num = 1;
- elseif A<B
- num = 2;
- else
- num = 'равны';
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement