matlab学习心得

时间:2024.4.20

学习MATLAB的心得体会

随着期末的临近,本学期的MATLAB的学习也就此落下了帷幕。回顾我之前学习MATLAB的历程,我有以下几点感悟:

1. 要有耐心。在编程序的时候少不了的要出现许多的错误,有时候调试很长时间程序仍旧无法得出正确结果,但是在这时要耐着性子一点一点的检查,总能找到错误所在。

2. 要细致。有时因为少打一个分号,逗号等就可能引起程序错误。另外尤其是if、for、while等语句一定要在结尾加end。

3. 善于利用MATLAB中的函数。比如有一道题是验证哥德巴赫猜想,如果直接调用prime(n)函数(该函数表示n以内的质数)会使程序非常简便,而若挨个对数进行判断必然会使程序变得复杂,影响效率。MATLAB有丰富的函数库,善于利用可以极大的提高编程效率。

4. MATLAB是一种非常简便的语言,它与我本学期学的C语言不同,C语言所耗费的时间和精力是比较大的,比如定义变量就分为int,char,float等类型,而MATLAB则不然,它无需定义变量的类型。比如求y=x+1,当x=1,2,3,4,5时y的值。如果用C语言则需要定义变量,还要用for循环,调用输出函数等,而MATLAB只需输入x=1:5;y=x+1然后回车即可。

5. 注重实践,多动手。编程序是一种操作能力,只有多上机练习,才能培养自己的动手能力。同时,在上机练习的过程中,

对程序的理解也得到了加深。

总而言之,MATLAB是是一款非常实用的软件,它不仅对我们现在的学习有益处,而且在今后数学建模中也将发挥巨大的作用,所以我深感学好MATLAB的重要性。虽然本学期的学习告一段落,但我知道,自己对MATLAB的学习还只是皮毛,今后我将继续对MATLAB的学习,并将它应用到实际中来解决实际问题。

姓名:王帅杰

班级:自动化55班

学号:2150504126

学院:电信学院


第二篇:matlab程序设计及心得体会


1.编写程序,建立向量n=〔1,2,3,4,5〕,并利用n产生下列向量:

(1)2 , 4 , 6 , 8 , 10         (2)1/2 , 1 , 3/2 , 2 , 5/2
(3)1, 1/2 , 1/3 , 1/4 , 1/5     (4)1 , 1/4 , 1/9, 1/16, 1/25。

注意:向量n=1:5,/是传统意义上的矩阵的除法,,而./是两个矩阵的对应元素相除,同理相乘。此处是对应元素相除,所以一定要记住应该用点除,而非除法。

2. 从键盘输入一个三位数,将它反向输出。 例如输入639,输出为936。

注意:输出函数:disp(),取整用fix(),取余函数mod(x,y)与rem(x,y)一样。

3.  输入一个百分制成绩,要求输出成绩等级A,B,C,D,E。其中90-100分为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。
  要求:(1)分别用if语句和switch语句实现。
       (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

注意:switch语句中的case最好用0~9的数字表示而不是表达式!不可用break!后不可用表达式!!!为了表示另一种情况,记住用if与其搭配~不要太死板,学会灵活。

4.  建立5*6的矩阵,要求输出矩阵第n行元素。当n的值超过矩阵的行数时,自动转为输出矩阵最后一行元素,并給出出错信息。

注意:随机产生一个0~1矩阵可以用rand函数,整数矩阵便用fix(100*rand(m,n))函数。产生m*n 阶[a,b]均匀分布U(a,b)的随机数矩阵:

    unifrnd (a,b,m, n)

5.      产生20个两位随机整数,输出其中小于平均值的偶数。

注意:fix(100*rand(m,n))与round(100*rand(m,n))几乎一样的,随机产生m*n阶矩阵,学会变通,随机产生两位随机整数。fix是指向0靠拢取整。fix(3.7)=3,fix(-3.7)=-3。floor指向下取整,ceil指向上取整。round指四舍五入取整!!round最常用~记住a=o指赋值,而a==0指判断,与c语言一样~当矩阵只有一行时,可用a(i)表示每一个数。用k(i)表示来输出每一个数!表示矩阵中的每一列时用a(:,i),表每一行时用a(i,:)。

6.      输入20个数,求其中的最大数和最小数。要求分别用循环结构和调用MATLAB的max函数、min函数来实现。注意:熟记其中的函数将对编程的速度有很大的提高!孩子,加油!

7.      ,当a取-30.,-2.9,……,2.9,3.0时,求各点的函数值。要求分别用顺序结构和循环结构实现。

注意:用size返回向量元素的个数,如果是矩阵,size(a,2)指返回矩阵的竖的个数,即多少列。其中一维是指行,二维指列。记住表示一个向量时,步长放中间。!

8.      当n分别取100、1000、10000时,求下列各式的值:(要求分别用循环结构和向量运算(使用sum函数)来实现)

(1)

(2)

(3)

(4)注意:使用while循环时,注意对n初始化,与c语言较象。普通指数时直接用^,自然指数时,若x已知,用y=exp(x)。

9.      若两个连续自然数的乘积减1是素数,则称这两个连续自然数是亲密数对,该素数是亲密素数。例如:2*3-1=5,由于5是素数,所以2和3是亲密数对,5是亲密素数。求〔2,50〕区间内,

(1)亲密数对的对数;

(2)与上述亲密数对对应的所有亲密素数之和。

注意:x=primes(n)输出不超过n整数的素数,a=length(x)表示输出素数的个数。用b=isprime(n)来判断n是否为素数,若为素数则b=1,反之为0。学会变通,求和用if循环就好。

10.   根据,求:
(1)y<3时的最大n值;
(2)与(1)的n值对应的y值。

注意:不能被题目吓跑~~·很简单的,耶耶!

11.   已知

(1)当时,y的值是多少?

(2)当f(n)=1*2+2*3+3*4+……+n*(n+1)时,y的值是多少?

12.   编写一个函数文件,用于求两个矩阵的乘积和点乘,然后在命令文件中调用该函数。

13.   定义一个函数文件,求給定复数的指数、对数、正弦、余弦,并在命令文件中调用该函数文件。

14.    先用函数的递归调用定义一个函数文件求,然后调用该函数文件求zhuyi:yaoxunzaoyigehanshubiannnengjiejue defangfa~~

15.写出下列程序的输出结果。
(1)
 s=0;

a=[12 13 14;15 16 17;18 19 20;21 22 23];

for k=a

    for j=1:4

        if rem(k(j),2)~=0

            s=s+k(j);

        end

    end

end

s      
(2)命令文件
global x

x=1:2:5;y=2:2:6;

sub(y);

x

y

函数文件sub.m

function fun=sub(z)

global x

z=3*x;

x=x+z;

16已知:,编程求的近似值。 

 注意:在编程过程中,一个小小的乘号将导致很难查出错误,很会影响心情,所以不能忽略小问题,必须仔细小心!

17.输入下面的矩阵,求该矩阵的对角线元素之和,并找出最大和最小的元素的值以及其所在的行、列号。将最大值替换成inf,最小值替换成-inf。

注意:①找出矩阵中具体某个元素的具体位置的方法:

ind=find(a==max)

siz=[4,4]

[I,J] = ind2sub(siz,ind)便可以找到最大元素的位置!!

[I1,I2,I3,...,In] = ind2sub(siz,ind)

②对角线元素用diag函数~~

③要找出一个很大矩阵的最大最小元素用两个for循环。!

加油~写出这道题好兴奋啊,这种感觉真好!!

18. 求解猴子吃桃问题。猴子在第一天摘下若干个桃子,当即吃了一半,又感觉不过瘾,于是就多吃了一个。以后每天如此,到第10天再想吃时,却发现就只剩一个桃子。请编程计算第一天猴子摘的桃子个数。

注意:不要被问题吓到,很简单的一个问题罢了~当顺着不行时,试着倒着来解答编程。

19. 求n阶勒让德多项式的值,其递归公式为:

注意;它要的仅仅只是一个定义函数~并没有需要一个确切的值。

20. 利用恒等式计算圆周率的近似值。

注意:sqrtm(a):矩阵a开平方根;sqrt(a):矩阵a对应的元素开平方根。

21.  输入一个正整数,如果它是偶数就除以2,是奇数就乘以3加上1,如此一直变化,直到最后变成1。

注意:判断一个数是否为整数可以用判断语句a==round(a)!!在matlab中,用~=表示不等于,与c语言不同。

22.  (1)用递归调用求Fibonacci数列定义如下: f1=f2=1 ,  f(n+1)=f(n)+f(n-1) 。

     (2)求Fibonacci数列大于4000的最小项。

注意:这道题目很简单,却花了很长的时间~·主要是题目意思没弄清便动笔,要学会分清题意,冷静分析。另外还要注意while的条件,1便执行,0则跳出~。

23.  列出所有的水仙花数。水仙花数是一个三位数,其各位数字的立方和等于该书本身。例如:153=13+53+33

注意:当输出的不仅仅是一个数时,需要定义一个数组a(i),i=i+1,输出为a。if语句中,判断条件中为==,而不是赋值语句=!!!别总犯相同的错误~~·

24.  试编一个m程序,将一维数组x中的N个数按颠倒的次序重新存储。如N=5,原来x为:而经过颠倒处理后x中数据的次序应该为:x=[ 9 7 5 3 1 ]

25.  已知某班的5名学生的三门课成绩列表如下:

学生序号1 2 3 4 5

高等数学78 89 64 73 68

外语83 77 80 78 70

MATLAB语言82 91 78 82 68

试写出有关命令,先分别找出三门课的最高分及其学生序号;然后找出三门课总分的最高分及其学生序号。针对上述的成绩表,求出其三门课总分存入数组ZF,再利用SORT命令对之按降序排序,同时把相应的学生序号存入数组XH。

更多相关推荐:
matlab心得体会

MATLAB学习心得体会Matlab,提起它,不管我们上课是否认真听讲了,我们都应该对它不再陌生,我们不可否认它的强大之处,正如一节课时老师给我们说的“Matlab可以做很多事情”。通过近一段的学习,使我更加确…

对matlab的学习心得

Matlab的学习心得通过初步对matlab的学习我觉得收获很大我了解到matlab是一个功能很大的数学实验软件即一个很好的计算机数学软件平台我在学习matlab主要是围绕实验初步学习了一些简单的矩阵运算以及简...

matlab学习心得体会

Matlab学习心得班级机械124姓名万明男学号20xx093386电话139xxxxxxxxmatlab学习心得体会MATLAB中有丰富的图形处理能力提供了绘制各种图形图像数据的函数他提供了一组绘制二维和三维...

matlab实验心得总结

通过《matlab仿真》实验使我学习掌握了许多知识。首先是对matlab有了一个全新的认识,其次是对matlab的更多操作和命令的使用有了更高的掌握,最重要的事对matlab的处理能力有了一个更高的飞跃尤其是对…

matlab学习心得体会

最近在学习matlab一直不入其法门从网上看到了一些大虾的经验心得感触颇深转贴过来希望给初学者有一定的指引一写给学习matlab的新手们作者eight八来源振动论坛本人接触matlab已经有5年多的时间了一直想...

matlab学习心得

关于学习MATLAB一点心得摘要MATLAB作为当前国际控制界最流行的面向工程与科学计算的高级语言、它可轻易的再现C或FORTANT语言几乎全部的功能,并设计出功能强大、界面优美、稳定可靠的高质量程序来,而且编…

Matlab心得体会

Matlab心得体会10金融3吕淼20xx241125在为学习这门课前就听说了他的强大,因为现在的经济模型都是需要这些分析软件的,也曾听说金融的未来方向是需要数学等等作为依托的。曾经旁听过学校数学建模的课程,当…

matlab学习心得

一Matlab绘图中用到的直线属性包括1LineStyle线形2LineWidth线宽3Color颜色4MarkerType标记点的形状5MarkerSize标记点的大小6MarkerFaceColor标记点内...

matlab学习心得

matlab学习心得txt31岩石下的小草教我们坚强峭壁上的野百合教我们执著山顶上的松树教我们拼搏风雨严寒中的腊梅教我们笑迎冰雪编程心得1helpwin只是寻找函数类一般不如用doc相当于帮助文档中的搜索但在用...

Matlab心得及学习方法

Matlab心得及学习方法不断更新发现现在很多人找工作的或者读博的都想要学习或者正在学习Matlab问我要怎么学习其实我虽然写Matlab代码的经验还算丰富但是还不能说是一个很好的Matlab编程人员这里有一些...

matlab心得体会

Matlab是一个基于矩阵运算的软件1helpwin只是寻找函数类一般不如用doc相当于帮助文档中的搜索但在用doc搜索不到帮助文件时可用helpwin如找有关的帮助等打开格式非标准的mat或xls等数据文件如...

matlab心得与学习方法(也许这是个大牛写的)

发现现在很多人找工作的或者读博的都想要学习或者正在学习Matlab问我要怎么学习其实我虽然写Matlab代码的经验还算丰富但是还不能说是一个很好的Matlab编程人员这里有一些心得分享给大家希望对大家有所帮助关...

matlab学习心得(33篇)