24小时热门版块排行榜    

查看: 1710  |  回复: 11

plxh

木虫 (正式写手)

[求助] Matlab绘图再求助

在帖子http://muchong.com/bbs/viewthread.php?tid=4354741中部分实现了绘图目标。感谢sogooda朋友!

利用sogooda同学给出的代码实现了画出如下效果的图。
现在有新的想法,用什么方式可以看到小方块  一个一个地方的变动过程呢?

用Matlab的GUI或者Real Time Workshop 或者S-Function?
本人新手,请各位同学不吝赐教!!
PS:mat文件里的数据是用把simulink里的数据用To Workspace导出到工作空间的。
效果图
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : matlab.mat
  • 2012-04-09 09:27:44, 9.33 K

» 本帖@通知

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sogooda

金虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
xiegangmai: 金币+1, 谢谢参与! 2012-04-09 23:18:55
plxh: 金币+5, ★★★很有帮助, 非常感谢!请看楼下回复内容! 2012-04-10 06:59:19
在函数文件的最后加一句
pause
试试。
2楼2012-04-09 23:06:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sogooda

金虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★
xiegangmai: 金币+1, 谢谢参与! 2012-04-09 23:19:11
plxh: 金币+5, ★★★很有帮助 2012-04-10 09:32:06
或者自动一点儿用
pause(1)
3楼2012-04-09 23:09:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

plxh

木虫 (正式写手)

引用回帖:
3楼: Originally posted by sogooda at 2012-04-09 23:09:03:
或者自动一点儿用
pause(1)

哥们,谢谢你!我还没试呢,但我想这样是在一张图上保留原菱形再间断显示后面的吧?   我想实现的是菱形运动过程,不保留以前的位置。   是不是可以每次汇图就保存图片文件,然后顺序播放就可得到动画过程?   这样的话保存图片的命令怎么写呢?求助!
4楼2012-04-10 06:56:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

plxh

木虫 (正式写手)

引用回帖:
3楼: Originally posted by sogooda at 2012-04-09 23:09:03:
或者自动一点儿用
pause(1)

兄弟你这的确是实现了动画显示。可还是像我说的那样,保留了前面的图像。是不是可以每次汇图就保存图片文件,然后顺序播放就可得到动画过程?   这样的话保存图片的命令怎么写呢?求助!
5楼2012-04-10 09:33:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
plxh: 金币+5, ★★★很有帮助, 这位兄弟谢谢你!你可能没看到。我要把三个数据回到一张图上,不过你这个很有帮助。 2012-04-10 10:17:04
CODE:
function aa

clear;clc;close all
load matlab3
for i=1:3;
    hold on;
    if i==1   %必须是用两个等号。
          figure1=figure('color','w')  
        eta12=eta1(1:5:end,:);

        x=eta12(:,2);
        y=eta12(:,1);
        % theta=eta1(:,3); % ?

        theta=pi/2-eta12(:,3);
        
        myr=linspace(0,0,length(x));
        myg=linspace(0,1,length(x));
        myb=linspace(0,0,length(x));
        for jj=1:length(x)   
           plot(x,y);hold on;
            plotSquare2(x(jj),y(jj),theta(jj),1/30,[myr(jj),myg(jj),myb(jj)]);
            axis equal
            pause(0.1)
    hold off;
        end
        colormap([myr', myg', myb'])
        colorbar
        


    elseif i==2
         figure1=figure('color','w')
        eta22=eta2(1:5:end,:);

        x=eta22(:,2);
        y=eta22(:,1);
        % theta=eta1(:,3); % ?

        theta=pi/2-eta22(:,3);
        
        myr=linspace(0,0,length(x));
        myg=linspace(0,1,length(x));
        myb=linspace(0,0,length(x));
        for jj=1:length(x)
            plot(x,y);hold on;
            plotSquare2(x(jj),y(jj),theta(jj),1/30,[myr(jj),myg(jj),myb(jj)]);
            axis equal
            pause(0.1)
    hold off;
        end
        colormap([myr', myg', myb'])
        colorbar
        
        
    elseif i==3        
          figure1=figure('color','w')
        eta32=eta1(1:5:end,:);

        x=eta32(:,2);
        y=eta32(:,1);
        % theta=eta1(:,3); % ?

        theta=pi/2-eta32(:,3);
        
        myr=linspace(0,0,length(x));
        myg=linspace(0,1,length(x));
        myb=linspace(0,0,length(x));
        for jj=1:length(x)   
            plot(x,y);hold on;
            plotSquare2(x(jj),y(jj),theta(jj),1/30,[myr(jj),myg(jj),myb(jj)]);
            axis equal
            pause(0.1)
    hold off;
        end
        colormap([myr', myg', myb'])
        colorbar
        
    end
   
    end
   
   


function plotSquare2(x0,y0,theta,a,mycolor)
xs=[-2*a,-2*a,2*a,3*a,2*a,-2*a];
ys=[a,-a,-a,0,a,a];

xy=[cos(theta),-sin(theta);
    sin(theta),cos(theta)]*[xs;ys] ;
fill(xy(1,:)+x0,xy(2,:)+y0,mycolor)

复制到editor中保存为.m文件,点击run运行
The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
6楼2012-04-10 10:04:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

plxh

木虫 (正式写手)

引用回帖:
6楼: Originally posted by dbb627 at 2012-04-10 10:04:10:
function aa

clear;clc;close all
load matlab3
for i=1:3;
    hold on;
    if i==1   %必须是用两个等号。
          figure1=figure('color','w')  
        eta12=eta1(1:5:end,;

        x ...

我现在自己有思路了,不过还是有点困难。
我想设置colorbar的ylabel,可下面两个命令都不行。
colorbar('Ylabel','Times/s','YTickLabel',[0 100 200 300 400 500 600 700])

set(colorbar, 'Ylabel','Times/s')
7楼2012-04-10 10:20:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

plxh

木虫 (正式写手)

引用回帖:
7楼: Originally posted by plxh at 2012-04-10 10:20:46:
我现在自己有思路了,不过还是有点困难。
我想设置colorbar的ylabel,可下面两个命令都不行。
colorbar('Ylabel','Times/s','YTickLabel',)

set(colorbar, 'Ylabel','Times/s')

求助设置colorbar的ylabel的命令!
8楼2012-04-10 10:25:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★
plxh: 金币+5, 有帮助, 首先谢谢斑竹!但是实现的效果不对了。在一起实现,但半径是不一样的,这个我自己做到了。现在我的关注点是colorbar,首先是ylabel,其次是'YTickLabel',现在竟然在最大值700之后又出现了0,100.晕死~~ 2012-04-10 10:53:38
CODE:
function aa

clear;clc;close all
load matlab3
        eta12=eta1(1:5:end,:);

        x=eta12(:,2);
        y=eta12(:,1);
        % theta=eta1(:,3); % ?

        theta1=pi/2-eta12(:,3);
         
        eta22=eta2(1:5:end,:);

        x=eta22(:,2);
        y=eta22(:,1);
        % theta=eta1(:,3); % ?

        theta2=pi/2-eta22(:,3);
         
        eta32=eta1(1:5:end,:);

        x=eta32(:,2);
        y=eta32(:,1);
        % theta=eta1(:,3); % ?

        theta3=pi/2-eta32(:,3);
        
        myr=linspace(0,0,length(x));
        myg=linspace(0.5,1,length(x));
        myb=linspace(0,0,length(x));
        for jj=1:length(x)   
            plot(x,y);hold on;colormap([myr', myg', myb'])
            plotSquare2(x(jj),y(jj),theta1(jj),1/30,[myr(jj),myg(jj),myb(jj)]);
            plotSquare2(x(jj),y(jj),theta2(jj),1/30,[myr(jj),myg(jj),myb(jj)]);
            plotSquare2(x(jj),y(jj),theta3(jj),1/30,[myr(jj),myg(jj),myb(jj)]);
             colorbar
            axis([min(x)-1 max(x)+1 min(y)-1 max(y)+1])
            pause(0.05)
            hold off;
        end

function plotSquare2(x0,y0,theta,a,mycolor)
xs=[-2*a,-2*a,2*a,3*a,2*a,-2*a];
ys=[a,-a,-a,0,a,a];

xy=[cos(theta),-sin(theta);
    sin(theta),cos(theta)]*[xs;ys] ;
fill(xy(1,:)+x0,xy(2,:)+y0,mycolor)

The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
9楼2012-04-10 10:43:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

plxh

木虫 (正式写手)

引用回帖:
8楼: Originally posted by plxh at 2012-04-10 10:25:39:
求助设置colorbar的ylabel的命令!

colorbar,首先是ylabel,其次是'YTickLabel',现在竟然在最大值700之后又出现了0,100.晕死~~ 我想设置colorbar的ylabel,可下面两个命令都不行。

colorbar('Ylabel','Times/s','YTickLabel',)

set(colorbar, 'Ylabel','Times/s')


10楼2012-04-10 10:57:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 plxh 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 279求调剂 +3 dua1 2026-03-01 4/200 2026-03-02 00:23 by 大脸蛋子
[考研] 一志愿郑大材料学硕298分,求调剂 +5 wsl111 2026-03-01 5/250 2026-03-01 23:45 by 暮雨星晴
[考研] 0854复试调剂 276 +3 wmm9 2026-03-01 3/150 2026-03-01 23:13 by 热情沙漠
[基金申请] 成果系统访问量大,请一小时后再尝试。---NSFC啥时候好哦,已经两天这样了 +4 NSFC2026我来了 2026-02-28 4/200 2026-03-01 22:37 by 铁门栓
[考研] 0856调剂 +5 刘梦微 2026-02-28 5/250 2026-03-01 22:30 by wang_dand
[考研] 材料类求调剂 +10 wana_kiko 2026-02-28 12/600 2026-03-01 22:10 by 海嵙Y
[考研] 272求调剂 +6 田智友 2026-02-28 6/300 2026-03-01 21:40 by 公瑾逍遥
[考研] 306分材料调剂 +4 chuanzhu川烛 2026-03-01 5/250 2026-03-01 19:48 by 无际的草原
[考研] 298求调剂 +6 axyz3 2026-02-28 6/300 2026-03-01 19:00 by 18137688336
[考研] 272求调剂 +6 材紫有化 2026-02-28 6/300 2026-03-01 18:58 by 18137688336
[考研] 291分工科求调剂 +9 science饿饿 2026-03-01 10/500 2026-03-01 18:55 by 18137688336
[考研] 328求调剂 +3 aaadim 2026-03-01 5/250 2026-03-01 17:29 by njzyff
[考研] 311求调剂 +6 亭亭亭01 2026-03-01 6/300 2026-03-01 15:41 by 324616
[考研] 304求调剂 +6 曼殊2266 2026-02-28 7/350 2026-03-01 15:14 by wjLi2017
[考研] 298求调剂 +9 人间唯你是清欢 2026-02-28 12/600 2026-03-01 14:23 by Ducount.Y
[考研] 调剂 +3 简木ChuFront 2026-02-28 3/150 2026-03-01 11:46 by 王伟要上岸啊
[考研] 317一志愿华南理工电气工程求调剂 +6 Soliloquy_Q 2026-02-28 11/550 2026-03-01 11:14 by 歌liekkas
[硕博家园] 2025届双非化工硕士毕业,申博 +3 更多的是 2026-02-27 4/200 2026-03-01 10:04 by ztg729
[论文投稿] 求助coordination chemistry reviews 的写作模板 10+3 ljplijiapeng 2026-02-27 4/200 2026-03-01 09:07 by babero
[考研] 085600材料工程一志愿中科大总分312求调剂 +8 吃宵夜1 2026-02-28 10/500 2026-02-28 20:27 by L135790
信息提示
请填处理意见