MATLAB实验上机易错题汇总

合集下载

Matlab上机练习题及答案

Matlab上机练习题及答案

Matlab 上机练习题及答案---------------------------------------------------------------------1、矩阵Y=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡3472123100451150425,给出元素1的全下标和单下标,并用函数练习全下标和单下标的转换,求出元素100的存储位置。

取出子矩阵⎥⎦⎤⎢⎣⎡21301,并求该矩阵的维数。

解:命令为:Y=[5,2,4;0,15,1;45,100,23;21,47,3]Y(2,3)Y(10)sub2ind([43],2,3)[i,j]=ind2sub([43],10)find(Y==100)sub2ind([43],3,2)B=Y(2:2:4,3:-2:1)或B=Y([24],[31])[m n]=size(Y)---------------------------------------------------------------------2、已知矩阵A=[10-1;241;-205],B=[0-10;213;112]求2A+B 、A 2-3B 、A*B 、B*A 、A.*B ,A/B 、A\B 解:命令为:A=[10-1;241;-205]B=[0-10;213;112]E=2*A+B F=A^2-3*B G=A*B H=B*A I=A.*B J=A/B K=A\B---------------------------------------------------------------------3、利用函数产生3*4阶单位矩阵和全部元素都为8的4*4阶矩阵,并计算两者的乘积。

解:命令为:A=eye(3,4)B=8*ones(4)C=A*B---------------------------------------------------------------------4、创建矩阵a=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡------7023021.5003.120498601,取出其前两列构成的矩阵b ,取出前两行构成矩阵c ,转置矩阵b构成矩阵d ,计算a*b 、c<d ,c&d,c|d ,~c|~d 解:命令为:a=[-1,0,-6,8;-9,4,0,12.3;0,0,5.1,-2;0,-23,0,-7]b=a(:,[12])c=a([12],:)d=b’e=a*b f=c<d g=c&d h=c|d i=~c|~d---------------------------------------------------------------------5、求!201∑=n n 解:命令文件为sum=0;s=1;for n=1:20s=n*s;sum=sum+s;end sum---------------------------------------------------------------------6、求a aa aaa aa a S n ++++=得值,其中a 是一个数字,由键盘输入,表达式中位数最多项a 的个数,也由键盘输入。

MATLAB上机实验练习题及答案

MATLAB上机实验练习题及答案

MATLAB上机实验练习题及答案09级MATLAB上机实验练习题1、给出一个系数矩阵A[2 3 4;5 4 1;1 3 2],U=[1 2 3],求出线性方程组的一个精确解。

2、给出两组数据x=[0 0.3 0.8 1.1 1.6 2.3]’y=[0.82 0.72 0.63 0.60 0.55 0.50]’,我们可以简单的认为这组数据在一条衰减的指数函数曲线上,y=C1+C2e-t通过曲线拟合求出这条衰减曲线的表达式,并且在图形窗口画出这条曲线,已知的点用*表示。

3、解线性方程4、通过测量得到一组数据:5、已知一组测量值6、从某一个过程中通过测量得到:分别采用多项式和指数函数进行曲线拟合。

7、将一个窗口分成四个子窗口,分别用四种方法做出多峰函数的表面图(原始数据法,临近插值法,双线性插值法,二重三次方插值法)8、在同一窗口使用函数作图的方法绘出正弦、余弦、双曲正弦、双曲余弦。

分别使用不同的颜色,线形和标识符。

9、下面的矩阵X表示三种产品五年内的销售额,用函数pie显示每种产品在五年内的销售额占总销售额的比例,并分离第三种产品的切片。

X= 19.3 22.1 51.634.2 70.3 82.4 61.4 82.9 90.8 50.5 54.9 59.1 29.4 36.3 47.010、对应时间矢量t ,测得一组矢量y采用一个带有线性参数的指数函数进行拟合,y=a 0+a 1e -t +a 2te -t ,利用回归方法求出拟合函数,并画出拟合曲线,已知点用圆点表示。

11、请创建如图所示的结构数组(9分)12、创建如图所示的元胞数组。

(9分)13、某钢材厂从1990年到2010年的产量如下表所示,请利用三次样条插值的方法计算1999年该钢材厂的产量,并画出曲线,已知数据用‘*’表示。

要求写出达到题目要求的MATLAB 操作过程,不要求计算结果。

14、在一次化学动力学实验中,在某温度下乙醇溶液中,两种化合物反应的产物浓度与反应时间关系的原始数据如下,请对这组数据进行三次多项式拟合,并画出拟合曲线,已知数据如下。

MATLAB上机题汇总(较难题,抽1题)合肥学院

MATLAB上机题汇总(较难题,抽1题)合肥学院

1.根据下面的方程绘制图形,y=cos(x)+x ,x 取值-pi-pi ,然后用多项式拟合函数进行拟合。

2.要求编写一个函数文件,将一个给定图片的所有颜色都变深(变深多少自己斟酌),其中黑色为0,白色为2553.根据下面的方程绘制图形,y=cos(2x)+sin(2x),然后用5次多项式进行拟合。

4.要求编写一个M 函数,完成下列函数的求解:y =sin (x );y =sin (x +pi );y =sin (x +pi /3);y =sin (x +pi/2)自变量x 的变化范围从-pi 到pi ,要求四个图像画在同一个图形窗体中。

5.M 文件的编写计算分段函数 ⎪⎩⎪⎨⎧≠+=+++=10101)1cos(2x x x x x x x y6.函数文件的编写编写函数文件,求半径为r 的圆的周长和面积。

7.题目见教材p85,其中的数据可以给出文本文件或者由下面的式子表达a=[10*rand(24,1)+15,1*rand(24,1)+30,2*rand(24,1)+45],这是24行3列的一个矩阵,第一列表示温度,第二列表示湿度,第三列表示气压。

要求如下:(1) 将温度数据取出(2) 找出一天中最高温度(3) 按温度进行从小到大(默认)排序(4) 求出最高温度的时刻(5) 按温度进行从大到小排序8.已知Fibonacci (斐波那)数列由式子⋯⋯=+=--4,3,21k a a a k k k 可以生成,其中初值为121==a a ,试编写出生成某项Fibonacci 数值的MATLAB 函数,并求20a 的值。

9.编写M 函数,判断给定的三边能够构成一个三角形?并求其周长10.给定一个声音文件,如1.wav ,引入这段声音,将音量改为2倍之后,再保存成2.wav11.所表示的三维曲面,x,y的取值范围是[-8,8]12.绘制y=sin(2x)的曲线(x从0到2π),采用指令方式在图形中:线条颜色为红色;线型为虚线添加网格添加标题“正弦曲线”添加图例“y=sin(2x)”添加坐标轴标签“x或y”13.某一电力系统信号包含四种类型的信号分量,分别是:基频正弦分量y1=10 sin(2πf1t),其中f1=50 Hz;3次谐波分量y2=2 sin(2πf2t+j),其中f2=150 Hz,j=0.25π;直流分量y3=2;随机扰动分量。

Matlab上机实验题及参考解答

Matlab上机实验题及参考解答

Matlab上机实验题及参考解答目录实验一Matlab初步实验 (2)一matlab基本功能介绍 (2)二Matlab扩展功能 (2)三练习 (2)四练习题参考解答 (3)实验二概率模型实验 (5)一复习 (5)二事件的响应 (5)三Matlab中随机数字的生成与处理 (5)四练习 (5)五练习题参考解答 (5)实验三插值与拟合 (7)实验四线性规划与非线性规划 (8)4.1 实验目的 (8)4.2 实验内容 (9)4.3 综合练习 (10)4.4 课外作业 (11)实验五数值计算 (12)5.1 实验目的 (12)5.2 实验内容 (12)4.3 综合练习 (15)4.4 课外作业 (15)实验六计算机图像处理 (16)6.1 实验目的 (16)6.2 实验内容 (16)6.3 综合练习 (17)6.4 课外作业 (19)实验七综合练习 (19)7.1 实验目的 (19)7.2 实验内容 (19)7.3 综合练习 (20)7.4 课外作业 (21)实验一 Matlab 初步实验 一 matlab 基本功能介绍1 编程环境2语法规范:for … end; if …else if …end; 3 矩阵运算 4 图形绘制二 Matlab 扩展功能1 编程练习:(1) 绘出序列kk x x r r 0(1),0.2083=+=;(2) 绘出曲线rtx t x e t 0(),0=>2 扩展功能(1) 矩阵中全部数据、部分数据的截取、更改; (2) 矩阵的初始化与赋值如:A=zeros(5,5); A(2:2:)=[1,2 3 4 5] 3 微积分基础(见实验4) 符号计算三 练习(课上编程完成下列练习,课后上机验证) 1 求和S=1+2+3+…+100; 2 求和e 1111!2!10!1...=++++3求和S 1112310!1...=++++4设A 234576138⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦, 求A 的逆、特征值和特征向量;验证Ax=λx 5 画函数图()011mrtm x x t x e x -=⎛⎫+- ⎪⎝⎭6 展开 (x-1)(x-2)…(x-100)7 因式分解 x 8—y 8; 因数分解200520068 求极限312lim +∞→⎪⎭⎫⎝⎛++n n n n9 )](sin[cos 22x x y += 求dxdy10 求积分x xdx 10ln ⎰11 求积分3⎰并且画出所求的平面区域12 设x+2y=1, 2x+3y=6, y=2x 2, 画出各个方程图形,求出曲线交点.四 练习题参考解答%MatlabTrain1.m clear all % 2nd e=1; temp=1; for I=1:1:10temp=temp*I; e=e+1/temp; end e%%%%%%%%%%% clear all % 3nd S=0; temp=1;for I=1:1:100temp=temp*I; endfor J=1:1:temp S=S+1/J; end S%%%%%%%%%%%%%% clear all % 11ndx=linspace(0,4); y=1./sqrt(x.^5+1); plot(x,y) for t=1:0.1:3yt=1./sqrt(t.^5+1);hold online([t,t],[0,yt]);end%fill(t,yt,'b') %%%%%%%%%%%%% clear all% 12ndx=linspace(-2,2);y=[0.5-0.5*x; 2-2/3.*x; 2*x.^2]; plot(x,y)grid实验二概率模型实验一复习1 小结上次编程练习中存在的问题,讲述部分习题答案2 画图命令介绍:line二事件的响应(1) 获取鼠标的位置%MatlabTrain2.mclear all% 鼠标响应p=ginput(3)plot(p(:,1),p(:,2),'r*')(2) 键盘输入相应t=input('How many apples? t=');m=t+3三Matlab中随机数字的生成与处理1 随机数的生成2 产生随机数字3 产生某区间的整数4 生日模拟问题的Montecaro法设计技术、思路学生尝试编程四练习(1) 编程验证人数在不同年龄段的生日的概率计算(2) 编程实现游戏”聪明伶俐100分”(3) 编程实现两家电影院的座位数问题(4) 编程实现某图形面积的计算五练习题参考解答(1) 生日问题程序示例:%birthPro.mn=0;nStudents=30;for I=1:1000 %how many times testy=0;x=1+floor(365*rand(1,nStudents));%get nStudents random numbersfor J=1:nStudents-1for K=J+1:nStudentsif x(J)==x(K)y=1;break;endendendn=n+y;%count, n times of that there are two people's dirthday in the same dayendfreq=n/I % caculating the frequently(2) 编程实现游戏”聪明伶俐100分”参考答案%MatlabTrain2.mclear all% 鼠标响应x=floor(10*rand(1,4))t=input('填入四个数字[n1 n2 n3 n4]=');flag=0;A=0;B=0;for I=1:1:8flag=flag+1;A=0;B=0;if t==xswitch flagcase 1disp('聪明绝顶!');case 2disp('聪明!');case 3disp('有点聪明!');case 4disp('还可以!');case 5disp('聪明伶俐100分!');case 6disp('聪明伶俐90分!');case 7disp('聪明伶俐85分!');case 8disp('聪明伶俐80分!');otherwisedisp('赫赫!');endbreak;endfor J=1:1:4for K=1:1:4if x(J)==t(K) & J==KA=A+1;else if x(J)==t(K) & J~=KB=B+1;endendendends='AABB';s(1)=INT2STR(A);s(3)=INT2STR(B);disp(s);t=input('不重复填入四个数字[n1 n2 n3 n4]=');endif flag>0disp('太烂了! 正确答案是:');xend实验三插值与拟合一复习讲述聪明伶俐100分的编程中的问题二插值三拟合课堂练习2 某之股票价格from 2003 09 01 to 2004 01 02,试进行插值、拟合%TimerS.m%from 2003 09 01 to 2003 01 02clear all;dataST=[15.09 14.7514.95 14.722.88 21.8619.82 19.09];plot(dataST)四课外练习112)进行多项式拟合,求出拟合多项式,并求出多项式在t=4, 5处的值.实验四线性规划与非线性规划4.1 实验目的1 用Matlab求解线性规划2 用Matlab求解非线性规划4.2 实验内容4.2.1 线性规划求解实用格式:x=lp(c, A, b, xLB,xUB,x0,nEq)可以求解下列线性规划模型:min f=c’xs.t. Ax=<=b(其中前nEq个约束为等式约束,即等式约束的个数,其余是不等式约束<=) xLB<=x<=xUB函数中x0参数是算法迭代的初始点,任意取值例1 求解下列线性规划1)123123123123min2..360210200,1,2,3jz x x xs t x x xx x xx x xx j=--+⎧⎪++≤⎪⎪-+≤⎨⎪+-≤⎪≥=⎪⎩,2)1235635623416367min..3621060,1,,7jz x x x x xs t x x xx x xx xx x xx j=-++-⎧⎪++=⎪⎪+-=⎪⎨-+=⎪⎪++=⎪≥=⎪⎩例1求解示例c=[-2 -1 1]';%book page 72 Number 16-1A=[3 1 1;1 -1 2;1 1 -1];b=[60 10 20]';xlb=[0 0 0]';xub=[inf inf inf]';x0=[0 0 0]'; x=lp(c,A,b,xlb,xub,x0,0)% x=(15 5 0)'例2 求解示例c2=[1 -1 1 0 1 -1 0]';%book page 72 Number 16-3A2=[0 0 3 0 1 1 0;...0 1 2 -1 0 0 0;...-1 0 0 0 0 1 0;...0 0 1 0 0 1 1];b2=[6 10 0 6]';xlb2=[0 0 0 0 0 0 0]';xub2=[inf inf inf inf inf inf inf]';x02=[0 0 0 0 0 0 0]';x2=lp(c2,A2,b2,xlb2,xub2,x02,4)% unbounded4.2.2 非线性规划1)命令格式1:[X, OPTIONS]=constr(‘FUN’, X, OPTIONS,VLB,VUB)2)命令格式2:X=FMINCON(FUN,X0,A,B,Aeq,Beq)% minimizes FUN subject to the linear equalities% Aeq*X = Beq as well as A*X <= B. (Set A=[] and B=[] if no inequalities exist.)例2 求解非线性规划y x x x x s t x3211221min22 ..1=++-≤-求解示例%unconop.mfunction y=unconop(x)y=x(1).^3+2*x(1).*x(2)+2*x(2).^2;%book page 148 ex.7-1 后建立调用函数xx=fmincon('unconop',[0 0]',[-1 0],-1,[],[])%book page 148 ex.7-1 4.3 综合练习学生独立编写程序,求解一个含有2个变量的线性规划问题,要求:1)编写程序,把可行域画上阴影;2)求出最优解,在可行域上标出最优解;3)求出基本解,并在上图中表示出来;4)求出基本可行解,观察单纯形方法迭代时,顶点的变化.可行域画图与表出阴影示例:syms x y[u(1),v(1)]=solve('y=x+2','y=2*x');%求出交点坐标[u(2),v(2)]=solve('y=-x+2','y=2*x');[u(3),v(3)]=solve('y=x+2','y=-x+2');x=linspace(0,3,5); %直线作图y=[2*x;-x+2;x+2];line(x,y); gridpatch(double(u),double(v),'b'); 运行结果:4.4 课外作业1 求解线性规划131223min ..250.530,1,2,3i x x s t x x x x x i +⎧⎪+≤⎪⎨+=⎪⎪≥=⎩ (1) 求解线性规划;x *=()(2) 目标函数中c 1由1变为(-1.25)时求最优解;(3) 目标函数中c 1由1变为(-1.25),c 3由1变为2时求最优解;(4) 约束条件中53b ⎛⎫= ⎪⎝⎭变为21b -⎛⎫'= ⎪⎝⎭时,求解;(5) 约束条件中53b ⎛⎫= ⎪⎝⎭变为23b ⎛⎫'= ⎪⎝⎭时,求解[刁在筠,运筹学(第二版),高等教育出版社,2004,01 p74第20题]2 求解非线性规划y x x x x x x x 3221122233min 2223=++++ 注:无约束非线性规划问题, 命令:fminunc子函数% unconop.mfunction y=unconop(x)y=x(1).^2+2*x(1).*x(2)+2*x(2).^2+2*x(2).*x(3)+3*x(3).^2;%book page 148 ex.7-1 主函数:xx=fminunc('unconop',[0.1 0.1 1]')思考:绘出两个变量的线性规划问题的可行域、标出可行的整数解和求出可行解;演示单纯形方法的迭代过程,如j z x x s t x x x x x j 121212min 2..360200,1,2=--⎧⎪+≤⎪⎪+≤⎨⎪⎪≥=⎪⎩实验五 数值计算5.1 实验目的1 掌握代数数值计算2 掌握常微分方程数值计算5.2 实验内容5.2.1 关于多项式设多项式1110()n n n n p x a x a x a x a --=++++表示为110[,,,,]n n p a a a a -=1)求多项式的根 roots(p) %求出p(x)=0的解。

matlab上机练习题答案(可编辑修改word版)

matlab上机练习题答案(可编辑修改word版)

a ⎣ ⎦ 1. 计算 a = 5⎦ >> a=[6 9 3;2 7 5]; >> b=[2 4 1;4 6 8]; >> a.*b ans =⎣4 8⎦>> d=deconv([3 13 6 8],[1 4]) d =312⎡2 4 7 4⎤⎡8⎤1236 36 求欠定方程组⎢9 3 5 6⎥ x = ⎢5⎥ 的最小范数解84240⎡4 9 2⎤⎡37⎤⎣ >> a=[2 4 7 4;9 3 5 6]; >> b=[8 5]'; ⎦ ⎣ ⎦2. 对于 AX = B ,如果 A = ⎢7 6 4⎥ , B = ⎢26⎥ ,求解 X 。

>> x=pinv(a)*b⎢ ⎥ ⎢ ⎥x =>> A=[4 9 2;7 6 4;3 5 7]; >> B=[37 26 28]’; >> X=A\B X =⎢⎣3 5 7⎥⎦ ⎢⎣28⎥⎦-0.2151 0.4459 0.7949 0.27077 用符号函数法求解方程 a t 2+b*t +c=0-0.5118 >> r=solve('a*t^2+b*t+c=0','t') 4.0427 r =1.3318[ 1/2/a*(-b+(b^2-4*a*c)^(1/2))] ⎡1 2 5 ⎤ ⎡8 - 7 4⎤ [ 1/2/a*(-b-(b^2-4*a*c)^(1/2))]3. a = ⎢3 6 - 4⎥ , b = ⎢3 6 2⎥ ,观察 a 与 b 之间的⎣ ⎦ ⎣ ⎦⎡a 11 a 12 ⎤六种关系运算的结果 >> a=[1 2 3;4 5 6];8 求矩阵 A = ⎢ ⎣ 21 ⎥ 的行列式值、逆和特征根a 22 ⎦>> b=[8 –7 4;3 6 2];>> syms a11 a12 a21 a22;>> a>b >> A=[a11,a12;a21,a22] ans =>> AD=det(A) % 行列式 0 1 0 >> AI=inv(A) % 逆 11>> AE=eig(A) % 特征值 >> a>=b ans =0 1 0 1 01>> a<b ans =1 0 1 0 1>> a<=b ans =1 0 1 010 A = [ a11, a12][ a21, a22] AD =a11*a22-a12*a21 AI =[ -a22/(-a11*a22+a12*a21), a12/(-a11*a22+a12*a21)] [ a21/(-a11*a22+a12*a21), -a11/(-a11*a22+a12*a21)] AE = [1/2*a11+1/2*a22+1/2*(a11^2- 2*a11*a22+a22^2+4*a12*a21)^(1/2)] [1/2*a11+1/2*a22-1/2*(a11^2->> a==b2*a11*a22+a22^2+4*a12*a21)^(1/2)] ans =9 因式分解: x 4 - 5x 3 + 5x 2 + 5x - 60 0 0 >> syms x;0 00 >> f=x^4-5*x^3+5*x^2+5*x-6; >> a~=b ans =>> factor(f) ans =(x-1)*(x-2)*(x-3)*(x+1)4 计算多项式乘法(x 2+2x +2)(x 2+5x +4) ⎡10 f = ⎢ x 21 x ⎤⎥ ,用符号微分求 df/dx 。

MATLAB上机练习一参考解答

MATLAB上机练习一参考解答

上机练习一参考解答一、实验目的1、 熟悉Matlab 编程2、 体会数学上恒等,算法上不一定恒等二、实验内容1. Using the Taylor polynomial of degree nine and three-digit rounding arithmetic to find an approximationto 5-e by each of the following methods.(A) ∑=--≈905!)5(n n n e , (B) ∑=-≈=9055!5/11n nn e e An approximate value of 5-e correct to three digits is 31074.6-⨯. Which formula, (A) or (B), gives the most accuracy, and why?1) 算法基础利用x e 的Taylor 公式00!!n nk x n n x x e n n ∞===≈∑∑,x -∞<<+∞ (1)及001/1/1/!!n nk x x n n x x e e n n ∞-====≈∑∑,x -∞<<+∞, (2)其中k 是根据精度要求给定的一个参数。

在本题中将k 取为9, x 取为-5或5即可由公式(1)或(2)得到5-e 的近似计算方法(A )或(B )。

2) 程序下述程序用公式(A )及(B )分别在Matlab 许可精度下及限定在字长为3的算术运算情况下给出5-e的近似计算结果,其中results_1, results_2为用方法(A )在上述两种情况下的计算结果,err_1, err_2为相应的绝对误差;类似的,results_3, results_4为用方法(B )在上述两种情况下的计算结果,err_3, err_4为相应的绝对误差;具体程序如下:% Numerical Experiment 1.1 % by Xu Minghua, May 17, 2008 clc; %Initialize the data x=-5; k=9; m=3; %three-digit rounding arithmetic %------------------------------------ % Compute exp(x) by using Method (A) % with the computer precision results_1=1; power_x=1; for i=1:k factor_x=x/i; power_x=power_x*factor_x; results_1=results_1+power_x; end results_1 err_1=abs(exp(x)-results_1)%------------------------------------% Compute exp(x) by using Method (A) % with the 3-digits precisionresults_2=1;power_x=1;for i=1:kfactor_x=digit(x/i,m);power_x=digit(power_x*factor_x,m); results_2=digit(results_2+power_x,m); endresults_2err_2=abs(exp(x)-results_2)%------------------------------------% Compute exp(x) by using Method (B) % with the computer precisiont=-x;results_3=1;power_x=1;for i=1:kfactor_x=t/i;power_x=power_x*factor_x;results_3=results_3+power_x; endresults_3=1/results_3err_3=abs(exp(x)-results_3)%------------------------------------% Compute exp(x) by using Method (B) % with the 3-digits precisiont=-x; results_4=1;power_x=1;for i=1:kfactor_x=digit(t/i,m);power_x=digit(power_x*factor_x,m);results_4=digit(results_4+power_x,m); endresults_4=digit(1/results_4,m)err_4=abs(exp(x)-results_4)%------------------------------------上述主程序用到一个子程序digit.m, digit(x,m)的作用是将x四舍五入成m位数。

Matlab上机题库及详细答案_Tonyxie

Matlab上机题库及详细答案_Tonyxie

ax 2 + bx + c 0.5 ≤ x < 1.5 = y a sin c b + x 1.5 ≤ x < 3.5 c ln b + 3.5 ≤ x < 5.5 x
clc;clear; a=input('Please input a= '); b=input('Please input b= '); c=input('Please input c= '); x=input('Please input x= '); disp('#if#'); if x>=0.5&x<1.5 y=a*x^2+b*x+c elseif x<3.5&x>=1.5 y=a*sin(b)^c+x elseif x>=3.5&x<5.5 y=log(abs(b+(c./x))) else y='ERROR!' end disp('#switch#') switch(x*10/5) case {1 2} y=a*x^2+b*x+c case {3 4 5 6} y=a*sin(b)^c+x case {7 8 9 10} y=log(abs(b+(c./x))) otherwise y='ERROR!' end
பைடு நூலகம்
8、数值与符号计算
ex (1)求极限 lim x →+∞ a + be x
(3)已知线性方程组 Ax=b,其中
(2)求不定积分
∫ xe
ax

MATLAB常见错误(GUI篇)

MATLAB常见错误(GUI篇)

w = sort(v);
if rem(n, 2) == 1
m = w((n+1) / 2);
else
m = (w(n/2) + w(n/2+1)) / 2;
end
以上就是一个大的程序function nestats,它下面另外包含了两个小的function mean和median,这样在大程序的里面就可以
个图或者算一个算式。
插入,关于什么是子程序 懂的人跳过^_^
function [avg, med] = newstats(u) % Primary function
% NEWSTATS Find mean and median with internal functions.
n = length(u);
Page 2
71、把plot图上的某些曲线排除在lengend之外,即不用legend标注出来157 72、如何连续对矩阵追加数值158 73、两个等直径圆管的交线160 74、Matlab的csvread读取数据的问题161 75、在对数坐标系插值的问题162 76、实现在原有图像上的部分图像变为白色162 78、如何实现双击listbox中的条目才表示选中163 79、如何删除矩阵中的NaN164 80、用平行截面法讨论由曲面z=x^2-y^2构成的马鞍面形状。164 81、如何利用ode45解方程165 82、Matlab图片如何批处理?pic变量逐一读取文件夹所有图片名165 83、方程为:exp(-x)=cos(x),用迭代法求出最小的正根,当相对误差<=10e-6时,求根结束。166 84、通过鼠标点击控制循环166 85、图像经连续小波分解后的显示效果图167 85-1、怎样查看图像的属性169 86、想产生如下的矩阵:6行10列,每行都是1 2 3 4 5 6 7 8 9 10。169 87、textread读取.txt中数据169 88、数制之间的转换怎么实现170 89、matlab读取大数据文件的方法172 90、从状态空间方程转换为传递函数174 91、生成0 1 2 3 4 5 6 7 8 随机出现大小为20X20的矩阵!174 92、存储绘图过程,并播放视频175 93、如何同时读入多个文件,并作图?175 94、MATLAB GUI编程中几个有用的程序段177 95、Matlab如何在给定区域随机取点?180 96、数据如何导入到workspace中,并执行?在GUI里面,怎么传递处理。180 97、matlab下画'心'的程序。181 98、点到直线的距离怎么求?181 99、如何绘制正态分布图?185 100、matlab作图时,如何只保存图像而不显示图像185 101、在三维图中只显示x,y轴,不显示z轴186 102、cell array和矩阵的显示186 103、矩阵形式的转换188 104、如何判断鼠标是否在figure内的某一区域?189 105、一个有用的程序189 106、窗口的最大化、最小化、图标、置顶191 107、连续生成文件名的问题193 108、编辑框edit中输入公式后的绘图问题194 109、MATLAB中plot命令绘图微调的几个注记 (转自职业仓库)195 110、MATlab 三维图中显示z坐标轴的极大极小值203 111、如何一次性清空GUI程序的handles结构中的变量203 112、Matlab如何给元胞中的每个一维向量前增加同一个数?204 113、用guide生成的不同GUI之间控件的互相操作206 114、自定义Matlab figure 工具栏按钮208 115、matlab 有没有按某个小数位数做四舍五入的函数?209 116、有关矩阵中小于某值的数取整的问题209 117、Matlab表面被截后的部分210 118、如何是imshow显示的图像充满整个figure?211 119、图像颜色统计直方图211 120、Matlab如何将大元胞数组写入到txt文件212
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。

(2) 建立一个字符串向量,删除其中的大写字母。

(1)m=100:999;n=find(mod(m,21)==0);length(n)ans =43(2)>> ch='Maybe One Day'p=find(ch>='A'&ch<='Z')ch(p)=[]ch =Maybe One Day2、自行产生一个5行5列的数组,分别得到最中间的三行三列矩阵、右下角2行2列矩阵,奇数行矩阵、奇数列矩阵、奇数行奇数列矩阵。

>> t=rand(5)%生成矩阵A=t(2:4,2:4)%中间三行散列矩阵B=t(4:5,4:5)%右下角两行两列矩阵C=t(1:2:end,:)%奇数行矩阵D=t(:,1:2:end)%奇数列矩阵E=t(1:2:end,1:2:end)%奇数行列矩阵3、求方程组的根syms x y z[X Y Z]=solve('x+4*y-3*z=2','2*x+5*y-z=11','x+6*y+z=12',x,y,z)4、已知矩阵A=[1 2;3 4],运行指令B1=A.^(0.5), B2=A^(0.5), 可以观察到不同运算方法所得结果不同。

(1)请分别写出根据B1, B2恢复原矩阵A的程序。

(2)用指令检验所得的两个恢复矩阵是否相等(利用norm(…,’fro’)指令,误差矩阵F-范数,接近eps量级,认为实际相等)。

5、先运行clear,format long,rng('default'),A=rand(3,3),然后根据A写出两个矩阵:一个对角阵B,其相应元素由A的对角元素构成;另一个矩阵C,其对角元素全为0,而其余元素与对应的A阵元素相同(diag指令的使用)。

>> format long>> rand('twister',1)>> A=rand(3,3)A =0.417022004702574 0.302332572631840 0.1862602113776710.720324493442158 0.146755********* 0.345560727043048 0.000114374817345 0.092338594768798 0.396767474230670 >> B=diag(diag(A)) B =0.417022004702574 0 0 0 0.146755********* 0 0 0 0.396767474230670 >> D=(A~=B) D =0 1 1 1 0 1 1 1 0 >> C=A.*D C =0 0.302332572631840 0.186260211377671 0.720324493442158 0 0.345560727043048 0.000114374817345 0.092338594768798 06、先运行指令x=-3*pi:pi/15:3*pi; y=x; [X,Y]=meshgrid(x,y); warning off; Z=sin(X).*sin(Y)./X./Y; 产生矩阵Z 。

(1)请问矩阵Z 中有多少个“非数”数据?(2)用指令surf(X,Y ,Z); shading interp 观察所绘的图形。

(3)请写出绘制相应的“无裂缝”图形的全部指令。

(nan 的检测,可以使用sum 函数求和,利用eps 克服,‘被零除’。

x=-3*pi:pi/15:3*pi; y=x; [X,Y]=meshgrid(x,y); warning off; Z=sin(X).*sin(Y)./X./Y; >> n=sum(sum(isnan(Z))) n = 181>> m=isnan(Z); >> p=find(m==1); >> length(p) ans = 181 3)XX=X+(X==0)*eps; >> YY=Y+(Y==0)*eps;ZZ=sin(XX).*sin(YY)./XX./YY;7、计算表达式()22e 1053y xy x z ---=的梯度并绘图。

>> v= -2:0.1:2;>> [x y]=meshgrid(v);>> z=10*(x.^3-y.^5).*exp(-x.^2-y.^2); >> [px py]=gradient(z,0.1,0.1); >> contour(x,y,z) >> hold on>> quiver(x,y,px,py)>> hold off8、22y xxe z --=,当x 和y 的取值范围均为-2到2时,用建立子窗口的方法在同一个图形窗口中绘制出三维线图(plot3)、网线图(mesh)、表面图(surf)和带渲染效果(shading )的表面图。

>> v=-2:0.1:2; >> [x y]=meshgrid(v); >> z=x.*exp(-x.^2-y.^2); >> subplot(2,2,1); >> plot3(x,y,z);>> title('plot3(x,y,z)'); >> subplot(2,2,2); >> surf(x,y,z);>> title('surf(x,y,z)'); >> subplot(2,2,3); >> mesh(x,y,z);>> title('mesh(x,y,z)'); >> subplot(2,2,4); >> surf(x,y,z); >> shading interp; >> title('surf-shading(x,y,z)')9、插值函数interp1(x,y,x0,’spline’)的利用 10、x=[66 49 71 56 38]; >> L=[0 0 0 0 1]; >> pie(x,L) 将第五块分离出来;11、0)0(sin =+=y t y dtdyf=dsolve('Dy=y+sin(t)','y(0)=0') f =exp(t)/2 - cos(t)/2 - sin(t)/2三、⎪⎪⎩⎪⎪⎨⎧=+-==++=0)0(cos 0)0(sin y t y x dtdy x t y x dtdx[X,Y]=dsolve('Dx=x+y+sin(t)','Dy=x-y+cos(t)','x(0)=0','y(0)=0') X =exp(2^(1/2)*t)/3 + exp(-2^(1/2)*t)/3 - (2*cos(t))/3 - sin(t)/3 + (2^(1/2)*exp(2^(1/2)*t))/12 - (2^(1/2)*exp(-2^(1/2)*t))/12 Y =cos(t)/3 - exp(-2^(1/2)*t)/6 - exp(2^(1/2)*t)/6 + (2^(1/2)*exp(2^(1/2)*t))/4 - (2^(1/2)*exp(-2^(1/2)*t))/4四、用电压V =10伏的电池给电容器充电,电容器上t 时刻的电压为m t e V V V t v /0)()(---=其中0V 是电容器的初始电压,m 是充电常数,试由下面一组t ,V 数据确定0V 和m 。

>> t=[0.5 1:5 7 9]';v=[6.36 6.48 7.26 8.22 8.66 8.99 9.43 9.63]’; >> y=log(10-v);>> t1=[ones(size(t)) t]; >> c=t1\y c =1.4766 -0.2835>> v0=10-exp(c(0))试图访问 c(0);索引必须为正整数或逻辑值。

>> v0=10-exp(c(1)) v0 =5.6221 >> m=-1/c(2) m =五、变量t 和y 满足函数关系)8.0exp()5.1exp()4exp(3210a a a a y -+-+-+=,通过实验测的数据:>> y=[3330 2830 2630 2500 2330 2260 2200]'; >> t=[2 3 4 5 7 10 14]';>> c=[ones(size(t)) exp(-t./4) exp(-t./1.5) exp(-t./0.8)]; >> a=c\y a =1.0e+03 *2.1675 1.0226 0.60804.6281六、分别用 for 和while 循环结构编写程序,求出636232632222212++++++==∑= i i K并考虑一种避免循环的简洁方法来求和,并比较各种算法的运行时间。

(注:一共是三种方法) FOR:>> sum1=0; for i=0:63sum1=sum1+2^i;end>> sum1sum1 =1.8447e+19WHILE:>> sum2=0;i=0;while i<64sum2=sum2+2^i;i=i+1;end>> sum2sum2 =1.8447e+19其他方法:>> i=0:63;>> t=2.^i;>> k=sum(t)k =1.8447e+19【例4.1.3.1-2】综合例题:在MATLAB计算生成的图形上标出图名和最大值点坐标。

cleara=2; %设置衰减系数w=3; %设置振荡频率t=0:0.01:10;y=exp(-a*t).*sin(w*t); %产生函数数组[y_max,i_max]=max(y); %找最大值元素位置t_text=['t=',num2str(t(i_max))]; % <7> 生成最大值点的横坐标字符串y_text=['y=',num2str(y_max)]; % <8>生成最大值点的纵坐标字符串max_text=char('maximum',t_text,y_text); % <9>生成标志图名用的字符串% tit=['y=exp(-',num2str(a),'t)*sin(',num2str(w),'t)']; %<11> plot(t,zeros(size(t)),'k') %画纵坐标为0的基准线hold onplot(t,y,'b')plot(t(i_max),y_max,'r.','MarkerSize',20) %用大红点标最大值text(t(i_max)+0.3,y_max+0.05,max_text) % <16>再图上书写最大值点的数据值title(tit),xlabel('t'),ylabel('y'),hold off。

相关文档
最新文档