如何用matlab分析labview中的声压

网上科普有关“如何用matlab分析labview中的声压”话题很是火热,小编也是针对如何用matlab分析labview中的声压寻找了一些与之相关的一些信息进行分析,如果能碰...

网上科普有关“如何用matlab分析labview中的声压”话题很是火热,小编也是针对如何用matlab分析labview中的声压寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。

%A计权声压级频谱分析

clc;

clear;

close all;

%时域分析

y=wavread('abc.wav');

%频域分析

fs=51200;%采样频率

p0=2e-5;%参考声压

f=[1.00 1.25 1.600 2.00 2.50 3.15 4.00 5.00 6.30 8.0]; %基准中心频率

f1=[20.00 25.0 31.5 40.0 50.0 63.0 80];

fc=[f1,100*f,1000*f,10000*f]; %%%%%%%%%中心频率%%%%%%%%

%20-16000Hz A声级计权值

cf=[-50.5,-44.7,-39.4,-34.6,-30.2,-26.2,-22.5,-19.1,-16.1,-13.4,-10.9,-8.6,-6.6,-4.8,-3.2,-1.9,-0.8,0,0.6,1.0,1.2,1.3,1.2,1.0,0.5,-0.1,-1.1,-2.5,-4.3,-6.6];

x=y(t1*fs:t2*fs);%截取需要处理的数据段

n=length(x);

t=(0:1/fs:(n-1)/fs);

subplot(221);

plot(t,x);%瞬时声压时程图

w=hanning(n); %汉宁窗

xx=1.633*x.*w; %加汉宁窗(恢复系数为1.633)

nfft=2^nextpow2(n);

%nextpow2(n)-取最接近的较大2次幂

a = fft(xx,nfft);

f = fs/2*linspace(0,1,nfft/2);

w=2*abs(a(1:nfft/2)/n);

subplot(222);

plot(f,w);%绘制频谱图

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

%1/3倍频程计算

oc6=2^(1/6);

nc=length(cf);

%下面这个求1/3倍频程的程序是按照振动振级计算那个来的

for j=1:nc

fl=fc(j)/oc6;

fu=fc(j)*oc6;

nl=round(fl*nfft/fs+1);

nu=round(fu*nfft/fs+1);

if fu>fs/2

m=j-1;

break;

end

b=zeros(1,nfft);

b(nl:nu)=a(nl:nu);

b(nfft-nu+1:nfft-nl+1)=a(nfft-nu+1:nfft-nl+1);

c=ifft(b,nfft);

yc(j)=sqrt(var(real(c(1:nnn))));

end

aj_sumn=0;

for i=1:nc

Lp1(i)=20*log10(yc(i)/p0);%未计权1/3倍频程声压级

end

%%%%%

for jj=1:nc

aj_sumn=aj_sumn+10^(0.1*Lp1(j));

end

Lp=10*log10(aj_sumn);%未计权总声压级

subplot(223);%绘制未计权1/3倍频程声压级图谱

bar(Lp1(1:nc));

gg=zeros(1,nc);

for i=1:nc

gg(1:nc)=fc(1:nc);

end

ggg=1:nc;

set(gca,'xtick',ggg);

set(gca,'xticklabel',gg);

%%%%%A计权1/3倍频程声压级

Lap=Lp1+cf;

aj_sum=0;

for j=1:nc

aj_sum=aj_sum+10^(0.1*Lap(j));

end

LA=10*log10(aj_sum);%Aa计权总声压级

subplot(224);%绘制A计权1/3倍频程声压级图谱

bar(Lap(1:nc));

gg=zeros(1,nc);

for i=1:nc

gg(1:nc)=fc(1:nc);

end

ggg=1:nc;

set(gca,'xtick',ggg);

set(gca,'xticklabel',gg);

matlab用od45解微分方程组。求改错。

可以这样做:

主程序

clc;clear

A=[1,2];

B=[2,3];

C=[1,4];

[CC,Radius]=CircleThru3Dots(A,B,C);

fprintf('坐标:(%f,%f)\n',CC)

fprintf('半径:%f\n\n',Radius)

函数程序

function?[CC,Radius]=CircleThru3Dots(A,B,C)

Ah=A*A';

Bh=B*B';

Ch=C*C';

CC=zeros(size(A));

G=(C(2)-B(2))*A(1)+(A(2)-C(2))*B(1)+(B(2)-A(2))*C(1);

CC(1)=((Bh-Ch)*A(2)+(Ch-Ah)*B(2)+(Ah-Bh)*C(2))/(2*G);

CC(2)=-((Bh-Ch)*A(1)+(Ch-Ah)*B(1)+(Ah-Bh)*C(1))/(2*G);

Radius=sqrt((A-CC)*(A-CC)');

theta=linspace(0,2*pi,101);

x=CC(1)+Radius*cos(theta);

y=CC(2)+Radius*sin(theta);

plot(x,y,'r-')

ABC=[A;B;C];

hold?on

plot(ABC(:,1),ABC(:,2),'b.','markersize',20)

plot(CC(1),CC(2),'r.','markersize',20)

grid?on

box?off

axis?equal

end

效果图

怎样用MATLAB拟合两个自变量的函数系数和指数

a、b、c的取值有问题,长度不为10,检查一下。

法一:在script和function里面申明abc为全局变量

global a b c

法二:使用匿名函数

clc

format long

t=0.001:0.001:20;

x0=[3 -4 2];

a=0.3:0.3:3;

b=-6:-1:-15;

c=-1:-1:-10;

for k=1:10

f=@(t,x)([a(k)*x(1)-x(2)*x(3);b(k)*x(2)+x(1)*x(3);c(k)*x(3)+x(1)*x(2)]);

[t,x]=ode45(f,t,x0);

plot(t,x);

hold on

end

xlabel('t'),legend('x','y','z');

这个就看做是非线性拟合吧,仿照下面的例子:

function shiyan2

x1 = linspace( 0.5, 10, 15 );

x2 = linspace( 10, 20, 15 );

y = 2.5 * x1.^0.5 .* x2.^0.3;? % 假设公式是这样的

% 利用已知数据进行非线性拟合,根据经验给abc一个初始值1, 1, 1,初始值不一定非要很准确

p = lsqcurvefit( @subfun, [ 1, 1, 1 ], [ x1', x2' ], y' );

disp( '拟合参数结果如下:' )

disp( [ 'a = ', num2str( p( 1 ) ), ', b = ', num2str( p( 2 ) ), ...

', c = ', num2str( p( 3 ) ) ] );

function ydata = subfun( p, xdata )

ydata = p( 1 ) * xdata( :, 1 ).^p( 2 ) .* xdata( :, 2 ).^p( 3 );

关于“如何用matlab分析labview中的声压”这个话题的介绍,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!

本文来自作者[梦旋]投稿,不代表创健号立场,如若转载,请注明出处:https://www.chuangjian-nb.com/cshi/202505-14091.html

(164)

文章推荐

  • 广州户口入户最新政策是什么?

    网上科普有关“广州户口入户最新政策是什么?”话题很是火热,小编也是针对广州户口入户最新政策是什么?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。你好,可以看看寄锦的解答关键词28周岁以下,本科学历或学士学位,全日制大专,预备技师班、高级工班我们能看出什么?低

    2025年03月06日
    340
  • 实测教程“神奇麻将为什么一直输(如何开挂)

    网上科普有关“神奇麻将为什么一直输”话题很是火热,小编也是针对神奇麻将为什么一直输寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,神奇麻将为什么一直输这款游戏可以开挂的,确实是有挂的,通过微信【游戏】很多玩家在这款游戏中打牌都会发现很多用户的

    2025年03月06日
    47
  • 分享干货”新518互娱斗牛开挂(其实真的能开挂)

    分享干货”新518互娱斗牛开挂网上科普有关“分享干货”新518互娱斗牛开挂”话题很是火热,小编也是针对分享干货”新518互娱斗牛开挂寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,分享干货”新518互娱斗牛开挂这款游戏可以开挂的,确实

    2025年03月08日
    29
  • 七月广州旅游攻略七月广州去哪里旅游

    网上科普有关“七月广州旅游攻略七月广州去哪里旅游”话题很是火热,小编也是针对七月广州旅游攻略七月广州去哪里旅游寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。1.广州七月出游的地方可以去光州塔,湿地公园,珠江夜游,中山大学!:2.广东7月适合去哪里旅游1.楠澳

    2025年03月24日
    162
  • 求一个英文单词的解释!

    网上科普有关“求一个英文单词的解释!”话题很是火热,小编也是针对求一个英文单词的解释!寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。commit/km?t;k?ˋm?t/v(-tt-)[Tn]do(sthillegal,wrongo

    2025年03月30日
    151
  • 玩家实测“微乐麻将有bug吗怎么回事(其实确实有挂)

    玩家实测“微乐麻将有bug吗怎么回事网上科普有关“玩家实测“微乐麻将有bug吗怎么回事”话题很是火热,小编也是针对玩家实测“微乐麻将有bug吗怎么回事寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,玩家实测“微乐麻将有bug吗怎么回事

    2025年03月27日
    29
  • 教程辅助!新久久金花到底怎么开挂(如何开挂)

    新久久金花到底怎么开挂网上科普有关“新久久金花到底怎么开挂”话题很是火热,小编也是针对新久久金花到底怎么开挂寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,新久久金花到底怎么开挂这款游戏可以开挂的,确实是有挂的,通过微信【】很多玩家在

    2025年04月09日
    30
  • 实测教程“千月麻将真的可以开挂吗”(确实有挂)

    千月麻将真的可以开挂吗网上科普有关“千月麻将真的可以开挂吗”话题很是火热,小编也是针对千月麻将真的可以开挂吗寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,千月麻将真的可以开挂吗这款游戏可以开挂的,确实是有挂的,通过微信【】很多玩家在

    2025年04月19日
    23
  • 三分钟普及“丽水都莱有挂吗(详细真的有挂)

    丽水都莱有挂吗网上科普有关“丽水都莱有挂吗”话题很是火热,小编也是针对丽水都莱有挂吗寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,丽水都莱有挂吗这款游戏可以开挂的,确实是有挂的,通过微信【】很多玩家在这款游戏中打牌都会发现很多用户的

    2025年04月24日
    20
  • 三分钟普及“风风跑胡子到底可以开挂吗(详细透视开挂教程)

    风风跑胡子到底可以开挂吗网上科普有关“风风跑胡子到底可以开挂吗”话题很是火热,小编也是针对风风跑胡子到底可以开挂吗寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,风风跑胡子到底可以开挂吗这款游戏可以开挂的,确实是有挂的,通过微信【】很

    2025年04月26日
    20

发表回复

本站作者后才能评论

评论列表(4条)

  • 梦旋
    梦旋 2025年05月04日

    我是创健号的签约作者“梦旋”!

  • 梦旋
    梦旋 2025年05月04日

    希望本篇文章《如何用matlab分析labview中的声压》能对你有所帮助!

  • 梦旋
    梦旋 2025年05月04日

    本站[创健号]内容主要涵盖:国足,欧洲杯,世界杯,篮球,欧冠,亚冠,英超,足球,综合体育

  • 梦旋
    梦旋 2025年05月04日

    本文概览:网上科普有关“如何用matlab分析labview中的声压”话题很是火热,小编也是针对如何用matlab分析labview中的声压寻找了一些与之相关的一些信息进行分析,如果能碰...