matlab习题2007
MATLAB习题及参考答案经典.doc

习题:1, 计算⎥⎦⎤⎢⎣⎡=572396a 与⎥⎦⎤⎢⎣⎡=864142b 的数组乘积。
2, 对于B AX =,如果⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=753467294A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=282637B ,求解X 。
3, 已知:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。
4, 角度[]604530=x ,求x 的正弦、余弦、正切和余切。
(应用sin,cos,tan.cot)5, 将矩阵⎥⎦⎤⎢⎣⎡=7524a 、⎥⎦⎤⎢⎣⎡=3817b 和⎥⎦⎤⎢⎣⎡=2695c 组合成两个新矩阵: (1)组合成一个4⨯3的矩阵,第一列为按列顺序排列的a 矩阵元素,第二列为按列顺序排列的b 矩阵元素,第三列为按列顺序排列的c 矩阵元素,即 ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡237912685574(2)按照a 、b 、c 的列顺序组合成一个行矢量,即 []2965318772546, 将(x -6)(x -3)(x -8)展开为系数多项式的形式。
(应用poly,polyvalm)7, 求解多项式x 3-7x 2+2x +40的根。
(应用roots)8, 求解在x =8时多项式(x -1)(x -2) (x -3)(x -4)的值。
(应用poly,polyvalm)9, 计算多项式9514124234++--x x x x 的微分和积分。
(应用polyder,polyint ,poly2sym)10, 解方程组⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡66136221143092x 。
(应用x=a\b)11, 求欠定方程组⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡5865394742x 的最小范数解。
(应用pinv) 12, 矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=943457624a ,计算a 的行列式和逆矩阵。
(应用det,inv)13, y =sin(x ),x 从0到2π,∆x =0.02π,求y 的最大值、最小值、均值和标准差。
matlab试卷2007及解答(免费版)

(3 分)
(2 分)
系、 班
(7)求 a(:)’ (4 分) a(:)’= [1 , 4 , 6 , -2 , 5 , 3 , 3 , 9 , -8]
;n2= 8
. m= 14
五、某人做一种材料的伸缩实验,t 为温度(℃),L 为长度(mm),实验数据见下表
…………………密……………封……………线……………密……………封……………线…………………
座 号
y1 = xe −2 x , x ∈ [0,5]
y 2 = 5 cos(3πx), x ∈ [−2,2]
(2) 绘饼图(6 分) 某班有 50 名学生,进行英语考试,考试成绩为: 优秀 8 人,良好 14 人,中等 20 人,及格 5 人,不及 格 3 人.试绘该班英语考试成绩分布的三维饼图,将优秀块及不及格块分离. (3) 绘条形图(4 分) 某厂生产三种产品,某年四季度的产量如下 A 产品产量 笫一季度 8 11 12 10 B 产品产量 8 7 6 6 C 产品产量 9 8 9 10
座 号
a.^2=
1 -2 -4 4 -3 -1 -1 –7 10
(3)求 2-a
2-a=
(4)求 a(1:2,2:3) a(1:2,2:3)= -2 5
(4 分) 3 9
名
姓
(5)求 median(a) median(a)=[4,3,3] (6)求 min(a(:)) min(a(:)) =-8
用二阶拟合法,求 L 与 t 的表达式.要求:1.编程;2.写出 L 与 t 的关系式. (课外完成,将程序及结果带入考场) (10 分) 解: 程序如下: t=[20,25,30,35,40]; L=[81,82.3,84,86.5,89]; k=polyfit(t,L,2) 运行结果: k= 0.0091 -0.1446 80.2114 故 L 与 t 的关系式为: L=0.0091t2 -0.1446t+ 80.2114
MATLAB R2007基础教程ch06

清华大学出版社
单元数组的生成
单元数组中的每一个元素称为单元( )。单 单元数组中的每一个元素称为单元(cell)。单 )。 元中的数据可以为任何数据类型,包括数值数组、 元中的数据可以为任何数据类型,包括数值数组、 字符、符号对象、其他单元数组和结构体。 字符、符号对象、其他单元数组和结构体。不同 的单元中的数据类型可以不同。 的单元中的数据类型可以不同。MATLAB 中的单 元数组可以为任意维, 元数组可以为任意维,通常最常用的是一维和二 维单元数组。 维单元数组。 用户可以通过两种方式创建一个单元数组: 用户可以通过两种方式创建一个单元数组:
MATLAB R2007基础教程 MATLAB R2007基础教程 基础教程 基础教程
清华大学出版社 清华大学出版社
章字符串、 第6章字符串、单元数组和结构体 章字符串
教学目标 教学重点 教学内容
2010年8月31日
第1页
MATLAB R2007基础教程 基础教程
清华大学出版社
教学目标
掌握字符串的生成及操作 掌握单元数组的生成及操作 掌握结构体的生成及操作
第8页
2010年8月31日
MATLAB R2007基础教程 基础教程
清华大学出版社
字符串的比较( ) 字符串的比较(1/3)
字符串的比较主要为比较两个字符串是否相同, 字符串的比较主要为比较两个字符串是否相同, 字符串中的子串是否相同和字符串中的个别字符 是否相同ncmp。 。
– findstr:用于在一个字符串中查找子字符串,返回子 :用于在一个字符串中查找子字符串, 字符串出现的起始位置。用法为findstr(str1,str2),执 字符串出现的起始位置。用法为 , 行时系统首先判断两个字符串的长短, 行时系统首先判断两个字符串的长短,然后在长的字 符串中检索短的子字符串。 符串中检索短的子字符串。 – strrep:查找字符串中的子字符串并将其替换为另一个 : 子字符串。 子字符串。用法为 str = strrep(str1, str2, str3),将 , str1 中的所有子字符串 str2 替换为 str3。 。
matlab习题及答案

matlab习题及答案2. ⽤MATLAB 语句输⼊矩阵A 和B3.假设已知矩阵A ,试给出相应的MATLAB 命令,将其全部偶数⾏提取出来,赋给B 矩阵,⽤magic(8)A =命令⽣成A 矩阵,⽤上述命令检验⼀下结果是不是正确。
4.⽤数值⽅法可以求出∑=++++++==6363622284212i i S ,试不采⽤循环的形式求出和式的数值解。
由于数值⽅法是采⽤double 形式进⾏计算的,难以保证有效位数字,所以结果不⼀定精确。
试采⽤运算的⽅法求该和式的精确值。
5.选择合适的步距绘制出下⾯的图形。
(1))/1sin(t ,其中)1,1(-∈t ;(2))tan(sin )sin(tan t t -,其中),(ππ-∈t6. 试绘制出⼆元函数2222)1(1)1(1),(yx yx y x f z ++++-==的三维图和三视图7. 试求出如下极限。
(1)xxxx 1)93(lim +∞→;(2)11lim0-+→→xy xy y x ;(3)22)()cos(1lim222200y x y x ey x y x +→→++-8. 已知参数⽅程-==tt t y t x sin cos cos ln ,试求出x y d d 和3/22d d π=t x y9. 假设?-=xyt t e y x f 0d ),(2,试求222222y fy x f x f y x ??+-?? 10. 试求出下⾯的极限。
(1)-++-+-+-∞→1)2(1161141121lim 2222n n ;(2))131211(lim 2222ππππn n n n n n n ++++++++∞→ 11. 试求出以下的曲线积分。
(1)?+ls y x d )(22,l 为曲线)sin (cos t t t a x +=,)cos (sin t t t a y -=,)20(π≤≤t 。
(2)?-+++ly y y xe x e yx )dy 2(xy d )(33,其中l 为22222c y b x a =+正向上半椭圆。
matlab2007

MATLAB上机测验题(考试时间:2:20----4:20)姓名:曹翔学号:04005627考试要求:1、要求独立完成不得与他人共享,答卷雷同将做不及格处理。
2、答卷用Microsoft Word文件递交,文件名为学号,卷内写上姓名及学号。
3、答卷内容包括:(1)程序;(2)运行结果;(3)程序和结果分析;(4)图也要粘贴在文档中。
4、在网络盘新建一文件夹,名为:学号+姓名(如:040053**张*)。
确保考试结束前将考试内容和大作业存在此目录下。
不收软盘和移动硬盘。
上机考题:一、系统函数1231231+2()10.50.0050.3z z zH zz z z------++=--+1、画出系统的零极点图,判断其稳定性,判断是否为最小相位系统。
2、求冲激响应及其曲线。
3、求其频率响应,并画出曲线。
(1)编制M文件如下:num=[1 1 2 1];den=[1 -0.5 -0.005 0.3]; %产生系统函数zplane(num,den); %画出极零图运行结果如图:分析:由于系统的极点都在单位圆内,所以系统稳定。
又由于零极点不都在单位圆内,所以系统不是最小相位系统。
(2) 编制M文件如下:num=[1 1 2 1];den=[1 -0.5 -0.005 0.3];dimpulse(num,den); %离散系统的冲激响应运行结果如图:分析:由图可知,该系统趋于稳定。
(3)编制M 文件如下:num=[1 1 2 1]; den=[1 -0.5 -0.005 0.3];freqz(num,den,250) %离散系统的频率响应运行结果如图:二、求系统324321130()9459750s s sH s s s s s ++=++++的频率特性,频率范围为11[1010]-,并求系统的单位脉冲响应曲线图。
同时根据零极点来判断系统的稳定性。
(1)编制M 文件如下:num=[1 11 30 0]; den=[1 9 45 97 50];w=logspace(0.1,10); %产生 [0.1,10]的对数坐标 bode(num,den,w); %画出波特图运行结果如图:(2)编制M文件如下:num=[1 11 30 0];den=[1 9 45 97 50];t=1:0.1:20;y=impulse(num,den,t); %求系统的冲激响应plot(t,y);title('the impulse response') %图片标题运行结果如图:(3)M文件如下:num=[1 11 30 0];den=[1 9 45 97 50];[z,p,k]=tf2zp(num,den) %求取系统极零点i=find(real(p)>0);n1=length(i); %在jw轴右侧的极点个数j=find(real(z)>0);n2=length(j); %在jw轴右侧的零点个数if(n1>0)disp('系统不稳定且不是最小相位系统');elseif(n2>0)disp('系统稳定但不是最小相位系统');elsedisp('系统稳定且是最小相位系统');endzplane(num,den)运行结果:z =-6.0000-5.0000p =-2.6625 + 4.0242i-2.6625 - 4.0242i-2.9460-0.7289k =1系统稳定且是最小相位系统如图:分析:系统的极点都在jw 轴右侧,所以系统稳定。
matlab课后习题答案(附图)

matlab课后习题答案(附图)习题2.1画出下列常见曲线的图形y (1)⽴⽅抛物线3x命令:syms x y;ezplot('x.^(1/3)')(2)⾼斯曲线y=e^(-X^2);命令:clearsyms x y;ezplot('exp(-x*x)')(3)笛卡尔曲线命令:>> clear>> syms x y;>> a=1;>> ezplot(x^3+y^3-3*a*x*y)(4)蔓叶线命令:>> clear>> syms x y;>> a=1ezplot(y^2-(x^3)/(a-x))(5)摆线:()()tsin-=,=-by1命令:>> clear>> t=0:0.1:2*pi;>> x=t-sin(t);>>y=2*(1-cos(t)); >> plot(x,y)7螺旋线命令:>> clear >> t=0:0.1:2*pi; >> x=cos(t); >> y=sin(t); >> z=t;>>plot3(x,y,z)(8)阿基⽶德螺线命令:clear>> theta=0:0.1:2*pi;>> rho1=(theta);>> subplot(1,2,1),polar(theta,rho1)(9) 对数螺线命令:cleartheta=0:0.1:2*pi;rho1=exp(theta);subplot(1,2,1),polar(theta,rho1)(12)⼼形线命令:>> clear >> theta=0:0.1:2*pi; >> rho1=1+cos(theta); >> subplot(1,2,1),polar(theta,rho1)练习2.21. 求出下列极限值(1)nnn n3→命令:>>syms n>>limit((n^3+3^n)^(1/n)) ans = 3(2))121(lim n n n n ++-+∞→命令:>>syms n>>limit((n+2)^(1/2)-2*(n+1)^(1/2)+n^(1/2),n,inf) ans = 0(3)x x x 2cot lim 0→命令:syms x ;>> limit(x*cot(2*x),x,0) ans = 1/2 (4))(coslimcm xx ∞→命令:syms x m ; limit((cos(m/x))^x,x,inf) ans = 1(5))111(lim 1--→exx x命令:syms x>> limit(1/x-1/(exp(x)-1),x,1) ans =(exp(1)-2)/(exp(1)-1) (6))(2lim x x xx -+∞>> limit((x^2+x)^(1/2)-x,x,inf)ans = 1/2练习2.41. 求下列不定积分,并⽤diff 验证:(1)+x dxcos 1>>Clear >> syms x y >> y=1/(1+cos(x)); >> f=int(y,x) f =tan(1/2*x) >> y=tan(1/2*x); >> yx=diff(y ,x); >> y1=simple(yx) y1 =1/2+1/2*tan(1/2*x)^2 (2)+exdx1clear syms x yy=1/(1+exp(x));f=int(y,x) f =-log(1+exp(x))+log(exp(x)) syms x yy=-log(1+exp(x))+log(exp(x)); yx=diff(y,x); y1=simple(yx) y1 = 1/(1+exp(x)) (3)dx x x ?sin 2syms x yy=x*sin(x)^2; >> f=int(y,x) f =x*(-1/2*cos(x)*sin(x)+1/2*x)-1/4*cos(x)^2-1/4*x^2 clearsyms x y y=x*(-1/2*cos(x)*sin(x)+1/2*x)-1/4*cos(x)^2-1/4*x^2; yx=diff(y,x); >> y1=simple(yx) y1 = x*sin(x)^2 (4)xdx ?sec3syms x y y=sec(x)^3;f=int(y,x) f =1/2/cos(x)^2*sin(x)+1/2*log(sec(x)+tan(x)) clear syms x yy=1/2/cos(x)^2*sin(x)+1/2*log(sec(x)+tan(x)); yx=diff(y,x); y1=simple(yx) y1 =1/cos(x)^32. 求下列积分的数值解 1)dx x-10clearsyms xy=int(x^(-x),x,0,1) y =int(x^(-x),x = 0 .. 1) vpa(y,10) ans =1.291285997 2)xdx e x cos3202?πclearsyms xy=int(exp(2*x)*cos(x)^3,x, clear syms xy=int((1/(2*pi)^(1/2))*exp(-x^2/2),x,0,1) y =7186705221432913/36028797018963968*erf(1/2*2^(1/2))*2^(1/2)*pi^(1/0,2*pi) y =22/65*exp(pi)^4-22/65vpa(ans,10)(3)dx xe21221-π>> clear >> syms x>> y=int(1/(2*pi)^(1/2)*exp(-x^2/2),0,1); >> vpa(y,14) ans =.341344746068552(4)>> clear >> syms x>> y=int(x*log(x^4)*asin(1/x^2),1,3); Warning: Explicit integral could not be found. > In sym.int at 58 >> vpa(y,14) ans = 2.45977212823752(5) >> clear >> syms x1判断下列级数的收敛性,若收敛,求出其收敛值。
matlab考试题答案2007年

MATLAB语言2007年笔试考试答案一、选择题(每题5分,共30分)1、A C B B A D二、程序填空和改错(每空5分,共20)抛物线的方程为2=+,输入c后,绘制该曲线,寻找曲线的最小值y ax cx和对应的x值。
小明编写程序如下:clc;clear;close all;c=input('c=');a=1;x=-2:0.1:2;xnum=length(x)or xnum=size(x,2); %(1)对变量xnum赋为数组x的个数y=zeros(1,xnum);y=a*x^2+c*x;→y=a*x.^2+c*x;%(2)按照函数形式对y赋值figure;plot(x,y) %(3)绘制曲线xlabel('x');ylabel('y');[ymin,Imin]=min(y);xmin=x(ymin);→xmin=x(Imin);%(4)找到最小函数值对应的x值三、clc;clear;close all;A=[1 2 3;4 5 6;7 8 9];OprNo=menu('OprSel','1','2','3'); %生成菜单,3分,标题可任意取名switch OprNo %也可用if esleif end第2页共4页case 1B=reshape(A,prod(size(A)),1) %2分case 2C=A(:,1)+A(:,2) %2分case 3D=trace(A) %2分otherwiseerror('无效操作'); %不作要求end四、function y=NewtonEqu(x)y=x-(x^2+2*x-3)/(2*x+2); %函数定义,2分clc;clear;close all;x0=0;x1=NewtonEqu(x0);err=1e-4k=1;xrec=[x0 x1];while and(abs(x1-x0)>err,k<=100) %使用不定循环,4分,条件正确2分%或者使用固定100次的for循环,满足条件就break退出x0=x1;x1=NewtonEqu(x0); %循环条件更新2分,k=k+1;xrec=[xrec x1]; %记录每次迭代的x不作要求endkx1五、clc;clear;close all;%构建结构阵列,5分,也可用赋值语句逐个赋值Student=struct('Name',{'xiaoming' 'xiaohong' 'xiaojun'},...'Gym',{85 75 95},'Eng',{90 95 80},'Phy',{93 80 85},'Math',{88 90 70});%加权求平均,并排序,7分w=[1 2 3 2.5];w=w/sum(w);StuNum=length(Student);SynScore=zeros(1,StuNum);for i=1:StuNumSynScore(i)=Student(i).Gym*w(1)+Student(i).Eng*w(2)...+Student(i).Phy*w(3)+Student(i).Math*w(4);end[SynScore,I]=sort(SynScore);%从小到大排序%显示结果,3分disp(['Name',' ','Score']);%使用sprintf控制格式也可for i=1:StuNumdisp([Student(I(i)).Name,' ',num2str(SynScore(i))]);end六、clc;clear;close all;第4页共4页%输入题设条件,3分Us=10;f0=2;fs=10;snap_num=256;R1=2;R2=4;R3=4;R4=4;R5=2;R6=12;R7=12;%构建AU=b矩阵方程,5分a11=1/R3+1/R7+1/(R1+R2);a12=-1/R3;a21=1/R3;a22=-1/R3-1/(R4+R5)-1/R6;A=[a11 a12;a21 a22];b=[Us/(R1+R2);0];%求Uab以及写出Ub正弦电压形式,3分U=A\b;Uab=U(1)-U(2);UabUb=U(2);Ub_sin=Ub*sin(2*pi*f0*[0:snap_num-1]/fs);%作FFT,绘制分图,4分,不要求学生写出时间序列和频率序列fseq=[0:snap_num-1]*fs/snap_num;subplot(2,1,1);plot([0:snap_num-1],Ub_sin);xlabel('t(s)');ylabel('Uc(V)')subplot(2,1,2);plot(fseq,abs(fft(Ub_sin)));xlabel('f(Hz)');ylabel('Frequency Magnitude');。
完整word版,Matlab课后习题

习题 11. 执行下列指令,观察其运算结果, 理解其意义: (1) [1 2;3 4]+10-2i(2) [1 2; 3 4].*[0.1 0.2; 0.3 0.4] (3) [1 2; 3 4].\[20 10;9 2] (4) [1 2; 3 4].^2 (5) exp([1 2; 3 4]) (6)log([1 10 100]) (7)prod([1 2;3 4])(8)[a,b]=min([10 20;30 40]) (9)abs([1 2;3 4]-pi)(10) [1 2;3 4]>=[4,3;2 1](11)find([10 20;30 40]>=[40,30;20 10])(12) [a,b]=find([10 20;30 40]>=[40,30;20 10]) (提示:a 为行号,b 为列号) (13) all([1 2;3 4]>1) (14) any([1 2;3 4]>1) (15) linspace(3,4,5) (16) A=[1 2;3 4];A(:,2)2. 执行下列指令,观察其运算结果、变量类型和字节数,理解其意义: (1) clear; a=1,b=num2str(a),c=a>0, a= =b, a= =c, b= =c (2) clear; fun='abs(x)',x=-2,eval(fun),double(fun)3. 本金K 以每年n 次,每次p %的增值率(n 与p 的乘积为每年增值额的百分比)增加,当增加到rK 时所花费的时间为)01.01ln(ln p n rT +=(单位:年)用MA TLAB 表达式写出该公式并用下列数据计算:r =2, p =0.5, n =12.4.已知函数f (x )=x 4-2x 在(-2, 2)内有两个根。
取步长h =0.05, 通过计算函数值求得函数的最小值点和两个根的近似解。
matlab期末考试题目及答案

matlab期末考试题目及答案1. 题目:编写一个MATLAB函数,实现矩阵的转置操作。
答案:可以使用`transpose`函数或`.'`操作符来实现矩阵的转置。
例如,对于一个矩阵`A`,其转置可以通过`A'`或`transpose(A)`来获得。
2. 题目:使用MATLAB求解线性方程组Ax=b,其中A是一个3x3的矩阵,b是一个3x1的向量。
答案:可以使用MATLAB内置的`\`操作符来求解线性方程组。
例如,如果`A`和`b`已经定义,求解方程组的代码为`x = A\b`。
3. 题目:编写MATLAB代码,计算并绘制函数f(x) = sin(x)在区间[0, 2π]上的图像。
答案:首先定义x的范围,然后计算对应的函数值,并使用`plot`函数绘制图像。
代码示例如下:```matlabx = linspace(0, 2*pi, 100); % 定义x的范围y = sin(x); % 计算函数值plot(x, y); % 绘制图像xlabel('x'); % x轴标签ylabel('sin(x)'); % y轴标签title('Plot of sin(x)'); % 图像标题```4. 题目:使用MATLAB编写一个脚本,实现对一个给定的二维数组进行排序,并输出排序后的结果。
答案:可以使用`sort`函数对数组进行排序。
如果需要对整个数组进行排序,可以使用`sort`函数的两个输出参数来获取排序后的索引和值。
代码示例如下:```matlabA = [3, 1, 4; 1, 5, 9; 2, 6, 5]; % 给定的二维数组[sortedValues, sortedIndices] = sort(A(:)); % 对数组进行排序sortedMatrix = reshape(sortedValues, size(A)); % 将排序后的值重新构造成矩阵disp(sortedMatrix); % 显示排序后的结果```5. 题目:编写MATLAB代码,实现对一个字符串进行加密,加密规则为将每个字符的ASCII码值增加3。
matlab课后习题及答案详解

matlab课后习题及答案详解第1章练习题1.安装matlab时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装?在安装matlab时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即matlab选项)必须安装。
第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。
2.matlab操作方式桌面存有几个窗口?如何并使某个窗口瓦解桌面沦为单一制窗口?又如何将瓦解过来的窗口再次置放至桌面上?与其他计算机语言相比较,matlab语言注重的特点就是什么?matlab系统由那些部分共同组成?在matlab操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的close按钮,一个是可以使窗口成为独立窗口的undock按钮,点击undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择dock……菜单项就可以将独立的窗口重新防止的桌面上。
matlab具备功能强大、使用方便、输出简便、库函数多样、开放性弱等特点。
matlab系统主要由开发环境、matlab数学函数库、matlab语言、图形功能和应用程序接口五个部分组成。
3.如何设置当前目录和搜寻路径,在当前目录上的文件和在搜寻路径上的文件存有什么区别?命令历史窗口除了可以观测前面键入的命令外,除了什么用途?当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的setpath菜单项来完成。
在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被matlab运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。
命令历史窗口除了用作查阅以前键入的命令外,还可以轻易执行命令历史窗口中选取的内容、将选取的内容拷贝到剪贴板中、将选取内容轻易拷贝到m文件中。
MATLAB2007

MATLAB R2007基础教程 基础教程
清华大学出版社
MATLAB 的功能(1/9) 的功能( )
MATLAB 将高性能的数值计算和可视化功能集成 在一起,并提供了大量的内置函数, 在一起,并提供了大量的内置函数,从而被广泛 地应用于科学计算、 地应用于科学计算、控制系统和信息处理等领域 的分析、仿真和设计工作, 的分析、仿真和设计工作,而且利用 MATLAB 产品的开放式结构, 产品的开放式结构,可以很容易地对 MATLAB 的功能进行扩充, 的功能进行扩充,从而在不断深化问题的认识的 同时, 同时,不断完善 MATLAB 产品以提高产品自身 的竞争能力。其功能为: 的竞争能力。其功能为:
– – – – – – – – 线性代数和矩阵分析与变换 数据处理与基本统计 快速傅里叶变换( ),相关与协方差分析 快速傅里叶变换(FFT),相关与协方差分析 ), 稀疏矩阵运算 三角及其它初等函数 Bessel、beta及其它特殊函数 、 及其它特殊函数 线性方程及微分方程求解 多维数组的支持
第9页
MATLAB 绘制的图形如: 绘制的图形如:
2011年11月12日
第11页
MATLAB R2007基础教程 基础教程
清华大学出版社
MATLAB 的功能(5/9) 的功能( )
交互式编辑创建图形
– MATLAB 提供了交互式工具用于设计、修改图形窗口, 提供了交互式工具用于设计、修改图形窗口, 的图形窗口中工程师可以完成: 在 MATLAB 的图形窗口中工程师可以完成: – 拖放数据集到窗体; 拖放数据集到窗体; – 修改图形窗体中任意对象的属性; 修改图形窗体中任意对象的属性; – 放大、旋转、平移、修改摄像机或者光线的位置、角 放大、旋转、平移、修改摄像机或者光线的位置、 度等; 度等; – 增加注释和数据标注; 增加注释和数据标注; – 将图形窗口文件转变为 M 代码。 代码。
(完整word版)Matlab期末复习题(答案)

一、 选择题(有10个题,共20分)1.有一个4×4矩阵A,表示取得矩阵A 的第一行和第二行的第二列至第四列所有元素的命令是( A )(A) A(1:2,2:4) (B) A(2:4,1:2) (C) A(1:2:4) (D) A(4:2:1)2.将一个图形窗口分成3×4个子区并表示第一个子区的命令是( C )A . subplot(12,1)B .subplot(1,12)C .subplot(3,4,1)D .subplot(1,3,4)3.利用Matlab 的符号计算功能计算微分方程初值问题⎪⎩⎪⎨⎧=+-=2)1(42y x x y dx dy 在区间 [1,2]上的解析解时所用到的函数是( D )(A) ode23 (B) ode45 (C) solve (D) dsolve4.以下有关Matlab 子函数的性质中不正确的是( D )(A) 子函数只能被处于同一个文件的主函数或其他子函数调用;(B) 在M 函数文件中,任何指令通过“名字”对函数进行调用时,子函数的优先级仅次于内装函数;(C) 在M 函数文件内,主函数的位置不可改变,但子函数的排列次序可以任意改变;(D) help, lookfor 等帮助指令都能提供关于子函数的任何帮助信息。
5.以下语句中生成按钮控件的语句是( B )(A) h_1=uimenu(gcf,'Label','&Blue');(B) h_1=uicontrol(gcf,'style','push', 'string','grid off','callback','grid off');(C) h_1=uicontrol(gcf,'style','text', 'horizontal','left','string',{'输入'});(D) h_1=axes('unit','normalized','position',[0,0,1,1],'visible','off');6.以下有关Matlab 函数及其句柄的说法中正确的是( A,C )(A) 在该函数的目录下可定义该函数的句柄,句柄定义后,可用feval 函数和句柄在任何目录下调用该函数;(B) 函数不在Matlab 的当前工作目录下不可执行,但可以用feval 函数和句柄调用该函数;(C) 函数不在Matlab 的当前工作目录下时,可以定义函数的句柄;(D) 函数不在Matlab 的当前工作目录下时,不可以定义函数的句柄。
matlab练习题及答案详解(附程序)

Matlab练习题及答案详解一、基础题1、下表为1)2) 把任意两点距离的表中,自己到自己的距离,转变成无穷大clcclearclose alldata=xlsread('ti1.xls');%从excel里导入数据x=data(1,:);%将data里第一行的所有列赋值给xy=data(2,:);%将data里第二行的所有列赋值给xn=length(x);%表x的长度dis=zeros(n,n);%对距离表进行初始化for i=1:nfor j=1:ndis(i,j)=sqrt((x(i)-x(j))^2+(y(i)-y(j))^2);%平面坐标距离公式endenddis(dis==0)=inf;%将距离表中为0的数值,变成无穷大redis=dis;2、按要求步骤,操作下表要求:1) 对每列进行[0,1]区间化'(min())/(max min())=--;x x x x2) 把区间化后的表的右边3列,连接在左边3列下边,构成16行3列的表;3) 把16行3列进行转置,得到3行16列的表。
然后对列进行操作,把3行16列的表变成一列,后转置成一行,得到最终的结果。
clcclearclose allx=load('ti2.txt');%从txt里导入数据big=max(x);small=min(x);%算出每列的最大最小值[m,n]=size(x);%表x的行和列的大小newx1=zeros(m,n);%对newx1进行初始化,大小和初始x一样大for i=1:nnewx1(:,i)=(x(:,i)-small(i))./(big(i)-small(i));endnewx2=zeros(2*m,n/2);%对最新的表进行初始化大小为,行为newx1的2倍,列为一半newx2(1:m,1:n/2)=newx1(1:m,1:n/2);%把左边3列不操作的值,直接赋值给newx2上边newx2(m+1:end,1:n/2)=newx1(1:m,n/2+1:end);%把右边的3列,赋值给newx2下边[p,q]=size(newx2);%表newx2的行和列的大小 newx3=zeros(p*q,1);%对newx3进行初始化 for j=1:qnewx3((j-1)*p+1:j*p,1)=newx2(:,q);%对newx3进行操作 end% newx3=reshape(newx2,[],1); renewx=newx3';%最终的结果3、数值运算1)用matlab 求下列式子极限(a) lim x → (b) 0x →2)用matlab 求下列函数的导数(a)22sin (1)y x =+ (b) arccos()(,)x f x y ye =3)用matlab 求下列式子的定积分(a) 4⎰(b) 312-⎰⎰clc clear %===求极限 %====3.1.a=== syms xy=(x^(1/2)-8)/(x^(1/3)-4);re1a=limit(y,x,64)%====3.1.b===syms xy=((x^2-2*x+4)^(1/2)-2)/x;re1b=limit(y,x,0)%===求导数%====3.2.a===syms xf=(sin(x^2+1))^2;re2a=diff(f,x)%对x求导%====3.2.b===syms x yf=y*exp(acos(x));re2bx=diff(f,x)%对x求偏导re2by=diff(f,y)%对y求偏导%===求定积分===%====3.3.a===syms xre3a=int((x+2)/(2*x+1)^(1/2),x,0,4)%一重积分%====3.3.b===syms x yre3b=int(int(y/(x^2-1),x,-2,-sqrt(2)),y,1,3)%二重积分二、提高题1、画一个正五边形,边长自定。
Matlab 作业1

喻晓磊 200731510103 电子科学与技术习题一:编写M文件,计算以下问题:口口口口×口=口口口口以上9个口代表1~9这9个数字,不得遗漏或重复要求:给出解算思路和M文件代码注意算法的效率解题理念:1,设以上方框中的数字分别是1~9之间的数字a、b、c、d、e、f、g、h、i。
2,我们可以推出,个位数e肯定不是1或者5 ,否则两个四位数的个位必然相等,即d=i;再者,其不可能等于9,由不重复的1~9组成的四位数,最大为9876,最小为1234,故e的最大可能取值为9876/1234=8.003……,即最大取8 。
3,我们看到,e的最小取值为2,那么a肯定不能大于或等于5 ,否则乘法运算后的结果为5位数,所以a 只能取1~4。
4,在此基础上,我们采取“穷举法”,逐个试验,从 a 开始,每一位与前面出现位的数字不相等,然后检测其是否满足算式。
程序代码如下:global aglobal bglobal cglobal dglobal eglobal fglobal gglobal hglobal ifor a=1:4for b=1:9if b~=a;for c=1:9if (c~=b)&&(c~=a);for d=1:9if (d~=b)&&(d~=a)&&(d~=c);for e=2:8 e~=5;if (e~=a)&&(e~=b)&&(e~=c)&&(e~=d);for f=1:9if (f~=a)&&(f~=b)&&(f~=c)&&(f~=d)&&(f~=e);for g=1:9if(g~=a)&&(g~=b)&&(g~=c)&&(g~=d)&&(g~=e)&&(g~=f);for h=1:9if(h~=a)&&(h~=b)&&(h~=c)&&(h~=d)&&(h~=e)&&(h~=f)&&(h~=g);for i=1:9if(i~=a)&&(i~=b)&&(i~=c)&&(i~=d)&&(i~=e)&&(i~=f)&&(i~=g)&&(i~=h);x=1000*a+100*b+10*c+d;y=e*x;z=1000*f+100*g+10*h+i;if y==z;r=xs=et=yend;end;******end;end;得到的结果如下:我们看到,结果有两组:1738 * 4= 69521963 * 4= 7852这两组结果都显示到了MATLAB软件的命令窗(COMMAND WINDOW)中,我们是使用了一个小技巧:将x、e、y的值赋给r、s、t时并没有在句末加分号,所以计算的过程也显示出来了,但是看工作区(work space)中,r、s、t 的值却只对应后面一组,这是因为,当循环进行到算出第二组结果时,便替换掉了第一组的值。
MatLab考试题题库(必做题)(带答案)

MatLab考试题题库(必做题)(带答案)一,1.请登陆美国MathWork公司的网站,查看看现在大概有多少本MATLAB-baedbook(以MATLAB为基本软件,来说明各个专业领域的教科书或工具书)。
哪一个领域的MATLAB-baedbook最多中文书共有几本答:1612本,数学方面的最多,中文书共有37本。
2.请在MATLAB中直接输入下列常数,看它们的值是多少:a.ib.jc.epd.infe.nanf.pig.realma某h.realmin依次解为:an=0+an=0+an=an=Infan=NaNan=an=+308an=3.试写一函数regPolygon(n),其功能为画出一个圆心在(0,0)、半径为1的圆,并在圆内画出一个内接正n边形,其中一顶点位于(0,1)。
例如regPolygon(8)可以画出如下之正八边型:解:新建文件如下:functiony=regPolyfon(n)n=8;%要画的n边形R=1;%圆的半径t=0::2某pi;某=R某co(t);y=R某in(t);m=linpace(pi/2,5/2某pi,n+1);某z=R某co(m);yz=R某in(m);holdonplot(某,y,某z,yz);a某i'equal';4.一条参数式的曲线可由下列方程式表示:某=in(t),y=1-co(t)+t/10当t由0变化到4某pi时,请写一个MATLAB的脚本,画出此曲线在某Y平面的轨迹。
解:新建:t=linpace(0,4某pi);某=in(t);y=1-co(t)+t/10;plot(某,y,'-o');5.当一个小圆轮沿着一条曲线行进时,轮缘任一点的轨迹就会产生变化丰富的摆线。
假设小圆轮的半径r=2。
a.当小圆轮绕着一个大圆(半径R=5)的外部滚动时,请画此「圆轮摆线」或「外花瓣线」。
b.重复上小题,但改成在大圆的内部滚动,请画出此「内花瓣线」。
MATLAB平时练习题(附答案)

一、填空题1、MATLAB常用操作界面包括、工作空间窗口、、、内存数组编辑器、M文件编辑/调试器、帮助导航/浏览器、图形窗口等。
2、MATLAB中Inf或inf表示、NaN或nan表示、nargout表示。
3、MATLAB中逗号主要用作;用作输入量与输入量之间的分隔符;。
4、工作空间浏览器主要用于内存变量的、和。
5、MATLAB实现将全下标转换为单下标的指令为、据单下标换算出全下标的指令为。
6、二维数组的标识有、、“逻辑1”标识。
二、简述下列命令在MATLAB中的作用1.clf %清除图对象clear %清除工作空间内的所有变量clc %清除当前屏幕上显示的所有内容,但不清除工作空间中的数据2.ceil %沿+∞方向取整factor %符号计算的因式分解3.sph2cart %球坐标变为直角坐标pow2 %2的幂4.digits(d) %设置当前的可变算术精度的位数为整数 d 位vpa(pi,100) %设置当前pi的小数位数为1005.box on %打开框状坐标轴开grid off %网格关6.logspace %对数分度向量cat %串接成高维数组7.sym2poly %符号多项式转变为双精度多项式系数向量poly2sym %双精度多项式系数转变为向量符号多项式8.plot3 %三维线图poly2str %以习惯方式显示多项式9.bar %二维直方图pie %二维饼图10.zoom on %打开图形缩放模式 edit %M文件编辑11.whos %对当前工作空间变量的信息进行列表figure %生成图形窗口12.cart2sph %直角坐标变为球坐标pol2cart % 极或柱坐标变为直角坐标13.diff %数值差分、符号微分14.ezplot3 %画三维曲线的简捷指令fix %向零取整factor %符号计算的因式分解三简答题1.叙述MATLAB的主要窗口包括哪些?其作用是什么?命令窗口(Commend Window)——供输入命令,实现计算或绘图功能。
matlab基础练习题(带答案)

M a t l a b 基础练习题常量、变量、表达式1、 MATLAB 中,下面哪些变量名是合法的?()(A )_num(B )num_(C )num-(D )-num2、 在MATLAB 中,要给出一个复数z 的模,应该使用()函数。
(A )mod(z)(B )abs(z)(C )double(z)(D )angle(z)3、 下面属于MATLAB 的预定义特殊变量的是?()(A )eps (B )none(C )zero(D )exp4、 判断:在MATLAB 的内存工作区中,存放一个英文字符'a'需要占用1个字节,存放一个中文字符‘啊’需要占用2个字节。
( 错,都是2个字节 )5、 判断:MATLAB 中,i 和j 都是虚数单位对 )6、 判断:MATLAB 中,pi 代表圆周率,它等于3.14。
( 错,后面还有很多位小数)7、 在MATLAB 中,若想计算的51)3.0sin(21+=πy 值,那么应该在MATLAB 的指令窗中输入的MATLAB 指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。
8、 在MATLAB 中,a=1,b=i ,则a 占_8__个字节,b 占_16_个字节,c 占________字节。
9、 在MATLAB 中,inf 的含义是__无穷大__,nan 的含义是__非数(结果不定)___。
数组1、 在MATLAB 中,X 是一个一维数值数组,现在要把数组X 中的所有元素按原来次序的逆序排列输出,应该使用下面的()指令。
(A )X[end:1] (B )X[end:-1:1] (C )X(end:-1:1)(D )X(end:1)2、 在MATLAB 中,A 是一个字二维数组,要获取A 的行数和列数,应该使用的MATLAB 的命令是()。
(A )class(A)(B )sizeof(A) (C )size(A) (D )isa(A)3、 在MATLAB 中,用指令x=1:9生成数组x 。
matlab语言考试题2007年

西安电子科技大学考试时间 90 分钟MATLAB语言试题班级学号姓名任课教师一、选择题(每题5分,共30分)1.工作空间workspace中有变量a,b,c,按如下步骤进行操作,(1)将变量a存成数据文件adata.mat,(2)清除工作区间所有变量,(3)再将数据文件调入工作区间,下面( )组命令是正确的:A save adata a; clear; load adata;B save adata a -ascii; clear; load adata;C save adata; clear all; load adata;D save adata; clear all; load –ascii adata;2.在Command Window窗口中分别输入下列命令,对应输出结果正确的是( )A. j=sqrt(-1) j=-1B. x=ones(1,2);x>0 ans=1C. y=diag(eye(2)).’y=[1 1]D. rand(1,3) ans=[0.9501 1.2311 0.6068]3.对应MATLAB提供的绘制平面曲线、离散序列、三维曲线、三维网格曲线、等高线图的函数为( )A. plot, stem, mesh, plot3, surfB. plot, stem, plot3, mesh, contourC. plot, hist, mesh, plot3, contourD. plot, hist, plot3, meshc, contour4.下列对条件语句、分支语句、固定循环次数语句、不定循环次数语句关键字排序正确的是( )A. if else end; for end; switch case end; while end;B. if else end; switch case end; for end; while end;C. for end; if else end; while end; switch case end;D. while end; for end; switch case end; if else end;5. 在MA TLAB的Editor中输入下列语句:x=[1 3;2 4];y=norm(x(:,2));z=det(x);u=diag(x);v=polyval(u,1);运行后,在Command第2页共4页Window 中对应y,z,u,v的输出结果为( )A.5 -2 [1;4] 5B.5 2 [1;2] 3C.4 2 [1;2] 3D.4 -2 [1;4] 56. str1='Matlab is a usefull tool';str2=strtok(str1), strnum=length(str2),logvec=strcmpi(str2,'matlab'),k=findstr(str2,'a')下列对变量str2, strnum,logvec,k值描述正确的是:A ‘M’ 1 0 [ ] B. ‘Matlab’ 6 0 [2 5] C. ‘M’ 1 1 [ ] D. ‘Matlab’ 6 1 [2 5]二、程序填空和改错,改错处用箭头标记(每空5分,共20)抛物线的方程为2=+,输入c后,绘制该曲线,寻找曲线的最小值y ax cx和对应的x值。
MATLAB课后习题集附标准答案

第2章MATLAB概论1、与其他计算机语言相比较,MA TLAB 语言突出的特点是什么?答:起点高、人机界面适合科技人员、强大而简易的作图功能、智能化程度高、功能丰富,可扩展性强.2、MA TLAB 系统由那些部分组成?答:开发环境、MATLAB数学函数库、MATLAB语言、图形功能、应用程序接口3、安装MATLAB 时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装?答:在安装MATLAB时,安装内容由选择组件窗口中各复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装. 第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可. 矚慫润厲钐瘗睞枥庑赖。
4、MATLAB 操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上?聞創沟燴鐺險爱氇谴净。
答:在MATLAB 操作桌面上有五个窗口,在每个窗口的右下角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口称为独立的Undock 按钮,点击Undock 按钮就可以使该窗口脱离桌面称为独立窗口,在独立窗口的view 菜单中选择Dock,菜单项就可以将独立的窗口重新防止的桌面上.残骛楼諍锩瀨濟溆塹籟。
5、如何启动M 文件编辑/调试器?答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M 文件编辑/调试器将被启动.在命令窗口中键入edit 命令时也可以启动M 文件编辑/调试器.酽锕极額閉镇桧猪訣锥。
6、存储在工作空间中的数组能编辑吗?如何操作?答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可.彈贸摄尔霁毙攬砖卤庑。
7、命令历史窗口除了可以观察前面键入的命令外,还有什么用途?答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中. 謀荞抟箧飆鐸怼类蒋薔。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 请登陆美国MathWorks 公司的网站(),查看看现在大概有多少本MATLAB-based books (以MATLAB 为基本软件,来说明各个专业领域的教科书或工具书)。
哪一个领域的MATLAB-based books 最多?中文书共有几本?2. 请观察Matlab的各个窗口,并点击菜单项,试一试它们的功能。
3. 请在MATLAB中直接输入下列常数,看它们的值是多少:a. ib. jc. epsd. infe. nanf. pig. realmaxh. realmin4. 请使用lookfor 命令,找出具有下列功能的MATLAB 命令。
(每一项只需找出一个相关度最高的MATLAB 命令。
这类似于在网上搜索资料,有时需要花费较长时间搜索。
注意每次只输入一个关键词。
)a. 找出矩阵的大小(即行、列维数)b. 改变矩阵的大小(例如将4×6 的矩阵改成12×2)c. 将矩阵左右翻转(Left-right flip)d. 将矩阵上下翻转(Up-down flip)e. 找出矩阵每一列的最大值f. 对矩阵的每一列进行排序g. 矩阵的旋转(Rotate)h. 逆矩阵(Inverse matrix)的计算i. 求矩阵的秩(rank)j. 计算矩阵的行阶梯矩阵reduced row echelon formk. 计算矩阵的特征值(Eigenvalues)与特征向量(Eigenvectors)l. 直角坐标转成极坐标m. 极坐标转成直角坐标5. 写一个MATLAB 小程序findN01.m,求出最小的n 值,使得n! > realmax。
请问n 的值是多少?此时(n-1)! 的值又是多少?6. MATLAB 的sqrt 命令可对任一数值进行开平方的运算。
用此命令求出下列各数的平方根,并验算之:a. πb. 2*ic. -5+12*i其中i 是单位虚数。
7. 写一个MATLAB 函数myFun.m 来计算下列方程式:y = 0.5*exp(x/3)-x*x*sin(x)其中x 是函数的输入,y 是函数的输出。
你的函数必须能够处理当x 是标量或是向量的两种情况。
此外,请利用下述两列程序代码来画出此函数的图形:x=0:0.1:10;plot(x, myFun(x));8. 写一个MATLAB 函数piFun.m 来计算下列级数:f(n) = 4*(1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + ...)其中n 为函数的输入,代表上述级数的项数,级数和f(n) 则是函数的输出。
9. 使用tic 和toc 命令来测量piFun(100000) 的计算时间。
请说明你的计算机规格以及其计算时间。
10. 请写一个函数minxy.m,其功能是由一个二维矩阵中找出小元素,用法如下:[minValue, minIndex] = minxy(matrix)其中matrix 是一个二维矩阵,minValue 则是其元素的最小值,而minIndex 是一个长度为2 的正整数向量,代表最小值的索引。
(换句话说,matrix(minIndex(1), minIndex(2)) 的值即是minValue。
)请测试[minValue, minIndex] = minxy(magic(20))所传回来的minValue 和minIndex 各是多少?提示:请尽量使用 min 命令。
11. 如果a = [92, 95, 58, 75, 69, 82],但我们执行下列sort 命令:[b, index] = sort(a)会得到b = [58, 69, 75, 82, 92, 95] 及index = [3, 5, 4, 6, 1, 2],其中index 的每个元素代表 b 的每个元素在 a 的位置,满足 b 等于a(index)。
请写一个函数sort01.m,当输入为 a 时,可得到index2,满足 a 等于b(index2)。
以上述 a 向量为例,得到的index2 应该是[5, 6, 1, 3, 2, 4]。
提示:你可以使用循环(如 for-loop 和 while-loop 等)完成,但是程序代码会比较凌乱,执行效率也会变差。
所以请尽量利用 sort 命令,而不要用到循环。
12. 假设在期中考后,我们用一个向量x 来储存每个人的考试成绩。
请写一个函数ranking.m,输入为成绩向量x,输出则是此成绩的排名。
例如,当x = [92, 95, 58, 75, 69, 82] 时,ranking(x) 得到的排名向量则是[2, 1, 6, 4, 5, 3],代表92 分是排名第2,95 分是排名第1,58 分是排名第6,等等。
提示:你可以使用循环(如 for-loop 和 while-loop 等)完成此作业,但是程序代码会比较凌乱,执行效率也会变差。
所以请尽量利用 sort 命令,而不要用到循环。
13. 试写一函数regPolygon(n),其功能为画出一个圆心在(0,0)、半径为1的圆,并在圆内画出一个内接正n边形,其中一顶点位于(1,0)。
例如regPolygon(8) 可以画出如下之正八边型:14. 一条由参数方程表示的曲线为:x = sin(t), y = 1 - cos(t) + t/10当t 由0 变化到4*pi 时,请写一个MATLAB 的脚本plotParam.m,画出此曲线在XY 平面的轨迹。
15. 试写一函数regStar(n),其功能为画出一个圆心在(0,0)、半径为1 的圆,并在圆内画出一个内接正n星形,其中一顶点位于(1,0)。
例如regStar(7) 可以画出如下之正7 星型:16. 一个平面上的椭圆可以表示成下列方程式:(x/a)2+(y/b)2=1我们也可以用参数式将椭圆表示成:x = a*cos(τ)y = a*sin(τ)请利用上述参数式,写一个函数ellipse(a, b),其功能是画出一个椭圆,而且椭圆上共有100个点。
例如,ellipse(7, 2) 可以产生下列图形:17. 请用写一个MATLAB 脚本figSolve.m,利用图解法,说明下列方程组有无穷多组解:y = xy = sin(1/x)(请务必画出上述两条曲线来加以说明之。
)18. 利萨如图形(Lissajous Figure,又称为Bowditch Curve)可用下列参数式来表示:x = cos(m*τ)y = sin(n*τ)试画出在不同m、n 值的利萨如图形:a. m = n = 1b. m = 3, n = 2c. m = 2, n = 7d. m = 10, n = 1119. Chebyshev 多项式的定义如下:y = cos(m*cos-1x)其中x 的值介于[-1, 1]。
当m 的值由 1 变化到5,我们可得到五条曲线。
请将这五条曲线画在同一张图上面,记得要使用legend 命令来标明每一条曲线。
20. 使用MATLAB 画一个圆心在原点、半径等于10 的圆,并在圆周上依逆时钟方向取任意四点A、B、C、D,将线段AB、AC、AD、BC、BD、CD 用直线画出。
a. 计算线段AB、AC、AD、BC、BD、CD 的长度。
b. 计算AB*CD+AD*BC 和AC*BD。
两者的差距有多少?是否可视为相等?21. 当一个小圆轮在平面上滚动时,轮缘的一点在滚动时所形成的轨迹称为「摆线」(Cycloid)。
请用MATLAB 画出一个典型的摆线,其中小圆轮的半径为1,而且至少要滚三圈。
22. 此题和上题类似。
当一个小圆轮沿着一条曲线行进时,轮缘任一点的轨迹就会产生变化丰富的摆线。
假设小圆轮的半径r=2。
a. 当小圆轮绕着一个大圆(半径R=5)的外部滚动时,请画此「圆轮摆线」或「外花瓣线」。
b. 重复上小题,但改成在大圆的内部滚动,请画出此「内花瓣线」。
提示:下图显示在不同的 R 和 r 值,所产生的圆轮摆线。
23. 若大圆和小圆的半径成整数比,当小圆在大圆的内部滚动时,小圆内的任一点A的轨迹就会形成一个漂亮无缺的花瓣线。
当大圆半径R 为10,小圆半径r 为3,且A 点离小圆圆心距离r1 为2 时,请画出此完整的花瓣线。
提示:下图显示在不同 r1 值所产生的内花瓣线。
提示:下图显示在不同 r1 值所产生的外花瓣线。
24. 请用surf 命令来画出下列函数的曲面图:z = x*exp(-x2-y2)其中x 在[-2, 2] 间共等切分为21 点,y 在[-1, 1] 间共等切分为21 点,所以此曲面共有21*21=441 个点。
a. 请用预设的颜色对应表(Colormap)来画出此曲面。
b. 请以曲面的斜率来设定曲面的颜色。
c. 请以曲面的曲率来设定曲面的颜色。
25. 一个空间中的椭球可以表示成下列方程式:(x/a)2+(y/b)2+(z/c)2 = 1请使用任何你可以想到的方法,画出三维空间中的一个平滑的椭球,其中 a = 3,b = 4,c= 8。
(但不能使用ellipsoid 命令。
)26. MATLAB 有一些现成的命令,可以来画出特殊立体图形,例如,可以用sphere 画出圆球,用cylinder 画出圆柱体,用ellipsoid 画出椭球,请试试看。
27. 请用ez 开头的绘图命令(例如ezmesh、ezsurf、ezmeshc、ezsurfc、ezplot3、ezcontour 等),画出一个你认为最炫的立体图形。
28. 我们可用subplot 在同一个窗口画出两个不同的曲面图。
你是否可想出一个聪明的办法,让这两个曲面图各自用到不同的颜色对应表?请举例说明。
29. 画出下列方程式的曲面图及等高线图:z = sin(x/2)cos(y)其中,x 的21 个值均匀分布在[-2*pi, 2*pi] 范围,y 的31 值均匀分布在[-1.5*pi, 1.5*pi]。
请使用subplot(2,1,1) 和subplot(2,1,2) 将产生的曲面图和等高线图在同一个窗口上,产生的图形应类似下图:30. 请用meshc 命令来同时画出下列函数的曲面图和等高线图:z = (x*y)/(x+y)其中x 和y 都介于0 和 1 中间,且各自都分成21 个格子点,所以此曲面共有21*21=441 个点。
此外,等高线图应有20 条。
请问此曲面在XY 平面的哪一点(或区域)会有最大值?此最大值为何?31. 请画出下列圆椎曲面的三维空间曲面图及其10条等高线:a. z=x*yb. z=x2+2xy+y2c. z=x2+2xy+2y2d. z=x2-2xy-y2上述各方程式的定义域皆是[-10, 10] x [-10, 10]。
提示:使用 surfc 命令。