【MATLAB实验报告 MATLAB实验】 matlab实验总结

  中南民族大学

 计算机科学学院

 MATLAB实验报告

 题 目 MATLAB实验

 年 级 2010

 专 业 计算机科学与技术

 指导教师 李波

 小组成员(姓名学号)

 

 

 实验类型 综合型

 

 成绩评定

 评语:

 教师签名:

 年 月 日

  2014 年 4月 22 日

 一、实验安排

 1.实验目的1.掌握字符串的生成和操作,掌握单元数组的生成和操作,掌握结构体的生成和操作。

 2.掌握MATLAB的脚本文件及其编辑和调试方法,掌握MATLAB程序设计和开发流程,掌握MATLAB的关系运算,逻辑运算及函数操作,掌握MATLAB流程控制语句。

 3.掌握基本符号运算,掌握符号函数的绘制,掌握符号函数微积分的运算,掌握符号方程的求解方法,掌握符号积分变换,了解MAPLE函数的调用方法,了解符号计算器的使用。

 4.了解MATLAB的图形窗口,掌握MATLAB基本二维图形,三维图形的绘制,以及图形的绘制,如柱形图,饼状图,掌握图形注释的添加和管理,了解三维图形的视点控制及颜色,光照控制

 5.了解Matlab的图形对象及其属性,掌握MATLAB图形对象属性的设置及其查询,掌握MATLAB的图形对象句柄的访问及其操作。

 2.实验内容

 编写一个脚本,查找给定字符串中指定字符出现的次数和位

 创建2x2单元数组,创建 2×2 单元数组,第 1、2 个元素为字符串,第三个元素为整型变量,第四个元素为双精(double)类型,并将其用图形表示。

 创建一个结构体,用于统计学生的情况,包括学生的姓名、学号、各科成绩等。然后使用该结构体对一个班级的学生成绩进行管理,如计算总分、平均分、排列名次等。

 在MATLAB中使用一个循环确定:如果用户最初在一个银行帐户中存储$10000,并且在每年的年终再存储$10000(银行每年支付6%的利息),那么账户上要积累$1000000要需要多长时间。

 (5)设为符号变量,,,试进行如下运算:

 (1)

 (2)

 (3)求的反函数

 (4)求以为自变量的复合函数

 (6)合并同类项

 (7)因式分解将 7798666 进行因数分解,分解为素数乘积的形式

 (8)绘制下列函数的图像

  ,

 (9)编写程序,该程序在同一窗口中绘制函数在 之间的正弦曲线和余弦曲线,步长为 ,线宽为 4 个象素,正弦曲线设置为蓝色实线,余弦曲线颜色设置为红色虚线,两条曲线交点处,用红色星号标记。

 (10)编写程序,实现功能为:创建图形窗口,并且设置其默认背景为黄色,默认线宽为 4 个像素,在该窗口中绘制椭圆 的图像,其中的和任选

 3.实验环境

 Matlab7

 二、算法原理

  略

 Matlab代码

 (1)%find where and how many times the string appears.

 str=['Today,Iphone 4S has become the most popular smartphone in the world ']

 AB=findstr(str,'t');

 SZ=length(AB);

 disp('The time that string apearing is'),disp(SZ);

 disp('the location that the string appearing are'),disp(AB);

 (2)A=cell(2,2);

 A(1,1)={'Chinese people'};

 A(1,2)={'My favorite food is apple'};

 A(2,1)={25000};

 A(2,2)={pi/2:pi/8:2*pi};

 celldisp(A)

 cellplot(A)

 (3) stu=struct('name',{'HuangZhihui','WuZhentao','XueWenjie','GuanYabo','XueNan','TongPeng'},'number',...

  {2012213620,2012213603,2012213631,2012213628,2012213600,2012213624},...

  'Chinese',{90,88,78,87,92,67},'Maths',{80,81,89,90,100,60},'English',{98,89,70,90,60,75})

 A=stu(1).Chinese+stu(1).English+stu(1).Maths

 ave_A=A/3

 B=stu(2).Chinese+stu(1).English+stu(1).Maths

 ave_B=B/3

 C=stu(3).Chinese+stu(1).English+stu(1).Maths

 ave_C=C/3

 D=stu(4).Chinese+stu(1).English+stu(1).Maths

 ave_D=D/3

 E=stu(5).Chinese+stu(1).English+stu(1).Maths

 ave_E=E/3

 F=stu(6).Chinese+stu(1).English+stu(1).Maths

 ave_F=F/3

 (4)

 x=10000;

 y=0;

 while x<=1000000

  x=10000+x*1.06;

  y=y+1;

 end

 disp(y);

 或者:

 x=10000;

 for k=1:100

  x=10000+x*1.06;

  if x>=1000000

  break

  end

 end

 disp(k);

 (5)

  f = sym('x^4 + x^2 + 1');

  g = sym('x^3 + 4*x^2 + 5*x + 8');

  f+g

  f*g

  finverse(g)

  %In sym.finverse at 43

  syms x

 compose(g,f,x)

 (6)

  f = sym('3*x - 2*x^2 + 5 + 3*x^2 - 2*x -5');

  collect(f)

 (7)

  factor(sym('779866'))

 (8)

  f = sym('sin(x) + x^2');

  ezplot(f,[0,2*pi]);

 (9)

  x=0:pi/10:2*pi;

  sinx = sin(x);

  cosx = cos(x);

  figure,plot(x,sinx,'LineWidth',4)

  hold on,plot(x,cosx,'r:','LineWidth',4)

  holdon,plot(x(find(cosx==sinx)),cosx(find(cosx==sinx)),'r*', 'LineWidth',4)

 (10)

 figure('Color','y');

 set(gca,'DefaultLineLineWidth',4);

 a = 4; b = 3;

 x = linspace(-a,a,100);

 y1 = sqrt((1-x.^2/(a^2))*b^2);

 y2 = -sqrt((1-x.^2/(a^2))*b^2);

 plot(x,y1);

 hold on;

 plot(x,y2);

 四、实验结果及分析

  第一题演示结果如下

 结果于预期相符

 第二题演示结果如下

 结果于预期相符

 第三题结果如下图

 第四题显示结果如图

 第五题答案

 第六题答案

 第七题答案

 第八题

 第九题

 第十题

 总结

 通过本次实验,本次实验我掌握了数组和向量的基本运算与操作。尽管试验中困难重重,但经过一次次的尝试,终于克服了,体会到matlab是一个很实用且易上手的工具,但是掌握起来也需要上机实践

 六、附录

推荐访问:实验 报告 matlab