matlab信号产生子程序,请大家帮忙分析一个MATLAB程序,请帮忙编一个matlab程序,可以依次运行几个子程序,如fi...

导航:网站首页 >

请大家帮忙分析一个MATLAB程序,请帮忙编一个matlab程序,可以依次运行几个子程序,如fi

请大家帮忙分析一个MATLAB程序-,请帮忙编一个matlab程序,可以依次运行几个子程序,如fig1.m,fig2.m,...

匿名网友:

我跑了一下你的程序…… 先来说while的作用,while(ok==0),当ok=0时,程序执行下面的语句;当ok~=0时,跳出循环,不再执行循环中的语句。

你的这个while循环有两种跳出方式:当W'*X(:,i)程序跳到第二个if语句,执行ok=1,使得不满足while的条件,循环结束。

你的这个程序是通过后者跳出循环的。

再来说程序的最后三行, xindex=xmin-1xmax-xmin)/100:xmax+1; yindex=-W(2)*xindex/W(3)-W(1)/W(3); plot(xindex,yindex)%分类面 注意第一个表达式中xindex=xmin-1xmax-xmin)/100:xmax+1;这其实是一个循环,前面已经得到xmax-xmin=11.9,所以这个循环相当于 for (i=xmin-1;i一个xindex求得一个yindex,再画图。

匿名网友:

你透露的信息太少了,起码应该告知一下这个程序是用来干什么的,大概用的是什么算法啊。

看来只能猜了,从最后画出的图来看,感觉这个程序的目的用逼近的方法得到一条分界线的样子,具体是什么算法,看不出来。

你看看我的注解,自己研究一下吧。

在网页里可能显得比较乱,你复制粘贴到matlab的编辑器了再看吧。

w1=0.1 6.8 -3.5 2.0 4.1 3.1 -0.8 0.9 5.0 3.9; 1.1 7.1 -4.1 2.7 2.8 5.0 -1.3 1.2 6.4 4.0; %输入第一组十个点的平面坐标w1,对应图中的红点w2=7.1 -1.4 4.5 6.3 4.2 1.4 2.4 2.5 8.4 4.1;4.2 -4.3 0.0 1.6 1.9 -3.2 -4.0 -6.1 3.7 -2.2;%输入第二组十个点的平面坐标w2,对应图中的蓝星ww1=ones(1,size(w1,2)); w1; %将2行10列的w1前面增加一个全为1的行,将其扩展为3行10列的ww1ww2=ones(1,size(w2,2)); w2; %将2行10列的w2前面增加一个全为1的行,将其扩展为3行10列的ww2X=ww1 -ww2; %将3行10列的ww1和ww2,合并成3行20列的Xk=1; % k在这里应该是定义了一个逼近次数的计数器W=ones(size(X,1),1; % 感觉W应该是初始化了一个3行1列的向量,里面存得三个数用于得到最后的那条直线ok=0; %给ok赋初值0, ok在这里应该是定义了一个循环结束的标志,while(ok==0) %ok初始值为0,当ok的值变为1的时候,下面的循环语句就跳出了for i=1:size(X,2) %i从1增加到20,相当于一个数组指针,依次对X中的各个列进行操作if (W'*X(:,i)

匿名网友:

N=1000;Fs=1000;n=0:N-1;t=n/Fs;x=sin(2*pi*50*t)+sin(2*pi*250*t);wp=0.5*pi;ws=0.66*pi;wdelta=ws-wp;A=ceil(8*pi/wdelta);%ceil是天花板函数,就是取不小于数值的整数,比如ceil(6.1)=7if rem(A,2)==0 %rem(a,b)是a÷b得到的余数 A=A+1;end %一定要有end,if要end,for要end,都要endAw=A; wc=(wp+ws)/2;a=0:A-1;%a是一个从0到A-1的数组,间隔是1alpha=(A-1)/2;m=a-alpha+0.00001;hd=sin(wc*m)/(pi*m);win=hanning(Aw);h-hd*win;b=h;freqz(b,1,512)yfft=fftfilt(b,x,256);n1=81:241;t1=t(n1);x1=x(n1);y1=yfft(n1);subplot(2 2 1);plot(t1,x1);title('Original Signal')subplot(2 2 2);plot(t1,y1);title('Signal after the filter')

匿名网友:

做个测试,希望有所帮助。

% By lyqmathclc; clear all; close all;% 获取avi文件信息frame_info=aviinfo('C:\Documents and Settings\user\My Documents\My QQ Files\Sequence 01.avi');% 视频帧数frame_number=frame_info.NumFrames;for i=1:frame_number% 读取第i帧I_frame_class=aviread('C:\Documents and Settings\user\My Documents\My QQ Files\Sequence 01.avi',i);% 提起第i帧图像到四维数组I_truecolor(:,:,:,i)=I_frame_class.cdata;% 转换成灰度图I_gray(:,:,i)=rgb2gray(I_truecolor(:,:,:,i));% 数据类型转换I_mid=double(I_gray(:,:,i));I_gray_double(:,:,i)=I_mid;if i==1% 记录第一帧sum_frame=I_gray_double(:,:,i);else% 取和sum_frame=sum_frame+I_gray_double(:,:,i);endend

问题推荐

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值