示波器wdf波形怎么改成excel文件,然后用matlab测量其fft,并获得thd

示波器wdf波形怎么改成excel文件,然后用matlab测量其fft,并获得thd,第1张

。。。这活excel表示干不了。示波器配套的PC端软件可能有这功能。测量THD,用电能质量分析仪,示波器干这活太痛苦。Fluke 43B集万用表,示波器,电能质量分析仪于一身,经典仪表,虽然一次只能测一相,但三相也就是测3次的事。

出国留学,很多院校的申请的条件之一是个人的学分绩点,有些院校有最低学分绩点要求。没有达到最低要求的申请者就不考虑了。计算:绩点的计算,是将学生修过的每一门课程(包括重修的课程)的课程绩点乘以该门课程的学分,累加后再除以总学分。平均学分绩点可以作为学生学习能力与质量的综合评价指标之一。能方便地与美国的GPA制挂钩。想出国留学的中国本科生应该引以为重。国内大部分高校通用的计算方法是:绩点=分数/10-5,学分绩点=学分×绩点=学分×(分数/10-5)

function lianxuchaoliu

clear;

clc;

n=9;%节点数;

nl=9;%支路数;

isb=1;%平衡节点号;

pr=000001;%误差精度;

b1=[1 4 00576i 0 105 1; 4 5 0017+0092i 0158i 1 0; 5 6 0039+017i 0358i 1 0; 3 6 00586i 0 105 1; 6 7 00119+01008i 0209i 1 0; 7 8 00085+0072i 0149i 1 0; 8 2 00625i 0 105 1; 8 9 0032+0161i 0306i 1 0; 9 4 001+0085i 0176i 1 0];

%依次是支路首端;末端,支路阻抗;对地电纳;支路变比;折算到哪一侧标志(高压侧为1;低压侧为0);

b2=[0 0 105 105 0 1; 163 0 105 105 0 3; 085 0 105 105 0 3; 0 0 1 0 0 2; 0 09+03i 1 0 0 2; 0 0 1 0 0 2; 0 1+035i 1 0 0 2; 0 0 1 0 0 2; 0 125+05i 1 0 0 2];

%依次是节点的发电机功率;负荷功率;节点电压初值;PV节点电压V给定值;节点无功补偿设备容量;节点分类标号(平衡1;PQ2;PV3);

Y=zeros(n);%求导纳阵;

for i=1:nl

if b1(i,6)==0

p=b1(i,1);q=b1(i,2);

else

p=b1(i,2);q=b1(i,1);

end

Y(p,q)=Y(p,q)-1/(b1(i,3)b1(i,5));

Y(q,p)=Y(p,q);

Y(q,q)=Y(q,q)+1/(b1(i,3)b1(i,5)^2)+b1(i,4)/2;

Y(p,p)=Y(p,p)+1/b1(i,3)+b1(i,4)/2;

end

%disp('系统的导纳阵为:');

%disp(Y);

G=real(Y);B=imag(Y);

for i=1:n

e(i)=real(b2(i,3));

f(i)=imag(b2(i,3));

v(i)=b2(i,4);

end

for i=1:n

S(i)=b2(i,1)-b2(i,2);

B(i,i)=B(i,i)+b2(i,5);

end

P=real(S);Q=imag(S);

w=zeros(2n,1);Jac=zeros(2n);

t=0;

while t==0

for i=1:n

if b2(i,6)~=isb

C=0;D=0;

for j=1:n

C=C+G(i,j)e(j)-B(i,j)f(j);

D=D+G(i,j)f(j)+B(i,j)e(j);

end

if b2(i,6)==2%P,Q节点;

w(2i)=P(i)-e(i)C-f(i)D;

w(2i-1)=Q(i)-f(i)C+e(i)D;

else if b2(i,6)==3%P,V节点;

w(2i)=P(i)-e(i)C-f(i)D;

w(2i-1)=v(i)^2-(e(i)^2+f(i)^2);

end

end

else

w(2i-1)=0;

w(2i)=0;

end

end

%disp(w);

w1=w(3:2n);

for i=1:n

for j=1:n

if b2(i,6)~=isb

if b2(i,6)==2%P,Q节点;

if j~=i

Jac(2i,2j-1)=-1(G(i,j)e(i)+B(i,j)f(i));

Jac(2i-1,2j)=(G(i,j)e(i)+B(i,j)f(i));

Jac(2i,2j)=B(i,j)e(i)-G(i,j)f(i);

Jac(2i-1,2j-1)=B(i,j)e(i)-G(i,j)f(i);

else if j==i

m=0;h=0;

for r=1:n

m=m+G(i,r)e(r)-B(i,r)f(r);

h=h+G(i,r)f(r)+B(i,r)e(r);

end

Jac(2i,2j-1)=-1m-G(i,i)e(i)-B(i,i)f(i);

Jac(2i-1,2j)=-1m+G(i,i)e(i)+B(i,i)f(i);

Jac(2i,2j)=-1h+B(i,i)e(i)-G(i,i)f(i);

Jac(2i-1,2j-1)=h+B(i,i)e(i)-G(i,i)f(i);

end

end

else if b2(i,6)==3%P,V节点;

if j~=i

Jac(2i,2j-1)=-1(G(i,j)e(i)+B(i,j)f(i));

Jac(2i-1,2j)=0;

Jac(2i,2j)=B(i,j)e(i)-G(i,j)f(i);

Jac(2i-1,2j-1)=0;

else if j==i

m=0;h=0;

for r=1:n

m=m+G(i,r)e(r)-B(i,r)f(r);

h=h+G(i,r)f(r)+B(i,r)e(r);

end

Jac(2i,2j-1)=-1m-G(i,i)e(i)-B(i,i)f(i);

Jac(2i-1,2j)=-2f(i);

Jac(2i,2j)=-1h+B(i,i)e(i)-G(i,i)f(i);

Jac(2i-1,2j-1)=-2e(i);

end

end

end

end

else

Jac(2i-1,2j-1)=0;

Jac(2i,2j)=0;

Jac(2i-1,2j)=0;

Jac(2i,2j-1)=0;

end

end

end

%disp(Jac);

Jac1=Jac(3:2n,3:2n);

for k=1:2n-2

m=0;

for i=k+1:2n-2

m=Jac1(i,k)/Jac1(k,k);

w1(i)=w1(i)-mw1(k);

for j=k+1:2n-2

Jac1(i,j)=Jac1(i,j)-mJac1(k,j);

end

end

end

E(2n-2)=w1(2n-2)/Jac1(2n-2,2n-2);

for i=2n-3:-1:1

c=0;

for k=i+1:2n-2

c=c+Jac1(i,k)E(k);

E(i)=(w1(i)-c)/Jac1(i,i);

end

end

%disp(E);

for i=1:n-1

e(i+1)=e(i+1)-E(2i-1);

f(i+1)=f(i+1)-E(2i);

end

%disp(e);

%disp(f);

for i=1:n-1

b(2i-1)=abs(E(2i-1));

b(2i)=abs(E(2i));

end

KB=max(b);

%disp(KB);

if KB<pr

t=1;

else

t=0;

end

end

%disp(e);

%disp(f);

for i=1:n

fz(i)=sqrt(e(i)^2+f(i)^2);

end

disp(fz);

JJ1=zeros(2n-1,2n-1);Jac1=zeros(2n-2,2n-2);ttt=0;ccc=1;%迭代次数;

L=005;T=0;%L是步长,T是参数;

while ttt==0

%确定扩展矩阵

for i=1:n-1

if b2(i+1,6)==3

JJ1(2i,2n-1)=15105;

JJ1(2i-1,2n-1)=0;

else if b2(i+1,6)==2

if b2(i+1,2)==0

JJ1(2i-1,2n-1)=0;

JJ1(2i,2n-1)=0;

else

JJ1(2i,2n-1)=-real(b2(i+1,2));

JJ1(2i-1,2n-1)=-imag(b2(i+1,2));

end

end

end

end

for i=1:n

for j=1:n

if b2(i,6)~=isb

if b2(i,6)==2% P,Q节点;

if j~=i

Jac(2i,2j-1)=-1(G(i,j)e(i)+B(i,j)f(i));

Jac(2i-1,2j)=(G(i,j)e(i)+B(i,j)f(i));

Jac(2i,2j)=B(i,j)e(i)-G(i,j)f(i);

Jac(2i-1,2j-1)=B(i,j)e(i)-G(i,j)f(i);

else if j==i

m=0;h=0;

for r=1:n

m=m+G(i,r)e(r)-B(i,r)f(r);

h=h+G(i,r)f(r)+B(i,r)e(r);

end

Jac(2i,2j-1)=-1m-G(i,i)e(i)-B(i,i)f(i);

Jac(2i-1,2j)=-1m+G(i,i)e(i)+B(i,i)f(i);

Jac(2i,2j)=-1h+B(i,i)e(i)-G(i,i)f(i);

Jac(2i-1,2j-1)=h+B(i,i)e(i)-G(i,i)f(i);

end

end

else if b2(i,6)==3%P,V节点,

if j~=i

Jac(2i,2j-1)=-1(G(i,j)e(i)+B(i,j)f(i));

Jac(2i-1,2j)=0;

Jac(2i,2j)=B(i,j)e(i)-G(i,j)f(i);

Jac(2i-1,2j-1)=0;

else if j==i

m=0;h=0;

for r=1:n

m=m+G(i,r)e(r)-B(i,r)f(r);

h=h+G(i,r)f(r)+B(i,r)e(r);

end

Jac(2i,2j-1)=-1m-G(i,i)e(i)-B(i,i)f(i);

Jac(2i-1,2j)=-2f(i);

Jac(2i,2j)=-1h+B(i,i)e(i)-G(i,i)f(i);

Jac(2i-1,2j-1)=-2e(i);

end

end

end

end

else

Jac(2i-1,2j-1)=0;

Jac(2i,2j)=0;

Jac(2i-1,2j)=0;

Jac(2i,2j-1)=0;

end

end

end

Jac1=Jac(3:2n,3:2n);

for i=1:2n-2

for j=1:2n-2

JJ1(i,j)=Jac1(i,j);

end

end

if ccc==1%以负荷为连续参数;

for j=1:2n-2

JJ1(2n-1,j)=0;

end

JJ1(2n-1,2n-1)=1;

w2=zeros(2n-1,1);

for i=1:2n-2

w2(i,1)=0;

end

w2(2n-1,1)=1;

end

%disp(JJ1);

if ccc>1%以切向量中分量最大(绝对值最大)的状态变量选定为连续参数;

for i=1:2n-2

Jd(i)=abs(d(i));

end

for i=1:2n-3

if Jd(i)>=Jd(i+1)

zd=Jd(i);ek=i;

else if Jd(i)<=Jd(i+1)

zd=Jd(i+1);ek=i+1;

end

end

end

for j=1:2n-1

JJ1(2n-1,j)=0;

end

JJ1(2n-1,ek)=1;

w2=zeros(2n-1,1);

for i=1:2n-1

w2(i,1)=0;

end

if d(ek)>0

w2(ek,1)=1;

else if d(ek)<0

w2(ek,1)=-1;

end

end

end

for k=1:2n-1

m=0;

for i=k+1:2n-1

m=JJ1(i,k)/JJ1(k,k);

w2(i)=w2(i)-mw2(k);

for j=k+1:2n-1

JJ1(i,j)=JJ1(i,j)-mJJ1(k,j);

end

end

end

d(2n-1)=w2(2n-1)/JJ1(2n-1,2n-1);

for i=2n-2:-1:1

c=0;

for k=i+1:2n-1

c=c+JJ1(i,k)d(k);

d(i)=(w2(i)-c)/JJ1(i,i);

end

end

%disp(d);

for i=1:n-1

e(i+1)=e(i+1)+Ld(2i-1);

f(i+1)=f(i+1)+Ld(2i);

end

T=T+Ld(2n-1);

disp(d(2n-1));

%disp(e);

%disp(f);

%disp(T);

%对预估的近似解进行校正;

tt=0;

while tt==0

for i=1:n

if b2(i,6)~=isb

C=0;D=0;

for j=1:n

C=C+G(i,j)e(j)-B(i,j)f(j);

D=D+G(i,j)f(j)+B(i,j)e(j);

end

if b2(i,6)==2% P,Q节点;

if b2(i,2)~=0

wj(2i)=P(i)-Treal(b2(i,2))-e(i)C-f(i)D;

wj(2i-1)=Q(i)-Timag(b2(i,2))-f(i)C+e(i)D;

else

wj(2i)=P(i)-e(i)C-f(i)D;

wj(2i-1)=Q(i)-f(i)C+e(i)D;

end

else if b2(i,6)==3%P,V节点;

wj(2i)=P(i)+T15105-e(i)C-f(i)D;

wj(2i-1)=0;

end

end

else

wj(2i)=0;

wj(2i-1)=0;

end

end

wj1=wj(3:2n);

for i=1:n

for j=1:n

if b2(i,6)~=isb

if b2(i,6)==2%P,Q节点;

if j~=i

JJac(2i,2j-1)=-1(G(i,j)e(i)+B(i,j)f(i));

JJac(2i-1,2j)=(G(i,j)e(i)+B(i,j)f(i));

JJac(2i,2j)=B(i,j)e(i)-G(i,j)f(i);

JJac(2i-1,2j-1)=B(i,j)e(i)-G(i,j)f(i);

else if j==i

m=0;h=0;

for r=1:n

m=m+G(i,r)e(r)-B(i,r)f(r);

h=h+G(i,r)f(r)+B(i,r)e(r);

end

JJac(2i,2j-1)=-1m-G(i,i)e(i)-B(i,i)f(i);

JJac(2i-1,2j)=-1m+G(i,i)e(i)+B(i,i)f(i);

JJac(2i,2j)=-1h+B(i,i)e(i)-G(i,i)f(i);

JJac(2i-1,2j-1)=h+B(i,i)e(i)-G(i,i)f(i);

end

end

else if b2(i,6)==3%P,V节点;

if j~=i

JJac(2i,2j-1)=-1(G(i,j)e(i)+B(i,j)f(i));

JJac(2i-1,2j)=0;

JJac(2i,2j)=B(i,j)e(i)-G(i,j)f(i);

JJac(2i-1,2j-1)=0;

else if j==i

m=0;h=0;

for r=1:n

m=m+G(i,r)e(r)-B(i,r)f(r);

h=h+G(i,r)f(r)+B(i,r)e(r);

end

JJac(2i,2j-1)=-1m-G(i,i)e(i)-B(i,i)f(i);

JJac(2i-1,2j)=-2f(i);

JJac(2i,2j)=-1h+B(i,i)e(i)-G(i,i)f(i);

JJac(2i-1,2j-1)=-2e(i);

end

end

end

end

else

JJac(2i-1,2j-1)=0;

JJac(2i,2j)=0;

JJac(2i-1,2j)=0;

JJac(2i,2j-1)=0;

end

end

end

JJac1=JJac(3:2n,3:2n);

for k=1:2n-2

m=0;

for i=k+1:2n-2

m=JJac1(i,k)/JJac1(k,k);

wj1(i)=wj1(i)-mwj1(k);

for j=k+1:2n-2

JJac1(i,j)=JJac1(i,j)-mJJac1(k,j);

end

end

end

E1(2n-2)=wj1(2n-2)/JJac1(2n-2,2n-2);

for i=2n-3:-1:1

c=0;

for k=i+1:2n-2

c=c+JJac1(i,k)E1(k);

E1(i)=(wj1(i)-c)/JJac1(i,i);

end

end

%disp(E1);

for i=1:n-1

e(i+1)=e(i+1)-E1(2i-1);

f(i+1)=f(i+1)-E1(2i);

end

for i=1:n-1

bx(2i-1)=abs(E1(2i-1));

bx(2i)=abs(E1(2i));

end

KB1=max(bx);

if KB1<pr

tt=1;

else

tt=0;

end

end

%disp(e);

%disp(f);

if d(2n-1)>0

ttt=0;ccc=ccc+1;

else

ttt=1;

end

end

disp(T);

disp(ccc);

%disp(e);

%disp(f);

for i=1:n

fz1(i)=sqrt(e(i)^2+f(i)^2);

end

disp(fz1);

问题

首先,说一下条件给的不清楚或可能有错的地方:

1、按照公式中使用的符号,下面的常数d、h应为D、H,a1、a2应为R1、R2;

2、公式中,第三重积分的下限确定是2sqrt(R1^2-x)?后面有讨论

3、求积分得到的结果就是一个具体的数,标题要求的绘制仿真图是什么意思?

参考代码

下面给出我写的代码,供参考。

% 常数定义 

I=1; u0=4pi1e-007; D=015; H=114; R1=75; R2=14; 

  

% 六元函数定义(注意把里面第二重积分的系数以及D^3折算到函数中) 

f=@(t,h,r,y,x,z)(-rsin(t)(y-sin(t))-rcos(t)(x-cos(t))) /  

    ((x-rcos(t))^2+(y-rsin(t))^2+(z-h)^2)^(3/2)  u0I^2/(4pi)/D^3; 

  

% 积分参数设置 

tol = 1e-6; 

quadf = @quadl;

trace = 1;

  

% 先使用triplequad计算内三重积分(积分限均为常数,h、r注意换算) 

Ithr = @(y,x,z) triplequad(f,0,2pi,0,DH,DR1,DR2,tol,quadf,y,x,z); 

  

% 由于被积分函数必须能够接受向量输入并返回向量输出,所以外面的三重积分必须逐层进行

Iy = @(x,z) quadf( @(Y)arrayfun(@(y)Ithr(y,x,z),Y),2sqrt(R1^2-x),sqrt(R2^2-x^2),tol,trace);

Ix = @(z) quadf( @(X)arrayfun(@(x)Iy(x,z),X),R1,R2,tol,trace);

Iz = quadf( @(Z)arrayfun(@(z)Ix(z),Z),0,DH,tol,trace);

注解及讨论

1、对代码自身不想再多做解释,该说的注释里都说了。自己好好看看,实在看不懂再问吧(要更好地理解代码,需要好好熟悉一下匿名函数)。

2、需要注意:重积分的计算时间不是根据积分的重数成倍增加,而是按照幂级数规律增加的,所以,计算六重积分所需的时间是比较长的(这段代码在我电脑上求解时间近8分钟)。

3、按照当前的程序,求出的结果:

Iz =

  11554e-005

由于y的积分下限看起来有点怪,像是sqrt(R1^2-x^2)之误,但仔细分析应该没错。如果积分下限取sqrt(R1^2-x^2),则计算结果为复数:

Iz =

  54730e-005 -67361e-005i

原因是,对x的积分范围是R1-R2,也就意味着,x的取值范围最大可以是R2,而里面那一重积分的下限是sqrt(R1^2-x^2),当x取值大于R1时就会出现复数。

4、上面的代码侧重于实现方法,具体的数学表达式不保证绝对没问题,请自行仔细核实。

有一个问题就是应当对信号整周期截取,以免频率泄露

clear all;

close all;

F1 = 50;

T = 10/F1;

fs = 1000;

N = Tfs;

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

A1 = 100sin(2piF1t);

subplot(211);plot(t,A1);

mag1 = abs(fft(A1));

mag = mag1/(N/2);

f = (0:N-1)/Nfs;

subplot(212);plot(f(1:N/2),mag(1:N/2));

[Peak1,i]=max(mag(1:N/2));

fp=f(i);

fprintf('f1=%f,A1=%f\n',fp,Peak1);

原因

所给链接的代码不完整,缺少ndd_fun函数。

顺便鄙视一下该链接的提供者,这么广为流传的东西下载居然还要积分,简直穷疯了。

代码

帮你好好找了一下,找到了完整的程序,供参考(全部代码保存到一个M文件运行即可,或直接下载附件):

function ndd

%59nian130

A=087;         %q(炮)膛横断面积A  dm^2

G=19;%334;           %d重  kg

W0=204;        %药室容积  dm^3

l_g=250;       %身管行程  dm

P_0 =30000;       %起动压力  kpa

fai1=102;        %次要功系数

K=103;        %运动阻力系数φ1

theta =02;       %火药热力系数

%=========================================

f=950000;          %火药力  kgdm/kg 

alpha=1;         %余容  dm^3/kg

delta=16;         %火药重度γ

%==================================

ome=22;%129;      %第一种装药量  kg

u1=5002410^-5;        %第一种装药烧速系数  dm^3/(skg)

n1=082;         %第一种装药的压力指数n1

lambda=-00071;     %第一种装药形状特征量λ1

lambda_s=0;     %第一种装药分裂点形状特征量λ1s

chi=100716;          %第一种装药形状特征量χ1

chi_s=0;          %第一种装药分裂点形状特征量χ1s

mu=0;            %第一种装药形状特征量μ1

et1=11410^-2;            %第一种装药药厚δ01

d1=2510^-2;             %第一种装药火药内径d1

Ro1=0;             %药型系数α1

%=========================================

%常数与初值计算-----------------------------------------------------

l_0=W0/A;

Delta=ome/W0;

phi=K + ome/(3G);

v_j=196fome/(phithetaG);

v_j=sqrt(v_j);

B = 98(et1A)^2/( u1u1fomephiG );

B=B(fDelta)^(2-2n1);

Z_s=1+Ro1(d1/2+et1)/et1;

p_0=P_0/(fDelta);

psi_0=(1/Delta - 1/delta)/(f/P_0 + alpha - 1/delta);

Z_0=(sqrt(1+4psi_0lambda/chi) - 1)/(2lambda);

%解算子------------------------------------------------------------

C = zeros(1,12);

C(1)=chi;C(2)=lambda;C(3)=lambda_s;C(4)=chi_s;C(5)=Z_s;%

C(6)=theta;C(7)=B;C(8)=n1;C(9)=Delta;C(10)=delta;C(11)=alpha;C(12)=mu;

C;

y0=[Z_0;0;0;psi_0];

options = odeset('outputfcn','odeplot');

[tt,y] = ode45(@ndd_fun,0:100,[Z_0;0;0],options,C);

l = y(:,2);

l = ll_0;

fl = find(l>=l_g);

fl = min(fl);

[tt,y] = ode45(@ndd_fun,0:0005:fl,[Z_0;0;0],options,C);

Z = y(:,1);lx = y(:,2); vx = y(:,3); 

psi = (Z>=0&Z<1)( chiZ(1 + lambdaZ + muZ) ) +%%%%%%%%%

      (Z>=1&Z<Z_s)( chi_sZ(1 + lambda_sZ) ) +

      (Z>=Z_s)1;

l_psi = 1 - (Delta/delta)(1-psi) - alphaDeltapsi;

px = ( psi - vxvx )/( lx + l_psi );

p = pxfDelta/100;

v = vxv_j/10;

l = lxl_0;

t = ttl_01000/v_j;

fl = find(l>=l_g);

fl = min(fl)+1;

p(fl:end)=[];v(fl:end)=[];l(fl:end)=[];t(fl:end)=[];

pd=pxfDelta/100/(1+ome/3/fai1/G);

pt=pd(1+ome/2/fai1/G);

aa=max(px);

M=find(px==aa);

Pm=[tt(M)l_01000/v_j lx(M)l_0 vx(M)v_j/10 px(M)fDelta/100 pt(M) pd(M) psi(M) Z(M)];

%ll=length(tt);

ran=find(Z>=1);

ran=min(ran);

Zf=[tt(ran)l_01000/v_j lx(ran)l_0 vx(ran)v_j/10 px(ran)fDelta/100 pt(ran) pd(ran) psi(ran) Z(ran)];

jie=find(psi>=1);

jie=min(jie);

psij=[tt(jie)l_01000/v_j lx(jie)l_0 vx(jie)v_j/10 px(jie)fDelta/100 pt(jie) pd(jie) psi(jie) Z(jie)];

pg=[tt(end)l_01000/v_j lx(end)l_0 vx(end)v_j/10 px(end)fDelta/100 pt(end) pd(end) psi(end) Z(end)];

Ry1=[Zf;psij;pg;Pm];

Ry2=[ttl_01000/v_j lxl_0 vxv_j/10 pxfDelta/100 pt pd psi Z];

subplot(2,2,1);

plot(t,p,'linewidth',2);

grid on;

xlabel('\fontsize{8}\bft  (ms)');

ylabel('\fontsize{8}\bfp  (kg/cm^{2})');

title('\fontsize{8}\bft-p曲线');

subplot(2,2,2)

plot(t,v,'linewidth',2);

grid on;

xlabel('\fontsize{8}\bft  (ms)');

ylabel('\fontsize{8}\bfv  (m/s)');

title('\fontsize{8}\bft-v曲线');

subplot(2,2,3)

plot(l,p,'linewidth',2);

grid on;

xlabel('\fontsize{8}\bfl  (dm)');

ylabel('\fontsize{8}\bfp  (kg/cm^{2})');

title('\fontsize{8}\bfl-p曲线');

subplot(2,2,4)

plot(l,v,'linewidth',2);

grid on;

xlabel('\fontsize{8}\bfl  (dm)');

ylabel('\fontsize{8}\bfv  (m/s)');

title('\fontsize{8}\bfl-v曲线');

tspan = length(t)/20;

tspan = 1:ceil(tspan):length(t);

tspan(end) = length(t);

fprintf('        t(ms)     p(kg/cm^2)     v(m/s)       l(dm)');

format short g;

Result = [t(tspan) p(tspan) v(tspan) l(tspan)]

format;

%------------------------------------------------------------------

function dy = ndd_fun(t,y,C)

chi=C(1);lambda=C(2);lambda_s=C(3);chi_s=C(4);Z_s=C(5);mu=C(12);

theta=C(6);B=C(7);V=C(8);Delta=C(9);delta=C(10);alpha=C(11);

Z = y(1); l = y(2); v = y(3);

psi = (Z>=0&Z<1)( chiZ(1 + lambdaZ + muZ) ) +

(Z>=1&Z<Z_s)( chi_sZ(1 + lambda_sZ) ) +

(Z>=Z_s)1;

l_psi = 1 - (Delta/delta)(1-psi) - alphaDeltapsi;

p = ( psi - vv )/( l + l_psi );

dy(1) = sqrt(theta/(2B))(p^V)(Z>=0&Z<=Z_s);

dy(2) = v;

dy(3) = thetap/2;

dy = [dy(1);dy(2);dy(3)];

结果

%层次分析法的matlab程序

1、disp('请输入判断矩阵A(n阶)');

A=input('A=');

[n,n]=size(A);

x=ones(n,100);

y=ones(n,100);

m=zeros(1,100);

m(1)=max(x(:,1));

y(:,1)=x(:,1);

x(:,2)=Ay(:,1);

m(2)=max(x(:,2));

y(:,2)=x(:,2)/m(2);

p=00001;i=2;k=abs(m(2)-m(1));

while k>p

i=i+1;

x(:,i)=Ay(:,i-1);

m(i)=max(x(:,i));

y(:,i)=x(:,i)/m(i);

k=abs(m(i)-m(i-1));

disp('权向量');disp(w);

disp('最大特征值');disp(t);

2、y(:,i)=x(:,i)/m(i);

k=abs(m(i)-m(i-1));

end

a=sum(y(:,i));

w=y(:,i)/a;

t=m(i);

disp('权向量');disp(w);

disp('最大特征值');disp(t);

%以下是一致性检验

扩展资料:

Matlab是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。

新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。

参考资料来源:百度百科-MATLAB

Matlab中计算函数运行时间的三种方法:

1、tic和toc组合

计算tic和toc之间那段程序之间的运行时间,它的经典格式为 :

tic

函数

toc

复制函数代码,当代码遇到tic时Matlab自动开始计时,运行到toc时自动计算此时与最近一次tic之间的时间。

2、etime(t1,t2)并和clock配合

计算t1,t2之间的时间差,它是通过调用windows系统的时钟进行时间差计算得到运行时间的,应用的形式:

t1=clock;

函数

t2=clock;

etime(t2,t1)

3、cputime函数来完成

使用方法和etime相似,只是这个是使用cpu的主频计算的,和前面原理不同,使用格式如下:

t0=cputime

函数

t1=cputime-t0

以上就是关于示波器wdf波形怎么改成excel文件,然后用matlab测量其fft,并获得thd全部的内容,包括:示波器wdf波形怎么改成excel文件,然后用matlab测量其fft,并获得thd、matlab编程,学生学分,学分绩点计算程序编制、求MATLAB简单潮流计算程序。。。。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9638004.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存