MATLAB经典练习题

别妄想泡我
922次浏览
2021年02月12日 12:15
最佳经验
本文由作者推荐

-

2021年2月12日发(作者:慢跑时间)


Matlab


变量命名要符合什么样的规则


?< /p>





1



4



MATLAB


语句输入矩阵


A




2




3


2


3


3< /p>


2


3


2


4


4


4



< p>
1



4


i



4



1

i


1





B




< /p>


2



3


i


1




< p>
1




3



2


i


2


3


i


3



2


i


3


< /p>


2


i


2



3


i


3


< p>
2


i


4



1


i


2


3


i


4



1


i


4



1< /p>


i



1



4


i



< p>


1



4


i




1


4


i



如果给出


A


(5


;


6) = 5


命令将得出什么结果?




假设已知矩阵


A

,试给出相应的


MATLAB


命令,将其全部偶数行提取出来,赋给


B


矩阵,




A


=magic(8)


命令生成


A


矩阵,用上述的命令检验一下结果是不是正确。




查阅命令函数“


dot


”和“


cross


”的作用及使用方法。

< p>




1



8


先构造矩阵


A

< p>




7




5


3

6


1


0


5



3




;显 示该矩阵的第


3


行第


1


列的元素;再显示该矩阵的第


1


4


0




1



行第


2



3


列的元素;将该矩阵第


3

< p>
行第


2


列元素改成


8


;添加


1



1


列使得第


5


行第


4



的元素为


9


,其它元素为


0.






1


)矩阵 每一行中的元素之间要用某个符号分隔,这个符号可以是


(


)




A.


分号



B.


减号



C.


回车



D.


空格



(2)ones(n,m)< /p>


函数是用来产生特殊矩阵的,由它形成的矩阵称为


(


)




A.


单位矩阵



B.


行向量



C. 1


矩阵



D.


列向量



(3)



MATLAB


中,函数


log(x)


是对


x


求对数,它的底是


(


)




A. 2


A. fix


B 10


C. x


D. e


D. floor


(4)




a


=-3.2


,使用取整函数得出


-4


,则该取整函数是


(


)




B. round


C. ceil


(5)


表达式



ax


3


+


by


2


改写成


MATLAB


的语句形式是


(


)




A. ax3+by2


C.


a×x3+b×


y2


A. a+b


A. b=a'



判断题



(1)


使用函数


zeros(5)


生成的是一个具有


5


个元素的向量。



(2)



MATLAB

< p>
命令窗口直接输入矩阵时,


矩阵数据要用中括号括起来,

< br>且元素间必


B. a*b


B. a*x3+b*y2


D. a*x^3+b*y^2


C. a'*b


D. a./b


D. b=rot90(a)


(6)


已知


a=0:1:4



b=5:-1:1


,下面的运算表达式出错 的是


(



)




(7)


将矩阵


a=[1 2 3;4 5 6;7 8 9]


改变成


b=[3 6 9;2 5 8;1 4 7]


的命令是


(


)




B. b=flipud(a)


C. b=mfliplr(a)


须用逗号分隔。



(3)A.*B


时必须要求


A



B


结构大小相同,否则不能进行运算。



(4)A



B


两个行列分别相同的数组,当执行


A>B

< br>的关系运算后,其结果是


0


或者


1




(5)abs( )


是一个针对数值量求绝对值的函数。



(6)length( )


是一个只能求字符串长度或向量维数的函数。




填空题



(1)


有矩阵


A=[1 2 3 4



5 6 7 8



9 10 11 12



13 14 15 16]



且有向量


x=[2,4]< /p>




C=A(x,:)=




(2)x


为从



0




4


π



步长



0.1


π



的 向量,


使


用命令



创建。



(3)


语句


x=logspace(0,2,3)


生成的向量


x


是:






(4)


有矩阵


A=[4 2 3 4



16 6 7 8



9 10 11 12



1 14 15 5]



当对它进行


B=A(:,[1,3])


运算, 结果是:


B=




(5)


下列语句


A=linspac e(2,18,9);B=reshape(A,3,3)


的执行结果是:



B=







1



8


先构造矩阵


A





7




5


3


6


1


0


5



3



< br>;显示该矩阵的第


3


行第


1


列的元素;再显示该矩阵的第


1



4


0




1



行第


2



3


列的元素;将该矩阵第


3


行第


2


列元素改成

8


;添加


1


1


列使得第


5


行第


4



的元素为


9


,其它元素为


0.






5


,


x



10



1




MATLAB


语言实现下面的分段函数


f


(


x


)




x


,


x


< br>D





2





5


,


x




10



编写一个矩阵相加函数


mat_add()


,使其具体的调用格式为


A


=mat_add(


A


1,


A


2,


A


3,




)




要求该函数能接受任意多个同维矩阵进行加法运算。




试定义函数


f


(


x


)



x


16



x


2< /p>



cos(


x


)


sin(


x


)


,并求函数在


x



3

< br>处的值。





编写一个矩阵相加函数


mat_add()


,使其具体 的调用格式为


A


=mat_add(


A


1,


A


2,


A


3,




)




要求该函数能接受任意多个同维矩阵进行加法运算。





试定义函数


f


(


x


)



x


16



x< /p>


2



cos(


x


)


sin(


x


)


,并求函数在


x


< br>3


处的值。





闰年是指这样的年份:


< p>
能被


4


整除而不能被


10 0


整除(如


2004


年就是闰年


,1800


年不是。





能被


400

整除(如


2000


年是闰年)


。< /p>




1


)自己编 程找出从


1



5000


年间的闰年,返回一个向量;



2


)编写一个函数,当输入年份是闰年时,返回值‘


lea p


year



,否则返回‘


not


a


leap


year






3


)查询’


leapyear



,


运用该函数找出 从


1



5000


年间的闰年。






1


1


1


1







公式求



的近似值,直到最后一项的绝对值小于


10

< br>


6


为止,试编


4


3


5


7


写其


M


脚本文件。



< p>
分别用


for



whil e


循环语句来寻找第一个大于


10000



Fibonacci


数,其中


Fi bonacci


是指满足


a(i)=a(i-1)+a(i-2 )


的数,


a(1)=a(2)=1


。< /p>




求解


n!< /p>



100


位数的最小

n


值。




求解表达式



n


!

< br>的值。



n


< br>1


20



0



50


之间

3



5


的公倍数。




利用


rand

< p>
函数产生


10


个随机整数,




1


)利用嵌套

< br>for


循环进行从大到小排序;




2


)如果是从小到大排序呢?


< /p>



3


)利用


br eak


语句来终止


for


循环对程序进 行修改,查看循环次数。




为测试程 序执行的效率,可采用


tic



toc


函数


,


请编写名为

tech1.m



tech2.m


的脚本文


件,用两种不同方法来产生正弦函数


sin(t),t =0,0.01,



,100





1


)用


for


循环;




2


)用向量组形式。



3


)比较运行结果,说明了什么问题。

< br>




MATLAB


语言的基本语句



< br>1


)绘制一个正三角形;



(< /p>


2


)试结合循环结构,编写一个小程序,在同一个坐标系下绘制出 该正三角形绕其中心旋


转后得出的一系列三角形;


< p>


3


)调整旋转步距观察效果。

< br>



建立函数实现


:


输入正整数


n



返回一 个


n



n


列的 矩阵,


矩阵中


i


j


列的元素为


ln(


i

< p>


j


)


.


并求


n



3

< br>时的结果


.



建立函数


:


判断输入变量是否为


0


若是


0


则结果显示


1



否则为


0.


并运行输入


-7


时的结果


.



建立函数


:


实现返回输入的两个变量中数值较大变量


.

< br>并输入


-4



8


,给出运行结果


.


5.13



建立函数


:


输入正整数

< p>
n


,返回值


ln(



i


)


.


并求


n



8


时的结果


.


i



1


n



一球从


100< /p>


米高度自由落下


,


每次落地后反跳回原高 度的一半


,


再落下


.


求它在第


10


次落地



,


共经过多少米


?



10


次反弹有多高


?

< br>




x


1


,


x



2



3


x< /p>


,


2



x



8



设函数


f


(


x


)

< p>



,求函数在


5



9



-4


处的函数值。




4< /p>


x



5


,


8



x


< p>
20




cos(


x


)



sin(


x


),


x



2



常用的创建符号变量的方法有几种?请认真体会。




下面三种表示方法有什么不同的含义?




1



f=3*x^2+5*x+2



2



f=' 3*x^2+5*x+2'



3


)< /p>


x=sym('x')


f=3*x^2+5*x+2



用符号函数法求解方程


at



bt



c

< p>


0





用符号计算验证三角等式:



sin(



1


)co s(



2


)-cos(



1


)sin(


< p>
2


) =sin(



1< /p>


-



2


)





< p>
因式分解:


x


4



5


x


3


< p>
5


x


2



5


x



6






ax


2



b y



c



0< /p>


求代数方程组



关于

x,y


的解。




x



y


0



2



对符号表达式


x



y

< br>进行因式分解。




展开符号表 达式


(


x



1


)



(


2


x



1


)




3


3


3


3

-


-


-


-


-


-


-


-