MATLAB实验报告.docx
《MATLAB实验报告.docx》由会员分享,可在线阅读,更多相关《MATLAB实验报告.docx(13页珍藏版)》请在冰豆网上搜索。
MATLAB实验报告
中南民族大学
计算机科学学院
MATLAB实验报告
题目MATLAB实验
年级2010
专业计算机科学与技术
指导教师波
小组成员(学号)
实验类型综合型
成绩评定
评语:
教师签名:
年月日
2014年4月22日
一、实验安排
1.实验目的
1.掌握字符串的生成和操作,掌握单元数组的生成和操作,掌握结构体的生成和操作。
2.掌握MATLAB的脚本文件及其编辑和调试方法,掌握MATLAB程序设计和开发流程,掌握MATLAB的关系运算,逻辑运算及函数操作,掌握MATLAB流程控制语句。
3.掌握基本符号运算,掌握符号函数的绘制,掌握符号函数微积分的运算,掌握符号方程的求解方法,掌握符号积分变换,了解MAPLE函数的调用方法,了解符号计算器的使用。
4.了解MATLAB的图形窗口,掌握MATLAB基本二维图形,三维图形的绘制,以及图形的绘制,如柱形图,饼状图,掌握图形注释的添加和管理,了解三维图形的视点控制及颜色,光照控制
5.了解Matlab的图形对象及其属性,掌握MATLAB图形对象属性的设置及其查询,掌握MATLAB的图形对象句柄的访问及其操作。
2.实验容
(1)编写一个脚本,查找给定字符串中指定字符出现的次数和位
(2)创建2x2单元数组,创建2×2单元数组,第1、2个元素为字符串,第三个元素为整型变量,第四个元素为双精(double)类型,并将其用图形表示。
(3)创建一个结构体,用于统计学生的情况,包括学生的、学号、各科成绩等。
然后使用该结构体对一个班级的学生成绩进行管理,如计算总分、平均分、排列名次等。
(4)在MATLAB中使用一个循环确定:
如果用户最初在一个银行中存储$10000,并且在每年的年终再存储$10000(银行每年支付6%的利息),那么账户上要积累$1000000要需要多长时间。
(5)设
为符号变量,
,
,试进行如下运算:
(1)
(2)
(3)求
的反函数
(4)求
以
为自变量的复合函数
(6)合并同类项
(7)因式分解将7798666进行因数分解,分解为素数乘积的形式
(8)绘制下列函数的图像
,
(9)编写程序,该程序在同一窗口中绘制函数在
之间的正弦曲线和余弦曲线,步长为
,线宽为4个象素,正弦曲线设置为蓝色实线,余弦曲线颜色设置为红色虚线,两条曲线交点处,用红色星号标记。
(10)编写程序,实现功能为:
创建图形窗口,并且设置其默认背景为黄色,默认线宽为4个像素,在该窗口中绘制椭圆
的图像,其中的
和
任选
3.实验环境
Matlab7
二、算法原理
略
3、Matlab代码
(1)%findwhereandhowmanytimesthestringappears.
str=['Today,Iphone4Shasbecomethemostpopularsmartphoneintheworld']
AB=findstr(str,'t');
SZ=length(AB);
disp('Thetimethatstringapearingis'),disp(SZ);
disp('thelocationthatthestringappearingare'),disp(AB);
(2)A=cell(2,2);
A(1,1)={'Chinesepeople'};
A(1,2)={'Myfavoritefoodisapple'};
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;
whilex<=1000000
x=10000+x*1.06;
y=y+1;
end
disp(y);
或者:
x=10000;
fork=1:
100
x=10000+x*1.06;
ifx>=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)
%Insym.finverseat43
symsx
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)
holdon,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);
holdon;
plot(x,y2);
四、实验结果及分析
第一题演示结果如下
结果于预期相符
第二题演示结果如下
结果于预期相符
第三题结果如下图
第四题显示结果如图
第五题答案
第六题答案
第七题答案
第八题
第九题
第十题
5、总结
通过本次实验,本次实验我掌握了数组和向量的基本运算与操作。
尽管试验中困难重重,但经过一次次的尝试,终于克服了,体会到matlab是一个很实用且易上手的工具,但是掌握起来也需要上机实践!
六、附录