任务 最小二乘法属于曲线拟合的方法之一。 复习《计算方法》时,在图书馆借阅的一本教辅上提供了两种实现方法,我好奇是否有何不同。 (并且发现matlab中矩阵的运算与最小二乘法也相关) 最终发现二者求解得到的多项式系数A相同 法一:Ga=d 通过不断将提供数据项代入x阶次逐渐提高的拟合公式P(x)=a0+a1x+a2x^2中,得到矩阵G,向量d,通过矩阵运算求得系数A 在matlab中求上述a,用左除:a=G\d code 在实现书上的例子时,发现解得系数与答案不一致,通过计算误差可知书上有误 法二:ATAx=ATb 这个方法很神奇,由于提供数据组数超过唯一确定多项式P(x)的模数,固得到的m>n的矩阵为超定方程组的求解 通过将方程组两边同乘A的转置,将x左边转变为方阵,实现x的求解 code 可以验证,这里运算得到的x与上个方法得到的A是完全相同的。 matlab中的矩阵算法 中文: matlab 在这里的求解与严格的数学意义是不同的 如果 A 接近奇异,matlab 仍会给出合理的结果,但也会提示警告信息; 如果 A 为方阵,如果解存在的话,x = A\B 的解就是 Ax=B(代入就会成立) 如果 A 不为方阵,返回的是 Ax=B 的最小二乘解; 参考资料 《数值计算方法与实验学习指导》左军 谢东秀 matlab 求解 Ax=B 时所用算法
Tag: matlab
matlab处理音频文件——语音识别实例
任务 教科书式的信号处理偏理论,不妨尝试现实中的音频文件,与实践接轨。 在工具包Signal Processing Toolbox的文档示例中有Find a Signal in a Measurement,通过相关xcorr()的计算找到一段数据中是否存在指定信号:与匹配滤波器的原理相一致。 导入音频文件 根据matlab提供丰富的文档说明: audioinfo(FilePath) 显示路径为FilePath文件的相应信息,例如第一个输出为如下所示,已知的信息如:压缩方式为’AAC’、2个声道、采样频率为48000Hz(1s采样48000次)、时长为44.0319、样本总数量2113532(采样频率*时长) wholeInfo = 包含以下字段的 struct: Filename: ‘C:\Users\cascara\Documents\录音\paragraph.m4a’ CompressionMethod: ‘AAC’ NumChannels: 2 SampleRate: 48000 TotalSamples: 2113532 Duration: 44.0319 Title: ‘paragraph’ Comment: [] Artist: [] BitRate: 199.3600 [y,Fs] = audioread(FilePath); 将文件路径FilePath对应的音频文件的样本y及频率Fs读取 sound(y,Fs) 电脑的扬声器播放音频的形式将读取的数据展示出来。 分离声道 首先用采样数量length(y)除以采样频率获得时间尺度,以1/Fs为分度值。 channel1=y(:,1); 已知音频数据包含两个声道,直接绘制图像可看到两种颜色的叠加。由matlab的语法,将矩阵进行切片,以提取两个声道的数据。 假设一个矩阵A A(1,:) %输出A矩阵的第一行 A(:,1) %输出A矩阵的第一列 A(1:2, 2:3)… Continue reading matlab处理音频文件——语音识别实例
匹配滤波器
信号矢量空间 空间是指赋予某种数学结构的集合 引入线性运算的矢量集合 线性空间 引入矢量长度“范数” 线性赋范空间 引入矢量间相互关系“内积” 内积空间 不同的空间具有相应数学运算规则、定理。信号的能量与矢量空间的长度可以类比,对于常用的范数||·||1、||·||2、||·||∞,在信号空间中具有的物理意义分别是强度、能量与幅值。 为了对能量无限如周期信号物理概念的描述,引入类似范数的平均值(直流分量)、平均功率。 此后,很多能量有限信号的定义对于功率有限信号失去意义,采用相似的推广方式得到可类比的定义。如相关、能量谱->功率谱 柯西——施瓦茨不等式的证明 信号的正交函数分解 求f1(t)=C12f2(t)中C12的推导: 而最终求最小方均误差的方法(一般情况推导戳链接): 帕塞瓦尔定理 对于完备正交函数满足帕塞瓦尔方程 物理意义:一个信号的功率恒等于在完备正交函数集上各分量的功率之和 数学意义:矢量空间信号的范数(内积)不变性 <f(t),f(t)>=<c,c> 相关 重点捋清能量信号的章节内容,功率信号可类比得出,主干清晰,减少篇幅: 匹配滤波器 h(t)=s(T-t) matlab实现 例题 例6-7在测距系统中,发送信号s(t),以匹配滤波器接收回波信号,利用滤波器输出信号峰值出现的时间折算目标距离。如果有两种可供选择的s(t)信号,分别如图6- 22(a)的s1(t)和(b)的s2(t)。求:(1)分别画出s1(t)和s2(t)自相关函数波形R11(t)和R22(t)。(2)为改善测距精度,你认为应选用s1(t)或s2(t)两种脉冲的哪一种信号? 基本思路 将非周期信号表示出来 matlab中的heaviside(t)函数表示阶跃函数,可以通过其的时移、叠加将题目的输入信号表示 将相关函数表示 积分通过函数int(f,t,a,b)实现:对函数f的自变量t从a到b积分 匹配滤波器就是相关函数的时移 整体的函数通过定义的符号变量实现 完整代码 定义部分 绘图部分 输出图片
matlab——正弦积分
任务 上篇matlab——抽样信号通过推导得出抽样函数的广义积分值 matlab绘制函数图像 利用矩阵计算简化代码 ./ 是矩阵中的元素对应相除 而/是矩阵除法 使用Matlab求解定积分/不定积分 int()是积分函数 syms x声明x为符号变量 同样的,加上下述代码可以更直观 理解 上升时间与截止频率成反比 意味着,截至频率越低,上升时间越长,二者成反比。 简单的思路去理解:低通滤波相当于去除了截止频率之上的波形,而原始的阶跃信号的被越全频率成分的叠加会更接近,即去除的频率越少,波形越接近突跳的阶跃信号(上升时间趋于0)。 这由“测不准原理”决定。 吉布斯现象 之前研究过吉布斯现象的问题: 吉布斯现象与插值优化(上)Matlab实现多项式插值 而这次,能对其具体成因有所理解。 随取级数项数增加,跳变点的峰起向跳变点靠近,但不能减小,峰起值趋近于跳变值的9% 对截止频率的提升可以对响应波形的横向进行压缩——相应减少了上升时间,但纵向没有变化,则峰起值并不衰减。
matlab——抽样函数
任务 对抽样函数Sa(t)了解不多,对其积分公式进行推导,并用matlab进行计算与绘图 matlab绘制函数图像 上面的代码已经可以绘制抽样函数的图像,但为得到更直观的信息,进行下面的图像注释,参考: MATLAB画图技巧:改变坐标轴刻度的显示数值 进行更改:matlab可用latex公式,因此用pi表示,并自动生成坐标轴范围 Matlab保存图像的5种方法 saveas(gca, filename, fileformat),其中的三个参数: gca:图形句柄,如果图形窗口标题栏是“Figure 3”,则句柄就是3;也可以直接用gcf获取当前窗口句柄。 filename:单引号字符串,指定文件名 fileformat:单引号字符串,指定存储格式 例子: saveas(gcf,’save.jpg’); %保存当前窗口的图像 saveas(2,’save.jpg’); %保存Figure 2窗口的图像 在Matlab里面如何实现字符串的拼接 定义字符串:string=”” 拼接函数:strcat({‘hello ‘},{‘world’}); 附:文档 求积分 如何计算上述积分?两种方法: 利用引入收敛因子,求含参变量的积分 傅里叶变换求解 对两种方法分别整理如下 含参变量积分 整理自作业帮回答 Laplace变换 其他解法 可以通过傅里叶变换求解,分别求取sint与1/t的傅里叶变换,再进行卷积 利用复变函数的留数求解,但奇点在积分路径上,因此不寻常 参考: 为什么狄利克雷积分是pi/2??