MATLAB里产生平滑函数的问题
:
#产生一个随机初相信号X(t) = 5*cos(t+φ)
最终程序
clc;clear
x = zeros(0,6);
L = unifrnd(0,2pi,1,3);
for k = 1:3
t = 1:0.1:100;
y = 5cos(t + L(k));
values = spcrv([[t(1) t t(end)];[y(1) y y(end)]],3);
plot(values(1,:),values(2,:));
hold on;
end
xlabel(‘t’);ylabel(‘x(t)’);
grid on; axis tight;
title(‘随机初相信号的三条样本曲线’);
一些函数
1.关于unifrnd
L = unifrnd(0,2pi,1,3);
表示生成一个13的矩阵,参数范围(0,2pi)
2.关于循环
t = 1:0.1:100;
若使用
for t = 1:100
…
end
后面曲线无法生成,原因是这样步长还有随机数的大小都是杂乱的,导致spcrv时出现错误
3.关于spcrv,典型用法
values = spcrv([[t(1) t t(end)];[y(1) y y(end)]],3);
plot(values(1,:),values(2,:));直接plot只能生成折线图
#spcrv测试程序
clc;clear;
x = 0:0.1:0.5*pi;
y = cos(x);
values = spcrv([[x(1) x x(end)];[y(1) y y(end)]],3);
plot(values(1,:),values(2,:));
hold on;
grid on;axis tight;