c语言打印跳动的图案,c语言程序设计-跳动的三角形
匿名用户
1级
2018-11-18 回答
clear all
close all
%channel system order
sysorder = 5 ;
% Number of system points
N=2000;
inp = randn(N,1);
n = randn(N,1);
[b,a] = butter(2,0.25);
Gz = tf(b,a,-1);
%This function is submitted to make inverse Z-transform (Matlab central file exchange)
%The first sysorder weight value
%h=ldiv(b,a,sysorder)';
% if you use ldiv this will give h :filter weights to be
h= [0.0976;
0.2873;
0.3360;
0.2210;
0.0964;];
y = lsim(Gz,inp);
%add some noise
n = n * std(y)/(10*std(n));
d = y + n;
totallength=size(d,1);
%Take 60 points for training
N=60 ;
%begin of algorithm
w = zeros ( sysorder , 1 ) ;
for n = sysorder : N
u = inp(n:-1:n-sysorder+1) ;
y(n)= w' * u;
e(n) = d(n) - y(n) ;
% Start with big mu for speeding the convergence then slow down to reach the correct weights
if n < 20
mu=0.32;
else
mu=0.15;
end
w = w + mu * u * e(n) ;
end
%check of results
for n = N+1 : totallength
u = inp(n:-1:n-sysorder+1) ;
y(n) = w' * u ;
e(n) = d(n) - y(n) ;
end
hold on
plot(d)
plot(y,'r');
title('System output') ;
xlabel('Samples')
ylabel('True and estimated output')
figure
semilogy((abs(e))) ;
title('Error curve') ;
xlabel('Samples')
ylabel('Error value')
figure
plot(h, 'k+')
hold on
plot(w, 'r*')
legend('Actual weights','Estimated weights')
title('Comparison of the actual weights and the estimated weights') ;
axis([0 6 0.05 0.35])
% RLS 算法
randn('seed', 0) ;
rand('seed', 0) ;
NoOfData = 8000 ; % Set no of data points used for training
Order = 32 ; % Set the adaptive filter order
Lambda = 0.98 ; % Set the forgetting factor
Delta = 0.001 ; % R initialized to Delta*I
x = randn(NoOfData, 1) ;% Input assumed to be white
h = rand(Order, 1) ; % System picked randomly
d = filter(h, 1, x) ; % Generate output (desired signal)
% Initialize RLS
P = Delta * eye ( Order, Order ) ;
w = zeros ( Order, 1 ) ;
% RLS Adaptation
for n = Order : NoOfData ;
u = x(n:-1:n-Order+1) ;
pi_ = u' * P ;
k = Lambda + pi_ * u ;
K = pi_'/k;
e(n) = d(n) - w' * u ;
w = w + K * e(n) ;
PPrime = K * pi_ ;
P = ( P - PPrime ) / Lambda ;
w_err(n) = norm(h - w) ;
end ;
% Plot results
figure ;
plot(20*log10(abs(e))) ;
title('Learning Curve') ;
xlabel('Iteration Number') ;
ylabel('Output Estimation Error in dB') ;
figure ;
semilogy(w_err) ;
title('Weight Estimation Error') ;
xlabel('Iteration Number') ;
ylabel('Weight Error in dB') ;
c语言打印跳动的图案,c语言程序设计-跳动的三角形相关推荐
- c语言打印空心矩形图案的程序,C语言之输出空心棱形图案
#include #include void main() { int n,j,i; /*i为行数,j为每行中的项数*/ printf("输入图案上三角的高度n:"); scanf ...
- 使用Java语言打印一个爱心图案
我们可以使用Java的输出语句来打印一个爱心图案.下面是一个简单的爱心图案的Java程序: public class PrintLove {public static void main(String ...
- C语言 打印小飞机的图案
大家好!今天来打印小飞机的图案.主要是空格输入和转义字符的理解. : 还可以一次性打印: 希望对你有所启发!!!^__^ 拟把疏狂图一醉:对酒当歌,强乐还无味. ------------刘永<蝶 ...
- 用C语言打印棱形图案
我们可以使用C语言中的循环打印一个棱形图案,如下图 这种题目就是判断行.列.每一行的空格数.每一行的*数的数量规律,我们可以在纸上稍微算一下,分上下两部分打印,此时思路就清晰很多! 1.我们打印任意行 ...
- 模仿下列程序自己打印一个趣味图案c语言,趣味程序导学C语言(28页)-原创力文档...
C 趣味程序导学 语言 (请到附件里下载源代码与课件) 电脑游戏,一个熟悉而诱人的字眼,常常不经意地浮现在我们的脑海当中. 有梦幻神奇的 <传奇>,有惊险刺激的 <反恐精英>, ...
- 使用C语言打印不同星号图案(矩形 平行四边形 三角形)
献给大一或大二的学弟学妹们和在自学 C语言的同志们. 打印自定义行数的矩形 打印效果: 参考代码: #include<stdio.h> int main() {int i,j,n;prin ...
- c语言打印空心矩形图案的程序,C语言空心菱形 *号打印图形
//1.空心菱形 运行结果: 代码实现: int line = 0, m = 0; printf("请输入行数:\n"); scanf("%d", &l ...
- c语言间隔输出菱形图案,c语言输出菱形图案
c语言输出菱形图案app,专为想学习编程的伙伴们提供的学习软件.在c语言输出菱形图案app中你可查看各类关于IT的相关信息,体验一对一即时在线答疑咨询服务,以及在线上课.看教学视频等. 基本简介 c语 ...
- c语言打印树形图形,数据结构C语言版树形结构.ppt
数据结构C语言版树形结构 St中元素 算法执行的操作 ch AC k=2 , AC 建立E结点,因k=1,将其作为C结点的左孩子结点 E AC C结点进栈,k=1 ( A 建立C结点,因k=2,将其作 ...
最新文章
- vue 封装dialog_element-dialog封装成子组件
- ECCV 2020 论文大盘点-6D 位姿估计篇
- 用深度学习就不怕买到山寨奢侈品?LeCun投了这样一家公司
- TCP全局同步问题发生的原因
- jmeter(十一)JDBC Request之Query Type
- linux 0x00,linux 学习笔记0x00
- php csv 简单的导入
- Android和.NET通用的AES算法 (转) 好东东 收藏一下
- 如何在 Windows 上安装多个 MySQL,实现 MySQL 跨电脑移植使用
- boost 线程 linux,Boost Linux线程第一课
- Java编程——九九乘法表
- 用谷歌浏览器如何下载哔哩哔哩中的视频
- ACCESS集团VTN 引领跨境电商新机遇 助力海外品牌找到增长突破口
- 592. 分数加减运算 : 表达式计算入门题
- 男人哭了,是因为他真的爱了
- 关于文件关联的图标不能正常显示
- noindex如何使用?
- 循环神经网络-高级篇RNN Classifier
- mlp原来是这么回事
- 电子电路复习之零点漂移现象