求帮忙用matlabmatlab如何运行程序序和绘图

学术研究生发论文不仅需要高复杂度的算法做支撑,高质量的图更具有说服力。下面就是总结的画图技巧,很实用的,希望大家能有所收获。
该程序可以响应鼠标按下、移动、弹起事件、通过按下鼠标左键并移动可以画图鼠标轨迹,
并通过两个pop-up menu控件来选择画图的标记和颜色、并用edit记录鼠标当前的坐标(x,y),
显示颜色与画图颜色一致。其他的不说了,看看运行效果就知道。附件分为二部分:文件名有标注!
请各位大侠多多提出自己的意见,供大家交流学习!
这是运行后的界面:
& & & & & & & & & & & & & & & & Matlab鼠标画图,用pop-up menu选择画图标记,颜色edit记录鼠标坐标
但是功能比较简单,只能画线,不能画矩形、椭圆等
为此花了一天的时间好好研究了一下,尝试了很多方法,当前这种方法个人感觉效果比较好。
其中一个难点就是:拖动鼠标的过程中如何显示矩形/椭圆的轮廓,并且轮廓跟着鼠标指针移动。
程序的亮点:
1、可选择点、线、矩形、椭圆进行画图;
2、可选择marker、LineTyple进行画图;
3、可选择画图颜色;
4、可实时显示鼠标指针当前坐标;
5、可清除画板;
6、可保存画好的图(bmp、jpg、gif);
7、操作比较人性化,模仿了windows画板;
8、该程序牵涉的面广,是一个很好的GUI学习资料。
功能演示:
& & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & &
09:43 上传
点击文件名下载附件
!sourceimagesize! 0 Bytes, 下载次数: 37
自定义GUI画图板源程序,免费下载,很实用!
09:43 上传
点击文件名下载附件
!sourceimagesize! 0 Bytes, 下载次数: 38
自定义GUI画图板源程序,免费下载,很实用!
09:43 上传
点击文件名下载附件
!sourceimagesize! 0 Bytes, 下载次数: 29
自定义GUI画图板源程序,免费下载,很实用!
代码比较复杂!
谢谢分享!!!
还是动图,赞一个
擅长技能ICEM CFD;AWB;EDEM;PROE
谢谢分享经验苹果/安卓/wp
苹果/安卓/wp
积分 66, 距离下一级还需 19 积分
道具: 彩虹炫, 雷达卡, 热点灯, 雷鸣之声, 涂鸦板, 金钱卡, 显身卡下一级可获得
权限: 自定义头衔
购买后可立即获得
权限: 隐身
道具: 金钱卡, 雷鸣之声, 彩虹炫, 雷达卡, 涂鸦板, 热点灯
开心签到天数: 34 天连续签到: 1 天[LV.5]常住居民I
以下是我写的3个m文件
文件1:function x=p(t)
x=p(t-1)+0.01*(Qd(t-1)-Qs(t-1));
文件2:function y=Qd(t)
y=10-1.5*p(t-1);
文件3:function z=Qs(t)
z=2+0.5*p(t-1);
求怎么画Qd-p(t)和Qs-p(t)图,直接输plot(p(t),Qd(t))报错如下
Maximum recursion limit of 500 reached. Use set(0,'RecursionLimit',N)
to change the limit.&&Be aware that exceeding your available stack space can
crash MATLAB and/or your computer.
Error in p
set(0,'RecursionLimit',2000)之类的又会导致matlab直接崩溃
以及如果用这三个m文件算诸如p(50)之类的会算的很慢,求问如何改进能减少其运算量。
支持楼主:、
购买后,论坛将把您花费的资金全部奖励给楼主,以表示您对TA发好贴的支持
载入中......
简单地了一下,要能由于符号运算引起的,尽可能使用赋值运算,例如固定t,然后循环。最好先把模型解出来,如果解析解求不出来,图一般是画不出来的。
就是需求(Qd)供给(Qs)与价格(p)的函数,然后给t=0时三个初始值,定t步长为1然后画两个Q-p的图,应该是没有关于t的解析解的
qianjb81 发表于
简单地了一下,要能由于符号运算引起的,尽可能使用赋值运算,例如固定t,然后循环。最好先把模型解出来,如 ...看错题了是以t为x轴,但是还是画不出来
输入t=0:10;
plot(t,p(t))
Maximum recursion limit of 500 reached. Use set(0,'RecursionLimit',N)
to change the limit.&&Be aware that exceeding your available stack space can
crash MATLAB and/or your computer.
Error in p
请问怎么解决
论坛好贴推荐
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
为做大做强论坛,本站接受风险投资商咨询,请联系(010-)
邮箱:service@pinggu.org
合作咨询电话:(010)
广告合作电话:(刘老师)
投诉电话:(010)
不良信息处理电话:(010)
京ICP证090565号
京公网安备号
论坛法律顾问:王进律师我用matlab写的程序为什么画图不能全部显示?求大神解释, 我用matlab写的程序为什么画图
我用matlab写的程序为什么画图不能全部显示?求大神解释 line([8.5;ezplot(f3)for i=1.6].2)+(y+1).0576,2),[2,4).2)+(y-2),5.36-0.^2*0.36-0;endaxis equalaxis off%画符干hold onf=(x,y)(x-6),[i.5].^2*0;line([3.5],&#39.^2*0.*(y+1)*(-0,&#39.5];f5=(x,y)(x-3),5.16+(x-6);:5line([0,y)(x-11).2)+(y-2).16+(x-3);f4=(x,&#39.^2*0.6];line([5;.^2*0.36-0.2)+(y-2).;LineWidth&#39.16+(x-13).0576;ezplot(f5).*(y-2)*(-0.3;LineWidth&#39.*(y-3)*(-0.0576.16+(x-5),还有颜色也不能填充为什么.36-0.3,2);这是程序
画椭圆后面的几个显示不出来;LineWidth&#39.^2*0.6.*(y-2)*(-0.6],5,[5,y)(x-5);f3=(x.6].^2*0;ezplot(f6).6.^2*0;ezplot(f2),y)(x-13).2)+(y+1),2),5.6.36-0,3.3.6;,5.5].0576;f2=(x.^2*0.2)+(y-3),y)(x-9).^2*0.,[2.^2*0;ezplot(f);axis([0 50 -25 25])axis square%画线hold on line([3.^2*0,5.*(y+1)*(-0.16+(x-9);.16+(x-11).*(y-2)*(-0;LineWidth'ezplot(f4),'f6=(x,i]),50] 树上cn树下 我用matlab写的程序为什么画图不能全部显示?求大神解释
ezplot的默认画图范围是x ~
-6pi,6pi而ezplot是画函数曲线的,不具备填充颜色的功能你最好还是根据函数取得椭圆曲线每点的数据使用有填充颜色功能的 fill 函数来画音符二次元同好交流新大陆
扫码下载App
汇聚2000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
& 在MATLAB中,利用meshgrid函数产生平面区域内的网格坐标矩阵。其格式为: x=a:d1:b; y=c:d2:d; [X,Y]=meshgrid(x,y); 语句执行后,矩阵X的每一行都是向量x,行数等于向量y的元素的个数,矩阵Y的每一列都是向量y,列数等于向量x的元素的个数。&& 绘制三维曲面图z=sin(x+sin(y))-x/10。 程序如下: [x,y]=meshgrid(0:0.25:4*pi); z=sin(x+sin(y))-x/10; mesh(x,y,z); axis([0 4*pi 0 4*pi -2.5 1]); 此外,还有带等高线的三维网格曲面函数meshc和带底座的三维网格曲面函数meshz。其用法与mesh类似,不同的是meshc还在xy平面上绘制曲面在z轴方向的等高线,meshz还在xy平面上绘制曲面的底座。&& 在xy平面内选择区域[-8,8]×[-8,8],绘制4种三维曲面图。 程序如下: [x,y]=meshgrid(-8:0.5:8); z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps); subplot(2,2,1); mesh(x,y,z); title('mesh(x,y,z)') subplot(2,2,2); meshc(x,y,z); title('meshc(x,y,z)') subplot(2,2,3); meshz(x,y,z) title('meshz(x,y,z)') subplot(2,2,4); surf(x,y,z); title('surf(x,y,z)')&& 绘制标准三维曲面图形。 程序如下: t=0:pi/20:2* [x,y,z]= cylinder(2+sin(t),30); subplot(2,2,1); surf(x,y,z); subplot(2,2,2); [x,y,z]= surf(x,y,z); subplot(2,1,2); [x,y,z]=peaks(30); surf(x,y,z); 绘制三维图形:(1) 绘制魔方阵的三维条形图。(2) 以三维杆图形式绘制曲线y=2sin(x)。(3) 已知x=[43,3025],绘制饼图。(4) 用随机的顶点坐标值画出五个黄色三角形。
程序如下:subplot(2,2,1);bar3(magic(4))subplot(2,2,2);y=2*sin(0:pi/10:2*pi);stem3(y);subplot(2,2,3);pie3([43,3025]);subplot(2,2,4);fill3(rand(3,5),rand(3,5),rand(3,5), 'y' )& 3种图形着色方式的效果展示。 程序如下: [x,y,z]=sphere(20); colormap(copper); subplot(1,3,1); surf(x,y,z); axis equal subplot(1,3,2); surf(x,y,z); axis equal subplot(1,3,3); surf(x,y,z); axis equal&& 光照处理后的球面。 程序如下: [x,y,z]=sphere(20); subplot(1,2,1); surf(x,y,z); light('Posi',[0,1,1]);
plot3(0,1,1,'p');text(0,1,1,' light'); subplot(1,2,2); surf(x,y,z); light('Posi',[1,0,1]);
plot3(1,0,1,'p');text(1,0,1,' light');&& 绘制了peaks函数曲面并且将它绕z轴旋转。 程序如下 [X,Y,Z]=peaks(30); surf(X,Y,Z) axis([-3,3,-3,3,-10,10])
colormap(hot); m=moviein(20);&&&&&&&&&&& %建立一个20列大矩阵 for i=1:20 view(-37.5+24*(i-1),30)&&&&& %改变视点 m(:,i)=&&&&&&&&&&& %将图形保存到m矩阵 end movie(m,2);&&&&&&&&&&&&&&&& %播放画面2次
这些图形也比较无聊,分形却一个让人着迷的领域,她太有艺术感染力了。下面我们来看看matlab绘出的艺术品吧,先来个简单的三角分形:
clcn=100000;v=rand(n,1);x0=0;y0=0;x=[x0;zeros(n-1,1)];y=[y0;zeros(n-1,1)];for i=2:n&&& vv=v(i);&&& if vv&0.333&&&&&&& x(i)=0.5*x(i-1);&&&&&&& y(i)=0.5*y(i-1);&&& elseif vv&0.666&&&&&&& x(i)=0.5*x(i-1)+0.25;&&&&&&& y(i)=0.5*y(i-1)+0.433;&&& else&&&&&&& x(i)=0.5*x(i-1)+0.5;&&&&&&& y(i)=0.5*y(i-1);&&& endendplot(x(1:n),y(1:n),'.','MarkerSize',1)
一个很美的分形:就叫julia吧
clcx=linspace(-1.5,1.5,1000);y=x;[X,Y]=meshgrid(x,y);n=100;c=0.25+0.52*i;Z=X+i*Y;for k=1:n&&& Z=Z.^2+c;endW=(abs(Z));pcolor(X,Y,W)axis('square');colormap prism(256);
一个不过瘾,再来一个,这个也很漂亮,就叫mandelbrot,哈哈:
clcy=linspace(-1.5,1.5,1000);x=linspace(-2.25,0.75,1000);[X,Y]=meshgrid(x,y);n=100;c=X+i.*Y;Z=X+i.*Y;for k=1:n&&& Z=Z.^2+c;& endW=(abs(Z));pcolor(X,Y,W),axis('square');colormap prism(256);
大自然是位艺术家,牠绘的树木就是分形:
clctheta=pi/6;%设置角度u=[0,0;0,1];%初始线段两端点的坐标rov1=[cos(theta),-sin(theta);sin(theta),cos(theta)];rov2=rov1';kmax=5;uuu=[];for n=1:kmax&&& &&& for I=0:(length(u)/2-1)&&&&&&& p1=(u(2*I+1,:)*2+u(2*I+2,:))/3;%a点&&&&&&& p2=(u(2*I+1,:)+u(2*I+2,:)*2)/3;%b点&&&&&&& pp=[u(2*I+2,1)-u(2*I+1,1);u(2*I+2,2)-u(2*I+1,2)]/3;&&&&&&& lp=rov1*&&&&&&& lp=p1+lp';%第一条树枝端点c的坐标&&&&&&& rp=rov2*&&&&&&& rp=p2+rp';%第二条树枝端点d的坐标&&&&&&& uu=[u(2*I+1,:);p1;p1;p1;p2;p2;p2;u(2*I+2,:)];%按顺序o,a,a,c,a,b,b,d,b,e排列数据,供作图用&&&&&&& uuu=[uu];%将新点的坐标存入数组中&&& end&&& u=&&& plot(u(:,1),u(:,2))&&& hold on&&& axis([-0.5,0.5,0,1])end
大自然对美的追求是永无止尽的,大自然对美的挑剔是无以伦比的,即使一片小小的叶子也要精雕细琢,不信看看蕨类植物的叶子:
clcn=100000;v=rand(n,1);x0=0;y0=0;x=[x0;zeros(n-1,1)];y=[y0;zeros(n-1,1)];for i=2:n&&& vv=v(i);&&& if vv&0.01&&&&&&& y(i)=0.16*y(i-1);&&& elseif vv&0.86&&&&&&& x(i)=0.85*x(i-1)+0.04*y(i-1);&&&&&&& y(i)=1.6-0.04*x(i-1)+0.85*y(i-1);&&& elseif vv&0.93&&&&&&& x(i)=0.2*x(i-1)-0.26*y(i-1);&&&&&&& y(i)=1.6+0.23*x(i-1)+0.22*y(i-1);&&& else&&&&&&& x(i)=-0.15*x(i-1)+0.28*y(i-1);&&&&&&& y(i)=0.26*x(i-1)+0.24*y(i-1)+0.44;&&& endendplot(x(1:n),y(1:n),'.','MarkerSize',1)
阅读(2033)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'matlab画图程序例举',
blogAbstract:'
由于本人感觉如果纯粹讲matlab的指令,则太过无趣,且十分枯燥。不妨将一些例子拿来研究一下,同时对命令的使用也熟悉一下。
一个显示图形绘画过程的程序:
t=pi*(0:0.001:1);x=cot(t).*sin(10*t);comet(t,x)
& 在0≤x≤2p区间内,绘制曲线 &&&&&&&&&&&&&&&&&&& y=2e-0.5xcos(4πx) 程序如下:x=0:pi/100:2* y=2*exp(-0.5*x).*cos(4*pi*x); plot(x,y)
blogTag:'matlab',
blogUrl:'blog/static/4',
isPublished:1,
istop:false,
modifyTime:9,
publishTime:5,
permalink:'blog/static/4',
commentCount:0,
mainCommentCount:0,
recommendCount:1,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}

我要回帖

更多关于 matlab如何运行程序 的文章

 

随机推荐