复化中矩形matlab函数法,MATLAB–Mupad 初学者(四)~(八)

四、函数的创建

(一)、用赋值运算符创建函数

y:=2*x-1

2abfbf165c9f14f73541c8a09c865079.png(二)、用映射创建函数

格式

f:=x–>body 简化函数后再创建函数

f:=x->body直接创建函数

f:=x-->x*2-1;

6167efebe6a6e1211daefe2450cc954f.png

注意有无等号的区别

12eef3f4a9921e15683e17fdf92c2091.png

(三)、创建分段函数

1.piecewise

格式

piecewise([条件1,对象1],[条件2,对象2],…)

f:=x-->piecewise([x>0 or x=-1 and x<=0,-x]);

752deab3de072403eba09befd8cba241.png

注意 or 和 and 两边都要有空格

类似 0<=x<=1的表达式是无效的!

pw:=x->piecewise([x>0 and x < 1,1],[Otherwise,0]);

//Otherwise代表不包含在已有condition中的其他情况:

(四)、复合函数的创建

格式

f@g

f:=x-->piecewise([x<1 or x>-1,1],[x=1 or x=-1,0],[x>1 or x

g:=x->exp(x);

f@g;

743d283fad953609d29aa39e2e1904ca.png

(五)、调用系统函数

y:=x->sin(x);

//注意括号不能省,否则系统会把sinx当成一个标识符,如图

6001cbc312c302a904a96aa418ffde6d.png

也可以创建多元函数,需要加圆括号将所有变量括起来,变量间使用逗号分隔

g:=(x,y)->x^2+y^3

五、显示函数图形

(一)、plot(目标,,)

设置图形属性,可以改变图形坐标轴长度,颜色,图形比例等

常用图形属性设置

图形属性简写功能默认

Scaling=Constrained#C所有坐标轴单位长度相等自动设置

GridVisible=TURE#G显示坐标网格无网格

Axes=Origin #O坐标系包含原点自动设置

AxesVisible=FALSE无不显示坐标轴显示坐标轴

ViewingBox=[x1..x2,y1..y2] 无二维坐标轴范围自动设置

ViewingBox=[x1..x2,y1..y2,z1..z2]无三维坐标轴范围自动设置

Color=[r,g,b] 或 RGB::name无图形颜色略

Height=m无图形高度80

Width=n无图形宽度120

Header=text无在图像顶部添加文本(字符串)无

Footer=text 无在图像底部添加文本(字符串)无

LineStyle=Solid实线

LineStyle=Dashed虚线

LineStyle=Dotted点线

LineWidth=n线宽,默认为0.35

Mesh采样点数目(与曲线的光滑程度有关,越大越光滑),默认为Mesh=121

Submesh额外采样点的密度,默认Submesh=0

AdaptiveMesh自适应加密采样,默认为0,即不采样

PointStyle点形状,默认值是PointStyle=FilledCircles

8种:Squares, FilledSquares, Circles, Crosses, XCrosses, Diamonds, FilledDiamonds, Stars

PointSize点尺寸,默认值是PointSize=1.5,单位是毫米.

RGB色彩模式

Color=RGB::RedColor=[1,0,0]

Color=RGB::GreenColor=[0,1,0]

Color=RGB::BlueColor=[0,0,1]

(二)、创建显函数的二维图像

1.plot::Function2d(f,x=xmin…xmax,,)

f:=x->sin(x);

g:=plot::Function2d(f,x=0..PI);//此时仅仅是创建了一个图形赋值给g

plot(g);//生成图形

f28d7e11e338e9045344c8ec1b89aea8.png

接下来设定图形属性

g:=plot::Function2d(f,x=0..PI,Color=RGB::Red,LineStyle=Dashed);

plot(g,#C,#G)

83bb01996626a93d7808b7e494d859f1.png

g:=plot::Function2d(sin(x),x=0..2*PI,Color=RGB::Red,LineStyle=Dashed,Mesh=4,AdaptiveMesh=0);

plot(g,#C,#G)

试着改变Mesh的值,看看取样点的取值对图像的影响

bfe8523488c2cea698c43c1fc0408029.png

2.plot::Curve2d([x,y],t=tmin…tmax,,)

其中x与y分别是x(t),y(t)的表达式

f:=plot::Curve2d([sin(t),cos(t)]);

plot(f,#C);

4f0d95dfccbc747dc8c5d44e568ac9a4.png

3.plot::Implicit2d(f,x=xmin…xmax,y=ymin…ymax,,)

注意f是f(x,y)的表达式,默认等号右边为0。

plot::Implicit2d不能使用Submesh和AdaptiveMesh,而且Mesh有两个参数,默认为Mesh=[11,11]

plot(plot::Implicit2d((x-y)*(x+y),x=-3..3,y=-3..3))

8a36c36a64b945ec0be7f60a05a516d1.png

4.plot::Polar([r,u],v=vmin…vmax,,)

其中,r表示r(v)极径,u表示u(v)极角

plot(plot::Polar([2*(1-cos(r)),r],r=0..2*PI))//绘制心形曲线

4f5bb556cbc3dff5adcc6f70a78d43a5.png

建议图形的定义和绘制分开写

注意Mesh是plot::Polar的参数而非plot函数的参数

//比较以下两个代码的区别

g:=plot::Polar([2*(1-cos(r)),r],r=0..2*PI,Mesh=13);

plot(g);//只有这个代码修改的Mesh值有效

g:=plot::Polar([2*(1-cos(r)),r],r=0..2*PI);

plot(g,Mesh=13);

6713483c708f0b107aed1c633edca5b7.png

(三)、绘制点、点列和直线段

1.绘制点

plot::Point2d(x,y,,)

plot::Point2d([x,y],,)

plot::Point2d(matrix[x,y],,)

PointStyle点形状,默认值是PointStyle=FilledCircles

8种:Squares, FilledSquares, Circles, Crosses, XCrosses, Diamonds, FilledDiamonds, Stars

PointSize点尺寸,默认值是PointSize=1.5,单位是毫米.

设置点的形状和尺寸

A:=plot::Point2d(0.5,0.5,PointStyle=Squares);

B:=plot::Point2d(0,0,PointSize=5);

plot(A,B,Width=50,Height=50)

118ba4ed04ff5109afb84049068d4895.png

2.绘制点列

plot::PointList2d(pts,<>,<>)

plot::PointList2d(M,<>,<>)

pts :点坐标的列表,即点列 [[x1,y1],[x2,y2],[x3,y3],…]

或者[ [ x[i],y[i] $i=1…n] ]注意双重方括号

M:点坐标的n*2矩阵,如matrix([[x1,y1],[x2,y2],…])

或matrix[ [ x[i],y[i] $i=1…n] ]

Alist:=plot::PointList2d([[1,1],[2,2],[3,3]]);

plot(Alist);

//或者用序列 注意$前没有逗号

Alist:=plot::PointList2d([[i,i]$i=1..3]);

plot(Alist)

c9eacf5965c3146ba62e0badaa2c2044.png

3.绘制直线段

plot::Line2d([x1,y1],[x2,y2],,)

以[x1,y1]和[x2,y2]为端点的线段

L:=plot::Line2d([1,1],[2,2])

plot(L)

4.添加文本

plot::Text2d(“text”,[x,y],,)

“text”:要添加的文本,必须用双引号括住

[x,y] :要添加文本的位置

常用属性

TextFont 文本的字体,默认值是["sans-serif", 11];

TextRotation文本的旋转角度,弧度制,默认值是0;

HorizontalAlignment文本相对于添加位置的水平方位,默认值是Left,还有Center和Right

VerticalAlignment文本相对于添加位置的垂直位置,默认值是BaseLine,还有Bottom、Center和Top

综合例子

T:=plot::Text2d("haa",[1,2*a],a=0.1..2,TextFont=[20]);

R:=plot::Rectangle(0..2,0..4);

plot(T,R)

T1:=plot::Text2d("ha",[1,1],TextRotation=PI/4,HorizontalAlignment=Left,TextFont=[20]);

T2:=plot::Text2d("haa",[1,-1],TextRotation=-PI/4,HorizontalAlignment=Left,TextFont=[20]);

T3:=plot::Text2d("haaa",[-1,-1],TextRotation=PI/4,HorizontalAlignment=Right,TextFont=[20]);

T4:=plot::Text2d("haaaa",[-1,1],TextRotation=-PI/4,HorizontalAlignment=Right,TextFont=[20]);

plot(T1,T2,T3,T4,#C)

六、绘制数列、圆、多边形图像

1.plot::Sequence(x,n=nmin…nmax,,)

x:即x(n),数列的通项公式

n:必须都是整数

常用属性参数

Color=RGB::Red

LinesVisible 线是否显示,默认是LineVisible=FALSE,即不显示

PointVisible 点是否显示,默认是PointVisible=TRUE,即显示

delete n:

A:=n-->1/2*sin(2*PI/(6*2^(n-1)))*6*2^(n-1);

ap:=plot::Sequence(A,n=0..8);

plot(ap)

2.plot::Circle2d(r,[x,y],,)

r:半径

[x,y]:圆心,若不写,默认在原点

常用属性参数

LinesVisible 线是否显示,默认是LineVisible=TRUE,即显示

Filled 内部是否填充,默认是Filled=FALSE,即不显示

FillColor 内部填充颜色,默认是FillColor=RGB::Red

3.绘制多边形

plot::Polygon2d(pts,,)

plot::Polygon2d(M,,)

pts:[[x1,y1],[x2,y2],…]

M:n*2规模矩阵 matrix([[x1,y1],[x2,y2]…])

常用参数

LineStyle 线是否显示,默认显示,此时可以设置关于线属性的其他参数

Closed 默认Closed=FALSE,即终点与起点不连接

FillColor 内部填充颜色

Fillpattern 填充方式

PointVisible 是否显示点

C:=plot::Circle2d(1,[0,0]);

n:=1;

Vie:=plot::Polygon2d([[cos(2*PI*k/(6*2^(n-1))),sin(2*PI*k/(6*2^(n-1)))]$k=0..6*2^(n-1)]);

plot(C,Vie)//绘制圆内接正多边形

8ce417a68a8d37c87eb9ca06c1edc7bb.png

4.绘制矩形

plot::Rectangle(xmin…xmax,ymin…ymax,,)

xmin…xmax 矩形的左右边界

ymin…ymax 矩形的上下边界

常用参数

LineVisible:线是否显示

Filled:内部是否填充

七、计算极限

limit(f,x=x0) 计算双侧极限

limit(f,x=x0,Left)计算左侧极限

limit(f,x=x0,Right)计算右侧极限

f:函数或数列表达式

x=x0 : 被求极限的位置,x0也可以换成也可以是infinity或-infinity

注意若极限不存在,则返回undefined

limit(1/x,x=infinity,Left);

limit(1/x,x=-infinity,Right);//结果都是0

八、运算

1.多项式除法运算

divide(P,Q,[x])

P:分子的多项式表达式

Q:分母的多项式表达式

[x]:多项式的变量

返回商式和余式

2.解方程或不等式

solve(f,x)

solve(f,x=a…b) 返回函数在[a,b]之间的零点

S:=solve(x^2=2,x);

3a52c50667b9168100de775f6eddb5d8.png

如果想获得精确解

float(S);

a43288513ed0fc9f506e5b5b47854ce0.png系统默认是保留十位有效数字的,如果想保留更多位:

DIGITS:20:float(solve(x^2=2,x));

solve(x-2>2,x);//解不等式,结果是4到正无穷

760bbcc9cd0f027ff53a4f880e1c892f.png

3.其他命令

linsolve:求解线性方程组

RootOf:求解多项式的根

testeq:检验两个表达式是否相等

标签:plot,..,Color,默认,Mesh,MATLAB,Mupad,PI,初学者

来源: https://blog.csdn.net/qq_42899589/article/details/86193077

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值