Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2015, 22:33   #1
orandzheviyman
Пользователь
 
Регистрация: 11.11.2013
Сообщений: 74
По умолчанию Matlab

Есть код, который должен работать (из метод. указаний)
Код:
clc; clear;
t1 = -pi/2; t2 = pi/2;
syms X1 X2 X3 Y t
X1 = 1; X2 = sin(t); X3 = cos(t); Y = pi/2+t;
disp 'Исходный набор функций'
X = [X1 X2 X3]
disp 'Матрица Грама'
G_X = vpa(int(X'*X, t1, t2), 5)
if vpa(det(G_X), 4) ~= 0
    disp 'Невырожденная функция'
    det_G = vpa (det(G_X), 6)
end;
%Получение ортонормированного базиса по Граму-Шмидту
U1 = X1/sqrt(G_X(1, 1));
temp = X2-int(X2*U1, t1,t2)*U1;
U2 = temp/sqrt(int(temp^2, t1, t2));
temp = X3 - int(X3*U1, t1, t2)*U1 - int(X3*U2, t1, t2)*U2;
U3 = temp/sqrt(int(temp^2, t1, t2));
disp 'Ортонормированный базис'
U = vpa([U1 U2 U3], 3)
U = transpose ([U1 U2 U3]);
G_U = vpa(int(U*U', t1, t2), 2)
%Построение графиков исходного и ортонормированного базисов
time = subs(t, t1:0.01:t2);
plot(time, [subs(X1, time); subs(X2, time); subs(X3, time)]); grid on;
hold on
plot(time, [subs(U1, time); subs(U2, time); subs(U3, time)],'.' );
legend('X1 & U1', 'X2 & U2', 'X3 & U3')
figure
%Вычисление координат проекций и самих проекций сигналов в базисах
v = [int(Y*X1, t1, t2) int(Y*X2, t1, t2) int(Y*X3, t1, t2)]';
alpha = vpa(G_X^-1*v, 3) %Координаты проекции в исходном базисе
w = [int(Y*U1, t1, t2) int(Y*U2, t1, t2) int(Y*U3, t1, t2)]
betta = vpa(G_U^-1*w, 3) %Координаты проекции в ортонормированном базисе
Pr_Y_X = vpa(alpha(1)*X1 + alpha(2)*X2 + alpha(3)*X3, 3)
Pr_Y_U = vpa(betta(1)*U1 + betta(2)*U2 + betta(3)*U3, 3)
%Энергетические параметров сигнала, проекций и ошибок проекций
Enr_y = vpa(int(Y*Y, t1, t2), 3) %Энергия сигнала Y
Enr_Pr_Y_X = vpa(int(Pr_Y_X*Pr_Y_X, t1, t2), 3)
Enr_Pr_Y_U = vpa(int(Pr_Y_U*Pr_Y_U, t1, t2), 3)
Err_X_t = vpa(Y-Pr_Y_X, 3)
Err_U_t = vpa(Y-Pr_Y_U, 3)
Enr_Err_Y_X = vpa(int(Err_X_t*Err_X_t, t1, t2), 3)
Enr_Err_Y_U = vpa(int(Err_U_t*Err_U_t, t1, t2), 3)
time = subs(t, t1:0.01:t2);
plot(time, [subs(Y, time); subs(Pr_Y_X, time);...
    subs(Pr_Y_U, time); subs(Err_X_t, time)]); grid on
Но он не работает. Подскажите, пожалуйста.
orandzheviyman вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Matlab Westen Помощь студентам 0 20.11.2014 14:12
MATLAB! TurboYar Помощь студентам 0 16.12.2012 16:24
MatLab kms12rus Фриланс 0 21.12.2011 14:12
MATLAB tatysya Помощь студентам 3 11.01.2011 19:18
Matlab SKS Свободное общение 3 15.12.2009 01:15