本帖最后由 simplebinbin 于 2014-9-10 09:30 编辑

clear;format long

%%%%%%%%%%%%%%%%%%%%%%%%%

%声明为全局变量

global mn;

fni=input('有理分式多项式法-输入数据批文件名:','s');

fid=fopen(fni,'r');

mn=fscanf(fid,'%d',1);        %模态阶数

df=fscanf(fid,'%f',1);        %频率间隔

fno=fscanf(fid,'%s',1);       %输出数据文件名

b=fscanf(fid,'%f',[2,inf]);   %输出实测频响函数实虚部数值数组

status=fclose(fid);

%定义幂多项式的阶次

nm=mn*2;

%取频响函数长度

n=length(b(1,:));

%建立离散频率向量

f=0:df:(n-1)*df;

%建立离散圆频率向量

w=2*pi*f;

%建立归一化离散频率向量

wi=w/max(w);

%建立实测频响函数复数向量

H=b(1,:)+i*b(2,:);

%计算拟合频响函数的分子和分母系数向量

[A,B]=invfreqs(H,wi,nm,nm,[],100);

%幂多项式方程求根

P=roots(B);

%计算模态频率向量

F1=abs(P)*max(w)/(2*pi);

%计算阻尼比向量

D1=-real(P)./(abs(P));

%计算振型系数向量

for k=1:mn

if k==1

p(1:nm-1)=P(2:nm);

else

p(1:k-1)=P(1:k-1);

p(k:nm-1)=P(k+1:nm);

end

y=poly(p);

S1(k)=polyval(A,P(k))/polyval(y,P(k));

end

%计算拟合的频响函数

H1=freqs(A,B,wi);

%绘制频响函数实部拟合曲线图

figure(2)

nn=1:n;

subplot(2,1,1);

plot(f,real(H(nn)),':',f,real(H1(nn)),'r');

xlabel('频率(Hz)');

ylabel('实部');

legend('实测','拟合');

grid on;

%绘制频响函数虚部拟合曲线图

subplot(2,1,2);

plot(f,b(2,:),':',f,imag(H1(nn)),'r');

xlabel('频率(Hz)');

ylabel('虚部');

legend('实测','拟合');

grid on;

%将模态频率从小到大排序

[F2,I]=sort(F1);

%剔除方程解中的非模态项和共轭项

m=0;

for k=1:nm-1

if F2(k)~=F2(k+1)

continue;

end

m=m+1;

l=I(k);

F(m)=F1(l);  %模态频率

D(m)=D1(l);  %阻尼比

S(m)=S1(l);  %振型系数

end

%打开文件输出模态参数数据

fid=fopen(fno,'w');

fprintf(fid,'频率(Hz) 阻尼比(%%) 振型系数\n');

for k=1:mn

fprintf(fid,'%10.4f %10.4f %10.6f\n',F(k),D(k)*100.0,S(k));

end

status=fclose(fid);

matlab分式多项式化简,有理分式多项式法模态参数识别相关推荐

  1. matlab符号运算化简命令

    MATLAB常见的化简函数如下: pretty(Alpha) collect(Alpha) factor(Alpha) expand(Alpha) simplify(Alpha) horner(Alp ...

  2. 多元经验模态分解_环境激励桥梁模态参数识别—环境激励模态参数识别概述

    环境激励模态参数识别概述 1 结构模态参数识别 结构模态参数识别属于动力学的反问题,是利用外部激励和系统的响应求解系统的参数问题;这一过程亦称为模态分析(Modal Analysis).模态分析又分为 ...

  3. 连续小波变换应用于密集模态参数识别

    我的第一篇文章: 摘要:         用 连续小波变换方法进行模态参数识别时,减小小波函数的带宽可以提高小波变换的频率分辨能力,但同时也会增大边沿效应,影响密集模态参数识别的精度.本文提 出了极值 ...

  4. c语言循环计算分式加减乘除混合运算,计算()_分式的加减乘除混合运算及分式的化简_中学题库-沪江中学学科网...

    分式加减乘除混合运算:分式的混合运算应先乘方,再乘除,最后算加减,有括号的先算括号内的,也可以把除法转化为乘法,再运用乘法运算. 分式化简:在数学上,化简是十分重要的概念,一些复杂难辨的式子,很多时候 ...

  5. Matlab符号方程组化简

    最近在上课的时候,发现一个很难化简的方程,如下: 从左化简到右,虽然能够用手写,但是太麻烦了,能不能用Maltab呢? 当然,根据高斯消元,首先得从方程组中最下面的方程化起,然后再回代到第一个方程,即 ...

  6. matlab符号表达式的化简

    simplify(f) 对符号表达式进行化简,它利用各种类型的代数恒等式,包括求和. 积分.三角函数.指数函数以及 Bessel 函数等来化简符号表达式 simple(f) 对符号表达式尝试多种不同的 ...

  7. bouc wen matlab,基于Matlab磁流变阻尼器Bouc-Wen模型的参数识别

    2018年 3月 第 46卷 第 5期 机床与液压 MACHINE TO0L& HYDRAULICS Mat.2018 Vo1.46 No.5 DOI:10.3969/j.issn.1001- ...

  8. 分式化简结果要求_分式的化简(含答案)

    如何列分式方程解应用题 列分式方程解简单的实际应用问题的方法和步骤是: (1) 设 弄清题意和题目中的数量关系,用字母(如x )表示题目中的一个未知数: (2) 找 找到能够表示应用题全部含义的一个相 ...

  9. MATLAB中 分数化简

    1.format rat  (分数格式的意思,rat即ratio缩写): 以下皆按分数来计算: 用format命令还原回小数计算: 2.>>sym(15/9);  sym是记号符号运算的意 ...

最新文章

  1. 大数据分布式集群搭建(插曲)
  2. 将字符串a复制到字符串b
  3. Ubuntu中使用VS Code
  4. md5校验工具hash
  5. shp文件中polyline是什么_SHP文件坐标转换工具1.0版
  6. 微信小程序——样式覆盖
  7. 美团外卖订单中心的演进
  8. wifi一到晚上服务器无响应,一到晚上九点,网络就开始卡了?主要原因是这三点!...
  9. 快速开发 HTML5 交互式地铁线路图
  10. [附源码]Java计算机毕业设计SSM办公自动化系统
  11. 蔡颖-《APS走向实践》书解读之二:需求驱动-预测、掌握、满足需求
  12. 二叉树-求叶节点个数
  13. java 调用jar_在Java程序中执行另一个jar
  14. java存根_java – Mockito在测试方法之外的存根
  15. 【时间之外】10分钟搞懂Python+Tushare+Excel股票分析
  16. 回文数--java两种方法实现
  17. 信道检测手机软件 ios_一分钟,教你检测iPhone硬件故障
  18. thinkpad装linux无线网卡驱动,ThinkPad E530 Fedora 20 下无线网卡驱动的安装
  19. 数据结构与算法-打印直角三角形算法
  20. VMware Fusion5激活Win7

热门文章

  1. 10秒就会让男人爱上的美女 长什么样
  2. 上网行为管理设备的介绍,部署与使用
  3. AtCoder Beginner Contest 170 F. Pond Skater
  4. 找不到或无法加载主类com.kuang.springcloud.DeptProvider_8002
  5. nas服务器上文件恢复,nas文件恢复
  6. Python开发实例:TPYBoard开发板制作声光控开关
  7. 2022北京高考数学压轴题21题的一种解答
  8. kestrel轻量级消息队列的安装
  9. LCD1602液晶显示模块学习笔记
  10. mysql程序语句范文_MySQL基本语句