数模第一章答案(张绍辉给).docVIP

  • 53
  • 0
  • 约9.67千字
  • 约 22页
  • 2015-08-01 发布于山西
  • 举报
数模第一章答案(张绍辉给),张绍辉,数模转换器,数模转换,校苑数模,数模科技,数模竞赛,中国数模网,数模网,数模转换芯片

第一章习题参考答案 1. 请编写绘制以下图形的MATLAB命令,并展示绘得的图形. (1) 、分别是椭圆的内切圆和外切圆. 的显函数形式为,并利用伸缩变换:的横、纵坐标都是的两倍,的横、纵坐标分别是的两倍和一倍. 编写程序时运用好MATLAB函数plot的语法格式2x是向量, y是矩阵,以及格式4,使程序简洁. 使用命令axis equal,才能绘得真正的圆. 程序: x=-1:.05:1; % 由40段折线连接成半圆周 y=sqrt(1-x.^2); plot(x,[y;-y],k,2.*x,[y;-y;2.*y;-2.*y],k) axis equal title(方法一(显函数)) 绘得的图形: 评价:方法一绘得的图形在外切圆和椭圆的左右两端看起来明显还是折线,而在其余地方看起来比较光滑,原因在外切圆和椭圆的左右两端,导数无穷大,虽然x的步长是固定的,但是在左右两端,y会比别处有更显著的变化. 当然,如果令x的步长更小,例如x=-1:.01:1,绘得的图形看起来光滑. 方法二(参数方程和伸缩变换)的参数方程为,关于伸缩变化和MATLAB函数plot的语法的讨论与方法一相同. 特意选取参数t的步长,使得半圆周仍然由40段折线连接而成,如同方法一一样. 程序: t=linspace(0,2*pi,81); % 由40段折线连接成半圆周 x=cos(t); y=sin(t); plot(x,y,k,2.*x,[y;2.*y],k) axis equal title(方法二(参数方程)) 绘得的图形: 评价:虽然半圆周由同样多的折线段连接而成,但是方法二绘得的图形看起来处处光滑,事实上,方法二通过等分圆心角来取圆周上的并连结线段,所以绘得的形实际上是正多边形.(2) 指数函数和对数函数的图像关于直线y=x对称. 指数函数和对数函数互为反函数,在MATLAB函数plot的输入当中交换x和y的次序,就实现反函数,而且图像就是关于直线y=x对称. 根据两点确定一条直线的原理,绘制直线段只需给出两端点的坐标. 使用命令axis equal,才能绘得真正的对称图形,加上坐标网格,能增强对称效果. 指数函数的自变量x的取值区间的左端不能太小,否则绘得的图像会在左边有一段与x轴重合. 程序: x=-3:.1:3;y=exp(x); plot(x,y,k,y,x,k,[-3,20],[-3,20],k) axis equal axis([-3,20,-3,20]) grid xlabel(x) ylabel(y) title(y=e^x 和 y=ln x 的函数图像关于直线 y=x 对称)绘得的图形: (3) 黎曼函数 的图像(要求分母q的最大值由键盘输入). 输入的英文单词是input,通过在MATLAB帮助文档检索input这个关键词,查到实现键盘输入的MATLAB函数是input,语法格式为: (1) user_entry = input(prompt) 输入项是一个字符数组,input将该字符数组显示在命令窗口,作为提示语,等待用户从键盘输入数值数组并按回车键;input将用户从键盘输入的数值数组赋值给user_entry所代表的变量名. (2) user_entry = input(prompt, s) 第二输入项是规定的字符“s”,表示等待用户从键盘输入的是字符数组. 条件“是既约分数,0x1,q0”,即p和q是正整数,pq,p和q的最大公约数等于1. 例如: 当q=2时,有黎曼函数的图像的一个坐标点(1/2 , 1/2); 当q=3时,有黎曼函数的图像的两个坐标点(1/3 , 1/3)和(2/3 , 1/3); 当q=4时,有黎曼函数的图像的两个坐标点(1/4 , 1/4)和(3/4 , 1/),而x=2/4不是既约分数;…… 可见,在程序中应设置二重循环语句第一重(外重)是分母q从2到由键盘输入的最大值的循环,步长为1;第二重(内重)是分子p从1到q-1的循环,步长为1,如果p和q的最大公约数等于1,就把p/q和1/q分别添加入横坐标数组x和纵坐标数组y. x和y需要在循环语句之前说明为空数组当x为有理数(0x1)时,黎曼函数的图像是离散的点集;当x为无理数(0x1)或x=0和1时,黎曼函数的图像是x轴上的0到1之间的稠密点集,看起来就是x轴上从0到1之间的直线段x轴上从0到1之间的直线段利用axis命令控制坐标图的坐标范围,使得坐标图的下边界恰好是x轴上从0到1之间的直线段. 程序: n=input(分母的最大值 n = ); x=[];y=[]; for q=2:n for p=1:q-1 if gcd(p,q)==1 x=[x,p./q];

文档评论(0)

1亿VIP精品文档

相关文档