matlab例题

合集下载

matlab习题及答案

matlab习题及答案

习题: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程序设计例题及答案

matlab程序设计例题及答案

matlab程序设计例题及答案1.编写程序:计算1/3+2/5+3/7+……+10/21法一: s=0;for i=1:10s=s+i/(2*i+1); end ss =法二:sum((1:10)./(3:2:21)) ans =2.编写程序:计算1~100中即能被3整除,又能被7整除的所有数之和。

s=0;for i=1:100if mod(i,3)==0&&mod(i,7)==0 s=s+i; end,end ss =2103.画出y=n!的图,阶乘的函数自己编写,禁用MATLAB 自带的阶乘函数。

x=1:10; for i=1:10try y(i)=y(i-1)*i; catch y(i)=1; end,end plot(x,y)106123456789104.一个数恰好等于它的因子之和,这个数就称为完数。

例如,6的因子为1,2,3,而6=1+2+3,因此6就是一个完数。

编程找出20XX以内的所有完数。

g=;for n=2:20XX s=0;for r=1:n-1if mod(n,r)==0 s=s+r; end endif s==ng=[g n]; end end gg =6 28 4965.编写一个函数,模拟numel函数的功能,函数中调用size函数。

function y=numelnumel(x) m=size(x); y=m(1)*m(2);numelnumel([1 2 3;4 5 6])ans =66. 编写一个函数,模拟length函数的功能,函数中调用size函数。

function y=lengthlength(x) m=size(x);y=max(m(1),m(2));lengthlength([1 2 3;4 5 6])ans =37.求矩阵rand的所有元素和及各行平均值,各列平均值。

s=rand(5);sum=sum(sum(s)) mean2=mean(s,2) mean1=mean(s)sum =mean2 =mean1 =8.编程判断1001,1003,1007,1009,1011为素数,若不是,输出其约数。

MATLAB带答案例题

MATLAB带答案例题

一、必做题:
1.已知典型二阶系统的传递函数为2
22210)(ωωω++=s k s s G ,试绘制当100ωπ=时,8,7,6,5,4,3,2,1=k 时的系统在单位阶跃相应,要求编制程序实现,并在同一图面中绘制要有必要的文字标志说明和图形编辑。

2.试用Simulink构建三相整流逆变电路。

要求:给出整流桥桥臂电流和电压,整流桥输出电压和逆变桥输入电压,逆变滤波以后的输出电压,并有必要的分析和说明。

第二题 、选做题
5、已知某控制系统的开环传递函数,)
9)(5()2()()(2+++=s s s s k s H s G ,要求绘制系统正反馈、负反馈时系统的根轨迹,并判断系统的稳定性有何区别。

要求编制相应的程序实现。

7、已知如图1所示的电路中,电源
电压10)(=t u s V 时,L =2H ,Ω=1R 求解
图中的电流波形。

假设初始电流
A i 2)0(=,试用Simulink 工具箱搭建模型求出电流波形。

15.用Simulink构建如图8所示的电路,其中R1=5 Ώ,R2=3 Ώ,R3=4 Ώ,R4=2 Ώ,R5=1 Ώ,求电流I。

MATLAB习题及参考答案

MATLAB习题及参考答案

习题: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例题汇总

Matlab例题汇总

Matlab例题汇总:【例2-4】两个矩阵分别为[1 2 3;4 5 6;7 8 9]和[1 1 1;2 2 2;3 3 3],求两者相加的和。

a=[1 2 3;4 5 6;7 8 9];b=[1 1 1;2 2 2;3 3 3];c=a+b【例2-5】两个矩阵分别为[1 2 3;4 5 6;7 8 9]和[1 1 1],阶数不同,求两者相减的差。

a=[1 2 3;4 5 6;7 8 9];b=[1 1 1];c=a-b【例2-6】两个矩阵相乘,矩阵a为,矩阵b为,分别计算c=a*b和d=b*a。

a=[1 2 3;4 5 6;7 8 9];b=[1 2 3];c=a*b% 将第三句c=a*b改成d=b*a,再运行一次% 【例2-7】两个数组相乘,数组a为,数组b为,求两数组的乘法。

% 在命令窗口输入两数组,计算c=a.*b:a=[1 2 3];b=[4 5 6];c=a.*b% 【例2-8】两个矩阵相除,矩阵a和b均为3×3阶矩阵。

a=rand(3)b=rand(3)c=a/bd=b\a% 【例2-9】数组a为,数组b为,求两数组的除法。

a=[1 2 3];b=[4 5 6];c=a.\bc=b./a% 【例2-10】矩阵a为[1 2;3 4],求它的1.5次幂。

a=[1 2;3 4];c=a^1.5% 【例2-11】数组a为[1 2 3],数组b为[4 5 6],求数组的幂c=a.^b。

a=[1 2 3];b=[4 5 6];c=a.^b% 【例2-12】数组a为[1 2 3],求数组的幂c=a.^2。

a=[1 2 3];c=a.^2% 【例2-13】数组a为[1 2 3],求数组的幂运算c=2.^a。

a=[1 2 3];c=2.^a% 【例2-14】矩阵a为[1 2 3;4 5 6;7 8 9],计算a的转置。

a=[1 2 3;4 5 6;7 8 9];c=a'% 【例2-15】矩阵a为[1+2i 3+4i],计算a的转置。

matLAB经典例题及答案

matLAB经典例题及答案

一.对以下数据分别作二次,三次多项式拟合,并画出图形.x=1:16;y=[4,6.4,8,8.4,9.28,9.5,9.7,9.86,10,10.2,10.32,10.42,10.5, 10.55,10.58,10.6];答:程序如下(1)x=(1:16);y=erf(x);p=polyfit(x,y,2);f=polyval(p,x);plot(x,y,x,f);结果p=-0.00100.02020.9096(2)y=[4,6.4,8,8.4,9.28,9.5,9.7,9.86,10,10.2,10.32,10.42,10.5, 10.55,10.58,10.6];y=erf(x);p=polyfit(x,y,3)f=polyval(p,x);plot(x,y,x,f)结果P=0.0002-0.00710.06280.8404二.在[0,4pi]画sin(x),cos(x)(在同一个图象中);其中cos(x)图象用红色小圆圈画.并在函数图上标注“y=sin(x)”,“y=cos(x)”,x轴,y轴,标题为“正弦余弦函数图象”.答:程序如下x=[0:720]*pi/180;plot(x,sin(x),x,cos(x),'ro');x=[2.5;7];y=[0;0];s=['y=sin(x)';'y=cos(x)'];text(x,y,s);xlabel('正弦余弦函数图象'),ylabel('正弦余弦函数图象')图形如下三.选择一个单自由度线性振动系统模型,自定质量、弹簧刚度、阻尼、激振力等一组参数,分别编程(m 文件)计算自由和强迫振动时的响应,并画出振动曲线图。

(要求画出该单自由度线性振动系统模型图)其中质量为m=1000kg,弹性刚度k=48020N/m,阻尼c=1960N.s/m,激振力f(t)=0.阻尼比ζ的程序p=1960/(2*sqrt(48020*1000))求得p=0.1414而p为阻尼比ζ强迫振动时的响应程序g =tf([-101],[48020048020*1.9848020]);bode(g)图形g =tf([001],[0001]);bode(g)振动曲线图程序:函数文件function dx =rigid(t,x)dx =zeros(2,1);dx(1)=x(2);dx(2)=(-48020*x(1)-1960*x(2))/1000;命令文件options =odeset('RelTol',1e-4,'AbsTol',[1e-41e-4]);[T,X]=ode45(@rigid,[012],[11],options);plot(T,X(:,1),'-')其图形如下024681012-6-5-4-3-2-11234单自由度线性强迫振动系统模型图其中质量为m=1000kg,弹性刚度k=48020N/m,阻尼c=1960N.s/m,f(t)=cos(3*pi*t)振动曲线图程序:函数文件function dx=rigid(t,x)dx=zeros(2,1);dx(1)=x(2);dx(2)=(-48020*x(1)-1960*x(2))/1000+cos(3*pi*t);命令文件options=odeset('RelTol',1e-4,'AbsTol',[1e-41e-4]);[T,X]=ode45(@rigid,[020],[11],options);plot(T,X(:,1),'-')力等一组参数,建立Simulink仿真模型框图进行仿真分析。

matlab编程经典例题

matlab编程经典例题
1
3.2 程序控制结构 3.2.1 顺序结构 1.数据的输入 从键盘输入数据,则可以使用input函数来进
行,该函数的调用格式为: A=input(提示信息,选项); 其中提示信息为一个字符串,用于提示用户 输入什么样的数据。 如果在input函数调用时采用's'选项,则允 许用户输入一个字符串。例如,想输入一 个人的姓名,可采用命令: xm=input('What''s your name?','s');
%输出商品实际销售价格
3.try语句 语句格式为:
try 语句组1
catch 语句组2
end try语句先试探性执行语句组1,如果语句组1
在执行过程中出现错误,则将错误信息赋 给保留的lasterr变量,并转去执行语句组2。
1
例3-7 矩阵乘法运算要求两矩阵的维数相容,否则 会出错。先求两矩阵的乘积,若出错,则自动转 去求两矩阵的点乘。
语句组m
else 语句组n
end 语句用于实现多分支选择结构。
1
例3-5 输入一个字符,若为大写字母,则输出其 对应的小写字母;若为小写字母,则输出其对应 的大写字母;若为数字字符则输出其对应的数值, 若为其他字符则原样输出。 c=input('请输入一个字符','s'); if c>='A' & c<='Z' disp(setstr(abs(c)+abs('a')-abs('A'))); elseif c>='a'& c<='z' disp(setstr(abs(c)- abs('a')+abs('A'))); elseif c>='0'& c<='9' disp(abs(c)-abs('0')); else disp(c); end

matlab经典编程例题

matlab经典编程例题

以下各题均要求编程实现,并将程序贴在题目下方。

1.从键盘输入任意个正整数,以0结束,输出那些正整数中的素数。

clc;clear;zzs(1)=input('请输入正整数:');k=1;n=0;%素数个数while zzs(k)~=0flag=0;%是否是素数,是则为1for yz=2:sqrt(zzs(k))%因子从2至此数平方根if mod(zzs(k),yz)==0flag=1;break;%非素数跳出循环endendif flag==0&zzs(k)>1%忽略0和1的素数n=n+1;sus(n)=zzs(k);endk=k+1;zzs(k)=input('请输入正整数:');enddisp(['你共输入了' num2str(k-1) '个正整数。

它们是:'])disp(zzs(1:k-1))%不显示最后一个数0if n==0disp('这些数中没有素数!')%无素数时显示elsedisp('其中的素数是:')disp(sus)end2.若某数等于其所有因子(不含这个数本身)的和,则称其为完全数。

编程求10000以内所有的完全数。

clc;clear;wq=[];%完全数赋空数组for ii=2:10000yz=[];%ii 的因子赋空数组for jj=2:ii/2 %从2到ii/2考察是否为ii 的因子if mod(ii,jj)==0yz=[yz jj];%因子数组扩展,加上jjendendif ii==sum(yz)+1wq=[wq ii];%完全数数组扩展,加上iiendenddisp(['10000以内的完全数为:' num2str(wq)])%输出3.下列这组数据是美国1900—2000年人口的近似值(单位:百万)。

(1) 若.2c bt at y t y ++=的经验公式为与试编写程序计算出上式中的a 、b 、c;(2) 若.bt ae y t y =的经验公式为与试编写程序计算出上式中的a 、b;(3) 在一个坐标系下,画出数表中的散点图(红色五角星),c bx ax y ++=2中拟合曲线图(蓝色实心线),以及.bt ae y = (黑色点划线)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

五、某公司投资2000万元建成一条生产线。

投产后,在时刻t 的追加成本和追加收益分别为3/225)(t t t G ++=(百万元/年),3/218)(t t H -=(百万元/年)。

试确定该生产线在何时停产可获最大利润?最大利润是多少?
提示:利用函数⎰=T
G H t R 0t 20-d ))t (-)t (()((百万元),由于H (t )-G (t )单调
下降,所以H (t )=G (t )时,R (t )取得最大利润。

5.解:构造函数f(t)=H(t)-G(t)=13-t-3t 2/3=0 ;
令t 1/3=x,则f(t)=-t 3-3t 2+13
可得矩阵P=[-1,-3,0,13]
求最佳生产时间的源程序如下:
p=[-1,-3,0,13];
x=roots(p);
t=x.^3
运行结果如下:
t =
3.6768 +21.4316i
3.6768 -21.4316i
4.6465
再分别将t 的三个值带入函数f(t),比较大小后,得到最大利润与最佳生产时间。

求最大利润的程序代码如下:
① t=3.6768 +21.4316i;
x=0:0.01:t;
y=13-x-3*x.^(2/3);
trapz(x,y)
运行结果: ans =
25.2583
② t=3.6768 -21.4316i;
x=0:0.01:t;
y=13-x-3*x.^(2/3);
trapz(x,y)
运行结果: ans =
25.2583
③ t=4.6465;
x=0:0.01:t;
y=13-x-3*x.^(2/3);
trapz(x,y)
运行结果: ans =
26.3208
比较以上三组数据,可知最佳生产时间t=4.6465年,可获得的最大利润 26.3208(百万元/年)。

clear; close;
fplot('18-t^(2/3)',[0,20]);grid on;hold on;
fplot('5+t+2*t^(2/3)',[0,20],'r');hold off;
%发现t 约为4
[t,f,h]=fsolve('18-x^(2/3)-5-x-2*x^(2/3)',4)
%求得t=4.6465
t=linspace(0,t,100); y=18-t.^(2/3)-5-t-2*t.^(2/3); trapz(t,y)-20
%最大利润6.3232(百万元)
习题六
1. (科学计算)
A=randn(10,5)
(1)mean(A) ;均值std(A) ;标准方差
(2)max(max(A)) ;最大元素min(min(A)) ;最小元素(3)B=sum(A,2) ;A每行元素的和sum(B) ;A全部元素之和(4)sort(A) ;A的每列元素按升序排列
sort(A,2,’descend’) ;A的每行元素按将序排列
3.
x=[165 123 150 123 141];
y=[187 126 172 125 148];
P=polyfit(x,y,3)
P =
1.0e+003 *
-0.0000 0.0013 -0.1779 8.4330
所以它的线性拟合曲线为:p(x)=1.3x2—177.9x+8433
5.
(1)
建立函数文件:
function f=fxy(u)
x=u(1);y=u(2);
f=3.*x.^2+2*x.*y+y.^2
在命令窗口中输入以下命令:
[U,fmin]=fminsearch('fxy',[1,1])
结果:
U =
1.0e-004 *
-0.0675 0.1715
fmin =
1.9920e-010
(2)
f=inline('-sin(x)-cos(x.^2)'); fmax=fminbnd(f,0,pi) fmax =
0.7310
9.
(1)
矩阵求逆法:
A=[2 3 5;3 7 4;1 -7 1];
b=[10;3;5];
x=inv(A)*b
x =
-1.8060
-0.5373
3.0448
矩阵除法法:
A=[2 3 5;3 7 4;1 -7 1];
b=[10;3;5];
x=A\b
x =
-1.8060
-0.5373
3.0448
矩阵分解法:
A=[2 3 5;3 7 4;1 -7 1];
b=[10;3;5];
[L,U]=lu(A);
x=U\(L\b)
x =
-1.8060
-0.5373
3.0448
(2)方法同(1)
11.
(1)
f=inline('x-sin(x)./x');
x=fzero(f,0.5)
x =
0.8767
(2)
f=inline('(sin(x).^2).*exp(-0.1.*x)-0.5.*abs(x)');
x=fzero(f,1.5)
x =
1.6738
实验八第三题
%第三题
h=6:2:18;
x=6.5:2:17.5;
t1=[18,20,22,25,30,28,24];
t2=[15,19,24,28,34,32,30];
T1=spline(h,t1,x)
T2=spline(h,t2,x)
实验九第三题
绘图
硅谷公司
%第三题
n=input('请输入员工工号:');
h=input('该员工工作时数是:');
if h>120
x=(h-120)*84*(1+0.15)+120*84;
elseif h<60
x=h*84-700;
else
x=h*84;
end
disp([num2str(n),'号员工','的应发工资为',num2str(x)]); 实验三第一题
%第一题程序一
x=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0];
y=[]; %建立存放所有y值的矩阵for x0=x
if x0<0&x0~=-3
y=[y,x0*x0+x0-6];
elseif x0>=0&x0<5&x0~=2&x0~=3
y=[y,x0*x0-5*x0+6];
else
y=[y,x0*x0-x0-1];
end
end
x %输出所有x
y %输出所有y
%第一题程序二
x=[-5,-3,1,2,2.5,3,5];
y=[];
for a=1:7
if x(a)<0&x(a)~=-3
y=[y,(x(a))^2+x(a)-6];
elseif x(a)>=0&x(a)<5&x(a)~=2&x(a)~=3
y=[y,(x(a))^2-5*x(a)+6];
else
y=[y,x(a)*x(a)-x(a)-1];
end
end。

相关文档
最新文档