פורסם 2013 בנובמבר 1512 שנים קיבלתי משימה לעשות תוכנית REAL TIME כאשר יש לי נקודה שזזה לפי פונקציה מסויימת ואני אמור לעקוב אחריה עם העכר ואז להציג את הגרף של הנקודה יחד עם הגרף של תנועות העכבר שעשיתיאת הפונקציה של תנועות העכבר המרצה נתן לנו והיא:function mouseMove (object, eventdata)xyPosition = get (gca, 'CurrentPoint');xyPosition = round ( 100 * xyPosition ) / 100 ; title(gca, ['(X,Y) = (', num2str(xyPosition(1,1)), ', ',num2str(xyPosition(1,2)), ')'], ...'fontSize' ,20 );התוכנית שמזיזה את הנקודה עשיתי כך:y=0.5;x=1:0.01:100;x2=sin(x);delay=0.0005;for i=2:numel(x);pause(delay);hold onplot(x2(i),y,'ob');plot(x2(i-1),y,'ow')end עכשיו כאשר אני קורא לפונקציה של העכבר בלולאה ע"י הפקודה הבאה:set (figure, 'WindowButtonMotionFcn',@mouseMove);הוא מן הסתם פותח לי מלא FIGURE על כל הרצה של לולאה כי כמובן על קריאת פונקציה HOLD ON לא עובד יש דרך להיתגבר על בעיה זו?וגם הפונקציה של המרצה לא שומרת את הערכים של מיקום העכבר וגם פקודה SET לא יש איזושהי דרך ליפתור בעיה זו?תודה רבה לכל העונים
פורסם 2013 בנובמבר 1512 שנים 1.שים את הקוד בטאג code כדי שיהיה יותר קל לקרוא (לפחות תיישר לימין)2.לא הבנתי למה אתה שם 2 פלוטים בכל ריצה של לולאה ביחד עם HOLD ON. כדי לעשות שהנקודה תזוז אתה צריך לנקות את הגרף כל ריצה של הלולאה ולצייר נקודה אחת3.הפונקציה שהמרצה הביא עובדת בצורה עקומה (אם אני מבין נכון שמה את הנתונים של העכבר בTITLE של הFIGURE) אבל עדיין אפשר לעבוד עם זהאת הSET שאתה עושה אתה אמור לעשות פעם אחת (מחוץ ללולאה) ואז רק לקרוא את הTITLE בכל ריצה של הלולאה שלך
פורסם 2013 בנובמבר 1512 שנים הנה קוד שעובד. מצד שני הביצועים נוראייםh=figure;xlim([-1,1]);ylim([-1,1]);set (h, 'WindowButtonMotionFcn',@mouseMove);y=0.5;x=1:0.01:100;x2=sin(x);delay=0.005;MouseX(1)=0;MouseY(1)=0;pause(2);for i=2:numel(x); pause(delay); hold on plot(x2(i),y,'ob'); plot(x2(i-1),y,'or') TitleHandle=get(gca,'title'); FigTitle=get(TitleHandle,'String'); XPos=10; YPos=strfind(FigTitle,','); YPosEnd=strfind(FigTitle,')'); MouseX=str2double(FigTitle(XPos:YPos(2)-1)); MouseY=str2double(FigTitle(YPos(2)+2:YPosEnd(end)-1)); plot(MouseX,MouseY,'xg');endבנוסף, כמה דברים שכדאי לקרוא על REALTIMEhttp://www.mathworks.com/help/matlab/ref/drawnow.htmlhttp://stackoverflow.com/questions/3115833/real-time-plot-in-matlab נערך 2013 בנובמבר 1512 שנים על-ידי Diabetus
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.