找回密码
 注册
关于网站域名变更的通知
查看: 414|回复: 1
打印 上一主题 下一主题

学习一下用matlab进行图形绘制

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-12-19 09:49 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
6 L* L" X8 B; F
目前存在的一些问题:
$ N- g7 K2 @. T* }3 I+ }1.第一题的两个图像无法重叠
, {/ S) f, b- \- f0 E" W+ [2.最后一个题的第一个图是六瓣,而我写的是八瓣; i6 R$ z4 N8 p# j2 K/ o
感谢张同学给我指出来,目前我正在思考解决方法
  X0 X9 v# W7 N2 p第一个的话我以为把框缩小就可以重叠了,但是今天试了一下还是分开的,还没想出来怎么实现能够通过缩小框让他们重叠! T7 K( _. }' D2 B+ w8 a; \8 j
第二个我一开始以为是玫瑰线,但是k是偶数则有2k个瓣,k是奇数则有k个瓣,所以按道理不存在六瓣玫瑰线,仔细一看发现,这个不是玫瑰线,而是其他什么图形,但是我不知道函数,所以无法写+ R' ^/ }  s. D3 E; E! c# y
希望有其他同学大佬能够解决一下,还有最后一个图形的画法我也不会,主要是函数的问题' J" a; z2 X' G4 I0 R: l

; r5 X% o: H9 N' f8 N, o" v3 K! I一、实验任务和目的
1 y+ \6 u7 |& ^7 J4 d7 u
  • 掌握Matlab的句柄图形的继承。
  • 掌握Matlab的二、三维画图函数的用法。
  • 了解Matlab的特殊二维绘图函数和隐函数绘图的方法。9 D5 n7 S8 f  J: ~1 H- i4 a$ Q

1 M9 W7 J# w, `& G二、实验内容& s* Y/ t$ s2 n
1. 画出如下图形9 y8 C2 g6 p. s! i* [) {- q) t

. X1 F1 ?) l+ E( y: l" c) a% a; |1 o0 R9 ^- j5 x
这个怎么说呢,明明就是个**,第二个图形是cosx?" ~# z4 G# Z: i1 p2 x3 l7 D5 V2 w
而且matlab有现成的gui可以对图形编辑,为什么非要用代码做出来?: n0 V  }. b0 T! V2 N
我就是先画个大致轮廓,然后用matlab里边图形编辑做的
& C0 b$ z" o# V: G' n# ]
" e4 x2 Z. @% u) P2 K; C! k
  • x=-2*pi:pi/100:2*pi;
  • y=sin(x);
  • subplot(2,2,2);
  • plot(x,y,'--k');
  • title('plot of cos x');
  • xlabel('x');
  • ylabel('sinx');
  • text(-6,-0.8,'Text string 2');
  • subplot(2,2,3);
  • plot(x,y);
  • title('plot of sin x');
  • text(-2*pi,0,'min(x)->');
    3 K% P$ ^+ S6 @" G- w0 v

( i0 I- L( e# l1 z  ], x/ q" v/ A* G& X
代码结果5 s4 Q3 ~6 j3 k' R

9 p% p6 @' d# R% }
4 R+ M( v3 P& i9 `# v! I1 n4 k然后我直接用图形编辑器,上色加粗移动说明文字加箭头都是分分钟的事啊,而且matlab里面有个固定的就是x轴范围显示默认为int,所以要是指定2*pi的范围,x轴还会显示10,那又要求不能显示十,那只好通过编辑器对x轴范围更改,我改成7.9就ok了,要是直接用代码,我是实现不出来
8 S& f; ~* L9 v5 p/ I( y0 } : S4 X9 ^; |" d+ I; j9 s' H% L
: |8 K9 B: M& R4 w

4 ^, y! J7 m, x3 B" v2.画出以下图形" G7 B" h- ^; c: @9 B
, M5 t- r  ?% E0 m8 ]1 D
" N6 L6 H7 Y5 [
  • subplot(3, 3, 1);
  • f = @(x)200*sin(x)./x;
  • fplot(f, [-20 20]);
  • title('y = 200*sin(x)/x');
  • subplot(3, 3, 2);
  • ezplot('x^2 + y^2 = 1', [-1.1 1.1]);
  • axis equal;
  • title('单位圆');
  • subplot(3, 3, 3);
  • ezpolar('1+cos(t)');
  • title('心形图');
  • subplot(3, 3, 4);
  • x = [10  10  20  25  35];
  • name = {'赵', '钱', '孙', '李', '谢'};
  • explode = [0 0 0 0 1];
  • pie(x, explode, name)
  • title('饼图');
  • subplot(3, 3, 5);
  • stairs(-2*pi:0.5:2*pi,sin(-2*pi:0.5:2*pi));
  • title('楼梯图');
  • subplot(3, 3, 6);
  • stem(-2*pi:0.5:2*pi,sin(-2*pi:0.5:2*pi));
  • title('火柴杆图');
  • subplot(3, 3, 7);
  • Z = eig(randn(20,20));
  • compass(Z);
  • title('罗盘图');
  • subplot(3, 3, 8);
  • theta = (-90:10:90)*pi/180;
  • r = 2*ones(size(theta));
  • [u,v] = pol2cart(theta,r);
  • feather(u,v);
  • title('羽毛图');
  • subplot(3, 3, 9);
  • t = (1/16:1/8:1)'*2*pi;
  • fill(sin(t), cos(t),'r');
  • axis square;   title('八边形');  W4 W# o5 `1 o, x
- h  p; N2 N/ Z% s* D4 j
1 k& t( E: v# m
. P4 ~1 @8 u- Z/ C3 w

7 _6 J( T1 Z/ a3 i0 G6 i4 L
- x4 h  F5 J) m  {+ V
  • x=-3*pi:0.01:3*pi;
  • for i=1:length(x)
  •     if(x(i)==0) y(i)=1;
  •     else y(i)=sin(x(i))/x(i);
  •     end
  • end
  • plot(x,y);
  • set(gca,'YGrid','on');
    " a8 W1 M6 a, J
- F; o) f  y+ O9 o
. r$ ^7 H9 p2 A9 I" i
' h4 x; F1 g( n; X6 Z

/ ]5 c* a5 c1 a' x/ {. p9 j
% J: Y' `4 C( n" j
. c% q; [. v4 N5 U4.画图形, E6 d3 w! j2 }. C' @5 q

# v% I: l  t. k/ `$ q9 I& F3 j& A( F3 E* }3 t6 ]! G
图1:2 ^) c2 {5 t. r3 a+ i+ d

1 }0 D  @, w0 n& v
  • t = 0 : 0.01 : 2*pi;
  • polar(t, sin(2*t).*cos(2*t))
  • ; C* S1 D# k5 g
- s) Z2 F2 z. C! j

9 W- F, t( z; n& Q5 t图2:
4 D3 H& I1 I+ U2 j0 I' ]) F+ g
7 P& Q5 \4 \/ O' a) j0 k$ y
  • ezsuRF('u*sin(v)','u*cos(v)', '4*v',[-2*pi,2*pi,-2*pi,2*pi])
    9 T0 F! H) b1 Z% w$ b6 v+ P4 T4 y
% q  C4 _+ s" ~/ h) T

0 t( Q9 F/ c* ~4 c* u  J- S5 U7 l3 m3 A0 S0 J$ v* U
图3:+ D( D4 I5 t' z" V% c0 v

: J6 n: T+ v8 }2 @8 e0 }2 r' ?. g
  • t=0:pi/20:2*pi;
  • [x,y,z]= cylinder(2+sin(t),100);
  • surf(x,y,z);
  • xlabel('X'); ylabel('Y'); zlabel('Z');
  • set(gca,'color','none');
  • shading interp;
  • colormap(copper);
  • light('Posi',[-4 -1 0]);
  • lighting phong;
  • material metal;
  • hold on;
  • %plot3(-4,-1,0,'p','markersize', 18);
  • % text(-4,-1,0,'光源','fontsize',14,'fontweight','bold');
    ) J7 s7 W7 m* a

4 h# J( @* Y- w; X: u
* j$ w* d% M/ A7 J, J& `1 {图4:! C4 w! o! y) c7 n
& i3 \0 F  r8 u) ?5 s6 Y. O9 a
  • 不知道函数不会画鸭
    8 {7 g( w% R$ R9 }
* [& z; Z- e2 Q# W
. v; B; b( f8 A( ^2 Q0 F1 ^
+ A# {$ K" R6 n# T

& {" |; I! z2 |4 e% Z) U! F
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 21:04 , Processed in 0.156250 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表