MATLAB 板


LINE

请帮我看看问题是什麽, 在subplot(2,2,2)的部分 这程式码很长 请多包涵XDDD _____________________________________________________________________________ function[]=izhikevich(varargin) if nargin > 0 eval(varargin{1}); %execute the argument else main; end; %-------------------------------- function[]=main global mode modeold pauseflag drawnull thresh quitflag global a b c d e I v u VU L L = 500; pauseflag=-1; mode = 'A'; modeold=['0']; drawnull=1; quitflag=0; pars=[0.02 0.2 1 8 0.1 8 ;... 0.02 0.2 1 8 0.1 0.1 ;... 0.02 0.2 1 2 0.1 8 ;... 0.02 0.2 1 0.3 0.1 0.1 ;... 0.02 0.2 1 4 0.1 10 ;... 0.01 0.2 1 12 0.1 30 ;... 0.01 -0.1 1 6 0.1 0 ;... 0.2 0.2 1 5 0.1 0 ;... 0.01 -0.5 1 8 0.1 0.001 ;... 0.05 0.26 1 4 0.1 2 ;... 0.03 0.2 1 4 0.1 0.06 ;... 0.01 0.25 1 4 0.1 0.6 ;... 0.03 0.25 1 4 0.1 -15;... 0.03 0.25 1 0.1 0.1 -15;... 0.03 -0.25 1 4 0.1 0.5 ;... 0.1 0.26 -5 0 0.1 0.0061 ;... 0.03 0.2 0.8 6 0.1 5 ;... 0.02 1 1 8 0.1 0 ;... -0.02 -0.2 1 8 0.1 -4 ;... -0.02 -0.2 1 1 0.1 -4]; a=pars(1,1); b=pars(1,2); c=pars(1,3); d=pars(1,4); e=pars(1,5); I=pars(1,6); figNumber = figure(1); clf; set(figNumber,'NumberTitle','off','doublebuffer','on',... 'Name','Simple Model by Izhikevich (2003)',... 'Units','normalized','toolbar','figure',... 'Position',[0.05 0.1 0.9 0.8]); h1=subplot(4,2,1); set(h1,'Position',[0.05 0.75 0.27 0.2]) vtrace=line('color','k','LineStyle','-','erase','background','xdata',[],'ydata' ,[],'zdata',[]); axis([0 100 -10 30]) title('membrane potential, v') xlabel('time (ms)'); h2=subplot(4,2,3); set(h2,'Position',[0.05 0.5 0.27 0.15]) utrace=line('color','k','LineStyle','-','erase','background','xdata',[],'ydata' ,[],'zdata',[]); axis([0 100 -10 30]) title('recovery variable, u') xlabel('time (ms)') h3=subplot(2,2,2); set(h3,'Position',[0.4 0.5 0.55 0.45]) head = line('color','r','Marker','.','markersize',20,'erase','xor','xdata',[], 'ydata',[],'zdata',[]); tail=line('color','k','LineStyle','-','erase','xor','xdata',[],'ydata',[], 'zdata',[]); vnull=line('color','b','LineStyle','-','erase','xor','xdata',[],'ydata',[], 'zdata',[]); unull=line('color','r','LineStyle','-','erase','xor','xdata',[],'ydata',[], 'zdata',[]); cnull=line('color','g','LineStyle',':','erase','xor','xdata',[],'ydata',[], 'zdata',[]); %thresh=line('color','r','LineStyle','-','erase','xor','xdata',[],'ydata',[], 'zdata',[]); axis([-4 12 -6 20]); <<<<< *******这边不管我怎麽改垂直轴的座标 title('phase portrait') 永远是-40多~60左右.... xlabel('v');ylabel('u'); 上面两个图就没有这种问题 if exist('izhikevich.jpg') h=subplot(2,2,3); set(h,'Position',[0.05 0.05 0.2 0.37]) fig1=imread('izhikevich.jpg'); B=gray; mind=20; B(1:mind,:)=B(1:mind,:)/B(mind,1); colormap(1-B); imagesc(fig1); axis off; else uicontrol('Style','frame', 'Units','normalized', ... 'Position',[0.04 0.05 0.22 0.37]); disp(['Cannot find figure file <izhikevich.jpg>' 7]); uicontrol('Style','text', 'Units','normalized', 'HorizontalAlignment' ,'center',... 'Position',[0.05 0.28 0.17 0.02],'string',{'download picture izhikevich.jpg'}); uicontrol('Style','text', 'Units','normalized', 'HorizontalAlignment' ,'center',... 'Position',[0.05 0.21 0.17 0.02],'string',{'or see Fig.1 in Izhikevich (2004)'}); end uicontrol('Style','pushbutton', 'Units','normalized', ... 'Position',[0.05+0*0.2/4 0.09+4*0.37/5 0.02 0.025],... 'String','A','Callback','global mode; mode=''A'';'); uicontrol('Style','pushbutton', 'Units','normalized', ... 'Position',[0.05+1*0.2/4 0.09+4*0.37/5 0.02 0.025],... 'String','B','Callback','global mode; mode=''B'';'); uicontrol('Style','pushbutton', 'Units','normalized', ... 'Position',[0.05+2*0.2/4 0.09+4*0.37/5 0.02 0.025],... 'String','C','Callback','global mode; mode=''C'';'); uicontrol('Style','pushbutton', 'Units','normalized', ... 'Position',[0.05+3*0.2/4 0.09+4*0.37/5 0.02 0.025],... 'String','D','Callback','global mode; mode=''D'';'); uicontrol('Style','pushbutton', 'Units','normalized', ... 'Position',[0.05+0*0.2/4 0.09+3*0.37/5 0.02 0.025],... 'String','E','Callback','global mode; mode=''E'';'); uicontrol('Style','pushbutton', 'Units','normalized', ... 'Position',[0.05+1*0.2/4 0.09+3*0.37/5 0.02 0.025],... 'String','F','Callback','global mode; mode=''F'';'); uicontrol('Style','pushbutton', 'Units','normalized', ... 'Position',[0.05+2*0.2/4 0.09+3*0.37/5 0.02 0.025],... 'String','G','Callback','global mode; mode=''G'';'); uicontrol('Style','pushbutton', 'Units','normalized', ... 'Position',[0.05+3*0.2/4 0.09+3*0.37/5 0.02 0.025],... 'String','H','Callback','global mode; mode=''H'';'); uicontrol('Style','pushbutton', 'Units','normalized', ... 'Position',[0.05+0*0.2/4 0.09+2*0.37/5 0.02 0.025],... 'String','I','Callback','global mode; mode=''I'';'); uicontrol('Style','pushbutton', 'Units','normalized', ... 'Position',[0.05+1*0.2/4 0.09+2*0.37/5 0.02 0.025],... 'String','J','Callback','global mode; mode=''J'';'); uicontrol('Style','pushbutton', 'Units','normalized', ... 'Position',[0.05+2*0.2/4 0.09+2*0.37/5 0.02 0.025],... 'String','K','Callback','global mode; mode=''K'';'); uicontrol('Style','pushbutton', 'Units','normalized', ... 'Position',[0.05+3*0.2/4 0.09+2*0.37/5 0.02 0.025],... 'String','L','Callback','global mode; mode=''L'';'); uicontrol('Style','pushbutton', 'Units','normalized', ... 'Position',[0.05+0*0.2/4 0.09+1*0.37/5 0.02 0.025],... 'String','M','Callback','global mode; mode=''M'';'); uicontrol('Style','pushbutton', 'Units','normalized', ... 'Position',[0.05+1*0.2/4 0.09+1*0.37/5 0.02 0.025],... 'String','N','Callback','global mode; mode=''N'';'); uicontrol('Style','pushbutton', 'Units','normalized', ... 'Position',[0.05+2*0.2/4 0.09+1*0.37/5 0.02 0.025],... 'String','O','Callback','global mode; mode=''O'';'); uicontrol('Style','pushbutton', 'Units','normalized', ... 'Position',[0.05+3*0.2/4 0.09+1*0.37/5 0.02 0.025],... 'String','P','Callback','global mode; mode=''P'';'); uicontrol('Style','pushbutton', 'Units','normalized', ... 'Position',[0.05+0*0.2/4 0.09+0*0.37/5 0.02 0.025],... 'String','Q','Callback','global mode; mode=''Q'';'); uicontrol('Style','pushbutton', 'Units','normalized', ... 'Position',[0.05+1*0.2/4 0.09+0*0.37/5 0.02 0.025],... 'String','R','Callback','global mode; mode=''R'';'); uicontrol('Style','pushbutton', 'Units','normalized', ... 'Position',[0.05+2*0.2/4 0.09+0*0.37/5 0.02 0.025],... 'String','S','Callback','global mode; mode=''S'';'); uicontrol('Style','pushbutton', 'Units','normalized', ... 'Position',[0.05+3*0.2/4 0.09+0*0.37/5 0.02 0.025],... 'String','T','Callback','global mode; mode=''T'';'); uicontrol('Style','frame', 'Units','normalized', ... 'Position',[0.27 0.05 0.12 0.37]); uicontrol('Style','text', 'Units','normalized', 'HorizontalAlignment','left' ,... 'tag','parameters','Position',[0.29 0.38 0.07 0.03],'string' ,'parameters:'); uicontrol('Style','text', 'Units','normalized', ... 'Position',[0.28 0.35 0.03 0.03],'string','a='); uicontrol('Style','edit', 'Units','normalized', ... 'Position',[0.31 0.35 0.05 0.03],... 'string',num2str(a),'tag','a','Callback','izhikevich (''changepars'')'); uicontrol('Style','text', 'Units','normalized', ... 'Position',[0.28 0.31 0.03 0.03],'string','b='); uicontrol('Style','edit', 'Units','normalized', ... 'Position',[0.31 0.31 0.05 0.03],... 'string',num2str(b),'tag','b','Callback','izhikevich (''changepars'')'); uicontrol('Style','text', 'Units','normalized', ... 'Position',[0.28 0.27 0.03 0.03],'string','c='); uicontrol('Style','edit', 'Units','normalized', ... 'Position',[0.31 0.27 0.05 0.03],... 'string',num2str(c),'tag','c','Callback','izhikevich (''changepars'')'); uicontrol('Style','text', 'Units','normalized', ... 'Position',[0.28 0.23 0.03 0.03],'string','d='); uicontrol('Style','edit', 'Units','normalized', ... 'Position',[0.31 0.23 0.05 0.03],... 'string',num2str(d),'tag','d','Callback','izhikevich (''changepars'')'); uicontrol('Style','text', 'Units','normalized', ... 'Position',[0.28 0.19 0.03 0.03],'string','e='); uicontrol('Style','edit', 'Units','normalized', ... 'Position',[0.31 0.19 0.05 0.03],... 'string',num2str(e),'tag','e','Callback','izhikevich (''changepars'')'); uicontrol('Style','text', 'Units','normalized', ... 'Position',[0.28 0.15 0.03 0.03],'string','I='); uicontrol('Style','edit', 'Units','normalized', ... 'Position',[0.31 0.15 0.05 0.03],... 'string',num2str(I),'tag','I','Callback','izhikevich (''changepars'')'); uicontrol('Style','text', 'Units','normalized', ... 'Position',[0.28 0.11 0.05 0.03],... 'String','current'); uicontrol('Style','radio', 'Units','normalized', ... 'Position',[0.33 0.11 0.03 0.03],... 'tag','current','value',0,'callback','global drawnull;drawnull=1;'); uicontrol('Style','frame', 'Units','normalized', ... 'Position',[0.4 0.25 0.16 0.17]); uicontrol('Style','text', 'Units','normalized', 'HorizontalAlignment','left' ,... 'Position',[0.41 0.26 0.14 0.15],'string',{'simple model:' ;'v''=0.04v^2+evu-u+I';'u''=a(bv-u)';'' ;'if v=+30 mV (peak of AP)';'then v=c, u=u+d'}); uicontrol('Style','pushbutton', 'Units','normalized', ... 'Position',[0.4 0.19 0.1 0.05],... 'String','excitatory pulse','Callback','global v; v=v+10;'); uicontrol('Style','pushbutton', 'Units','normalized', ... 'Position',[0.4 0.12 0.1 0.05],... 'String','inhibitory pulse','Callback','global v; v=v-10;'); uicontrol('Style','pushbutton', 'Units','normalized', ... 'Position',[0.4 0.05 0.1 0.05],... 'String','initial point','Callback','global u v L VU; ic=ginput(1) ;v=ic(1);u=ic(2);VU = [v;u]*ones(1,L);'); uicontrol('Style','pushbutton', 'Units','normalized', ... 'Position',[0.57 0.37 0.1 0.05],... 'tag','threshold','String','show threshold','Callback' ,'izhikevich(''showthreshold'')'); uicontrol('Style','frame', 'Units','normalized', ... 'Position',[0.52 0.12 0.31 0.05]); uicontrol('Style','text', 'Units','normalized',... 'Position',[0.525 0.145 0.3 0.02],'string','input current'); uicontrol('Style','text', 'Units','normalized','HorizontalAlignment','left' ,... 'Position',[0.525 0.145 0.05 0.02],'string','-100'); uicontrol('Style','text', 'Units','normalized','HorizontalAlignment' ,'right',... 'Position',[0.775 0.145 0.05 0.02],'string','+100'); uicontrol('Style','slider', 'Units','normalized', ... 'Position',[0.525 0.125 0.3 0.015],... 'min',-100,'max',100,... 'value',I, 'tag','inputcurrent','callback','izhikevich (''changepars(1)'')'); uicontrol('Style','frame', 'Units','normalized', ... 'Position',[0.52 0.05 0.31 0.05]); uicontrol('Style','text', 'Units','normalized',... 'Position',[0.525 0.075 0.3 0.02],'string','visualization speed'); uicontrol('Style','slider', 'Units','normalized', ... 'Position',[0.525 0.055 0.3 0.015],... 'value',0.0, 'tag','speed'); uicontrol('Style','pushbutton', 'Units','normalized', ... 'Position',[0.85 0.12 0.1 0.05],... 'String','pause','tag','pause','Callback','global pauseflag ;pauseflag=-pauseflag;'); uicontrol('Style','pushbutton', 'Units','normalized', ... 'Position',[0.85 0.05 0.1 0.05],... 'String','quit','Callback','global quitflag;quitflag=1;'); v=-70; u=-20; VU = [v;u]*ones(1,L); tau = 0.2; t=0; % The main loop while quitflag==0 pause(0.1*get(findobj('tag','speed'),'value')^1); p=findobj('tag','pause'); while pauseflag>0 pause(0);drawnow; %needed to overcome MATLAB7 bug (found by Gerardo Lafferriere) set(p,'string','resume'); end; set(p,'string','pause'); if modeold ~= mode set(findobj('tag','parameters'),'string',['parameters: ' mode]); m=find('ABCDEFGHIJKLMNOPQRST'==mode); a=pars(m,1);set(findobj('tag','a'),'string',num2str(a)); b=pars(m,2);set(findobj('tag','b'),'string',num2str(b)); c=pars(m,3);set(findobj('tag','c'),'string',num2str(c)); d=pars(m,4);set(findobj('tag','d'),'string',num2str(d)); e=pars(m,5);set(findobj('tag','d'),'string',num2str(e)); I=pars(m,6);set(findobj('tag','I'),'string',num2str(I)); set(findobj('tag','inputcurrent'),'value',max(-100,min(100,I))); set(findobj('tag','current'),'value',0); modeold=mode; drawnull=1; set(h3, 'ylim', -b*62+[-30 70]) set(h2, 'ylim', -b*62+[-30 70]) end; if drawnull>0 drawnull=0; vv=-100:0.01:100;uu=-100:0.01:100; set(vnull,'xdata',vv,'ydata',vv.^2+e*vv.*uu-uu+I*get(findobj('tag' ,'current'),'value')); vv=[-100 100]; set(unull,'xdata',[-100 100],'ydata',b*[-100 100]); set(cnull,'xdata',[c c],'ydata',[-200 200]); drawnow; end; t=t+tau; v=v+tau*(v^2+e*v*u-u+I*get(findobj('tag','current'),'value')); u=u+tau*a*(b*v-u); if v>30 v=c; u=u+d; VU(1,1)=31; end; VU = [[v;u],VU(:,1:L-1)]; VVU=VU; VVU(1,find(VU(1,:)>30))=NaN; set(vtrace,'xdata',tau*(L:-1:1),'ydata',VU(1,:)); set(utrace,'xdata',tau*(L:-1:1),'ydata',VU(2,:)); set(head,'xdata',VU(1,1),'ydata',VU(2,1)) set(tail,'xdata',VVU(1,1:50),'ydata',VVU(2,1:50)) drawnow; %needed to overcome MATLAB7 bug (found by Gerardo Lafferriere) end; %----------------------------------- function changepars(inpcur) global a b c d e I drawnull drawnull = 1; obj=findobj('tag','a'); nv=str2num(get(obj,'string')); if isempty(nv) nv=a; end; a=nv; set(obj,'string',num2str(nv)); obj=findobj('tag','b'); nv=str2num(get(obj,'string')); if isempty(nv) nv=b; end; b=nv; set(obj,'string',num2str(nv)); obj=findobj('tag','c'); nv=str2num(get(obj,'string')); if isempty(nv) nv=c; end; c=nv; set(obj,'string',num2str(nv)); obj=findobj('tag','d'); nv=str2num(get(obj,'string')); if isempty(nv) nv=d; end; d=nv; set(obj,'string',num2str(nv)); obj=findobj('tag','e'); nv=str2num(get(obj,'string')); if isempty(nv) nv=e; end; e=nv; set(obj,'string',num2str(nv)); if nargin <1 obj=findobj('tag','I'); nv=str2num(get(obj,'string')); if isempty(nv) nv=I; end; I=max(-100,min(100,nv)); set(obj,'string',num2str(I)); set(findobj('tag','inputcurrent'),'value',I); else I = get(findobj('tag','inputcurrent'),'value'); set(findobj('tag','I'),'string',num2str(I)); end; 这不是我写的 我修改的部分只是参数添加 更改初始参数和微分方程式 而且我只是刚学习 XD 找了很久找不出原因 不好意思我不会上色XDDDD 眼睛痛请包涵 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.85.35.71
1F:推 sunev:error message? 07/13 23:19
2F:→ anikishawn:没有出现error message 07/13 23:34







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP