第一范文网 - 专业文章范例文档资料分享平台

MATLAB实验题答案

来源:用户分享 时间:2025/6/18 13:53:14 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

1、求以下变量的值,并在MATLAB中验证。

( 1 ) a = 1 : 2 : 5 a =

1 3 5

( 2 ) b = [ a' , a' , a' ;a ]

b = 1 1 1 3 3 3 5 5 5 1 3 5 ( 3 ) c = a + b ( 2 , : ) c = 4 6 8

2、下列运算是否合法,为什么?如合法,

结果是多少?

>> result2=a*b Error using * Inner matrix dimensions must agree. >> result3=a+b result3 = 3 6 2

5 8 11 >> result4=b*d result4 =

31 22 22 40 49 13 >> result5=[b;c']*d result5 = 31 22 22

40 49 13 -5 -8 7 >> result6=a.*b result6 =

2 8 -3 4 15 30 >> result7=a./b result7 =

0.5000 0.5000 -3.0000 4.0000 1.6667 1.2000

>> result8=a.c

Attempt to reference field of non-structure

array. >> result9=a.\\b result9 = 2.0000 2.0000 -0.3333 0.2500 0.6000 0.8333 >> result10=a.^2 result10 = 1 4 9 16 25 36

>> result11=2.^a result11 = 2 4 8 16 32 64 3、用MATLAB求解下面的的方程组。 ??721?2??x1??4?(1)?9153?2????2?2115??x?2??x??7?????? 3???1??13213????x???4??0?>> A=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13] >> B=[4 7 -1 0] >> B=B' >> x=inv(A)*B ??x?y?z?1(2)??x?2y?z?w?83 ?2x?y?3w???3x?3y?5z?6w?5>> A1=[1 1 1 0;1 2 1 -1;2 -1 0 -3;3 3 5 -6] >> B2=[1;8;3;5] >> x2=inv(A1)*B2

??721?2?9153?2?A??????2?2115?4、已知

?13213?? (1)求矩阵A的秩(rank)

(2)求矩阵A的行列式(determinant) (3)求矩阵A的逆(inverse)

(4)求矩阵A的特征值及特征向量

(eigenvalue and eigenvector) >> A3=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13] >> r=rank(A3) >> b=inv(A3) >> a=det(A3) >> [V,D]=eig(A3)

7、分别用if和switch语句实现,将百分

制成绩转换为成绩等级A、B、C、D、E。其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。对超出百分制范围的成绩,给出错误提示信息。 if结构程序:

x=input('please enter score='); if x>=90&&x<=100 disp('A')

elseif x<90&&x>=80

disp('B') 5、

10elseif x<80&&x>=70

n?10?9910 2disp('C') y?2?2?2???2 ?elseif x<70&&x>=60 n??10 disp('D') ,求y=?(运行format long g命令

elseif x<60&&x>=0 后,查看y的值)

m1=0; disp('E') for m=-10:10 else m1=m1+2^m; disp('error') end end m1 switch结构程序: m1 = x=input('please enter score='); 2047.9990234375 switch fix(x/10)

case{10,9}

if x>100 6、求分段函数的值。

disp('error')

2?x?x?6x?0 else ?2 disp('A') y??x?5x?60?x?5 end

?x2?x?1x?5 case{8} ? disp('B')

case{7} 用if语句实现,算出下列表中x对应的y

disp('C') 值。

x=input('enter x='); case{6} if x<0 disp('D') y=x^2+x-6; case{0,1,2,3,4,5} elseif x>=0&&x<5 disp('E') y=x^2-5*x+6; otherwise else disp('error') y=x^2-x-1; end end y 8、思考题 设计程序,完成成两位数的加、减、乘、除

?四则运算,即产生两个两位随机整数,再输入一个运算符号,做相应的运算,并显示相应的结果。 x=input('请输入运算符')

a=num2str(floor(rand(1)*90+10)); a

b=num2str(floor(rand(1)*90+10)); b

if x=='+' y=a+b; elseif x=='-' y=a-b; elseif x=='*' y=a*b; elseif x=='/' y=a/b; else

disp('error') end y

9、启动MATLAB后,点击File|New|M-File,

启动MATLAB的程序编辑及调试器(Editor/Debugger),编辑以下程序,点击File|Save保存程序,注意文件名最好用英文字符。点击Debug|Run运行程序,在命令窗口查看运行结果,程序如有错误则改正。

注:数论中一个有趣的题目:任意一个正整

数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。 n=input('请输入n值:'); a=n;

while n>1

if rem(n,2)==0 n=n/2; else

n=3*n+1; end a=[a,n]; end a

10、根据

x26?111112?22?32???n2,

当n分别取100、1000、10000时,求x的值分别是多少? a=input('请输入数值') n=0;

for m=1:100

n=n+1/(m*m); end n=6*n; x=sqrt(n); x

11、编程求满足?mk?12k?10000的

最小m值。 sum=0; m=2; a=1; while a

for i=1:m

sum=sum+2^i; if sum>10000 a=0; end end

m=m+1; end m

12、思考题 已知y和

t的函数关系:

y(t)?1?t?t2/2!?t3/3!?...?t20/20!求下面表格中与t对应的y值 t 0.2 0.4 0.6 0.8 1.0 y t=input('请输入t值:') sum=0; for i=1:20

b=factorial(i);

sum=sum+t^i/b; end

sum=sum+1; sum

13、编写一个函数,计算下面函数的值,给

出标量x的值,调用该函数后,返回y的值。

function [y]=myfun1(x)

?sinx,x?0y(x)???x,0?x?3???x?6,x?3选择一些数据测试你编写的函数。 function [y]=myfun1(x) if x<=0 y=sin(x);

elseif x>0&x<=3 y=x;

elseif x>3 y=-x+6; end

14、编写一个函数求向量x中元素的平均值、

最大值、最小值、均方根值。 function

[m_x,max_x,min_x,rms_x]=myfun2(x)

方均根值(Root Mean Square)的计算公式为:

rms?1N2N?xii?1

用下面数据测试你写的函数: (1)x=sin(0:0.01:6*pi) (2)x=rand(1,200),得到的x为200个(0,

1)之间均匀分布的随机数。 function

[m_x,max_x,min_x,rms_x]=myfun2(x) %求平均值

sum_x=sum(x); %向量元素求和

[m,n]=size(x); %最好用n=length(x);

m_x=sum_x/n;

%求最大值 采用逐个比较方式 if x(1)>x(2) max_x=x(1); else

max_x=x(2); end

for k=3:n

if max_x

max_x=max_x; %可省略 end end

%求最小值 if x(1)

min_x=x(2); end

for k=3:n

if min_x>x(k) min_x=x(k); else

min_x=min_x; %可省略 end end

%求均方根值 sum_x2=0; for k=1:n

sum_x2=sum_x2+x(k).^2; rms_x=sqrt(sum_x2/n); end m_x; max_x; min_x;

rms_x; %按照函数值行参顺序输出结果

15、编写一个函数,给出一个向量

x?[x1,x2,?xn],生成如下范德

蒙矩阵。

function [v]=myvander(x)

搜索更多关于: MATLAB实验题答案 的文档
MATLAB实验题答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c23z4s8qe3620sz532alg3gznb0gt5600brc_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top