。。。这活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简单潮流计算程序。。。。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)