关于MATLAB程序的解释说明

关于MATLAB程序的解释说明,第1张

function dy=vdp1000(t,y) % 建立函数,函数名字是vdp,t,y表示输入值,dy是输出值

dy=zeros(2,1); %建立空矩阵 21的0矩阵

dy(1)=y(2); %第一个微分方程

dy(2)=1000(1-y(1)^2)y(2)-y(1);%第二个微分方程

建立m文件的作用就是在[T,Y]=ode15s('vdp1000',[0 3000],[2 0]); 调用这个vdpm函数。

如不明白请留言

c(b)的用法在matlab中有两种:

1b是普通数组,那么将b作为下标数组,对c数组相应下标元素进行 *** 作。注意此时b中元素必须大于0,因为matlab中数组的下标从1开始。

2b是逻辑数组,即其元素是逻辑1或逻辑0,这时让c(b)=12即是给c中对应于b逻辑1位置的元素赋值12。

clear

x=[3 1 5 4 0 3 7 9 10 14 17 14 12 10 7 2 6 11 15 19 22 21 27 15 15 20 21 24 25 28 5 17 25 9 9 30 0]; %给矩阵x赋值

y=[2 5 4 7 8 11 9 6 2 0 3 6 9 12 14 16 18 17 12 9 5 0 9 19 14 17 13 20 16 18 12 16 7 20 15 12 0]; %给矩阵y赋值

t=[150 150 055 120 085 130 120 230 140 150 110 270 180 180 060 150 080 150 080 140 120 180 140 160 160 100 200 100 210 120 190 130 160 120 150 130 000]; %给矩阵t赋值

i=1:37; %i=1 2 3 4 5 6 737

a=1:37; %a同上

plot(x,y,'r') %在点(x,y)处画‘’

for ii=1:37 %ii=1 2 3 4 5 6 7 8 37

k=int2str(ii); %将ii由整型转到字符串型,再赋给k

k=strcat('P',k); %字符串链接函数,相当于k=P32 P15 P54

text(x(ii),y(ii),k); %在(x(ii),y(ii))处标上k

end %for循环结束

w=[i;x;y;t;a]; %w为一个矩阵,由矩阵i、x、y、t、a组成

w(5,:)=0; %令矩阵w第5行元素全部为零

jg=zeros(11,11); %创建一个1111的全零矩阵

for i=1:20 %i=1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

sum=0; %sum赋初值为零

j1=1; %给j1赋值为1

s=0;

m=37;

i3=37;

for j=1:36 %在上一个for循环中的又一个for循环、循环嵌套

if(w(2,j)+w(3,j)>s&w(5,j)==0) %如果w(2,j)+w(3,j)>s 而且w(5,j)==0

s=w(2,j)+w(3,j); %将w(2,j)+w(3,j)赋给矩阵s,在for循环里,w(2,j)为矩阵w第二行

jg(i,j1)=w(1,j); %给矩阵jg赋值

sum=w(4,j); %将矩阵w第四行赋给sum

m=j;

else continue; %if不成立继续循环

end

end

w(5,m)=1; %赋值

j1=j1+1;

while 1

js=0;

q=40;

for k=1:36

if(q>w(2,m)-w(2,k)+w(3,m)-w(3,k))&w(2,m)>w(2,k)&w(3,m)>w(3,k)&(6-sum)>w(4,k)&w(5,k)==0

q=w(2,m)+w(3,m)-w(2,k)-w(3,k);

js=1;

jg(i,j1)=w(1,k);

i3=k;

else continue;

end

end

w(5,i3)=1;

sum=sum+w(4,i3);

j1=j1+1;

m=i3;

if(w(2,i3)==0&w(3,i3)==0|js==0)

break

end

end

end

kcost=0;

zcost=0;

allcost=0;

n=0;

for u1=1:11

for u2=1:11

if jg(u1,u2)~=0

n=jg(u1,u2);

else continue

end

zcost=zcost+w(4,n)18(w(2,n)+w(3,n));

end

n=jg(u1,1);

kcost=kcost+04(w(2,n)+w(3,n));

end

allcost=zcost+kcost

zcost

kcost

i=1:11;

time=[i];

time(1,:)=0;

n1=0;

n2=0;

n3=0;

for u4=1:11

for u5=1:11

if jg(u4,u5)~=0

n1=jg(u4,u5);

n2=n2+1;

else continue

end

end

n3=jg(u4,1);

time(1,u4)=((w(2,n3)+w(3,n3))2)/40;

end

n2

time

allcost =

23454e+003

zcost =

22134e+003

kcost =

132

n2 =

36

time =

Columns 1 through 9

23000 22000 21000 17000 14500 14000 13500 11000 10500

Columns 10 through 11

10000 08500

[x,fs,bit]=wavread('e:\1wav'); %matlab读一个名叫1的wav文件,返回采样数据x,采样率(FS)(赫兹)和每个抽样的比特数bit(1中用来编码的数据文件)。

[b,a]=butter(4,[0025 085]); %设计butter高通滤波器参数

y=filter(b,a,x); %对采样数据x进行滤波

[Rows,Cols]=size(x); %采样数据x的行数和列数

1、A=pi/3[0:6]: 产生0°、60°、120°360°共7个角度值。

2、rexp(iy)是一个复数的指数表达方式,对应平面中的一个点,设为Z,相应的y为向量OZ与X轴正向的夹角,r为向量OZ的模。

因此plot(rexp(iA),'k','linewidth',2);表示在平面上依次绘制7个点,并连线,连线宽度为2,颜色为'k'。最终图形g1为一正6边形。

3、real(rexp(iA))、imag(rexp(iA))分别取出6边形顶点的x、y坐标值(对应于复数的实部real、虚部imag)。然后用fill函数填充区域,set(g1,'FaceColor',[1,05,0])设置颜色。

4、g2与g1大同小异,只是半径rc、角度aa与g1不同。由于所有点的半径都为rc,因此g2为图形为圆。

5、text(0,0,'1','fontsize',10);在圆点处添加数字1。

这是我的理解,供你参考。

请采纳答案,支持我一下。

mean求平均值。

abs求每个元素的绝对值。

length求向量的长度。

倒数第二行,获得一个0到fs(length(y)-1)/length(y),间隔为fs/length(y) 的向量 f 。

最后一行,以上面那个 f 中第一个值到第 length(f)-1)/2 个值(长度减一的一半,也就是中间)为“x”,y3 第一个~中间那个值为“y”,画折线图

以上就是关于关于MATLAB程序的解释说明全部的内容,包括:关于MATLAB程序的解释说明、帮忙解释下matlab程序、matlab程序解释等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/zz/10077258.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存