MATLAB习题

  • 格式:doc
  • 大小:164.00 KB
  • 文档页数:17

下载文档原格式

  / 17
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一次上机作业:

计算

clc;clear

y=((2*sin(0.3*pi)*exp(3))/(1+sqrt(5)))*log10(6)

1.生成等差矩阵a=[1,3,5,7…47,49];在经度[122,128]间生成70个等差数列。

a=(1:2:50) %生成等差矩阵a=[1,3,5,7…47,49]

b=linspace(122,128,70) %在经度[122,128]间生成70个等差数列

2.生成34均匀随机矩阵b;提取b的第3行第2列元素赋值为5,求b

中最小值、平均值;提取b的第三列;b右边增添1列为 2 3 4,;删除b 的第二列。

b=rand(3,4) %生成3×4均匀随机矩阵b

b(3,2)=5 %提取b的第3行第2列元素赋值为5

m=min(b(:)) %求b中的最小值

n=mean(b(:)) %求b中的平均值

a=b(:,3) %提取b的第三列

b(:,5)=[2 3 4] %在b右边增添1列为2 3 4

b(:,2)=[] %删除b的第二列

3.在区间x=[0,2]内做sin(x)图;按x、sin(x)、cos(x)存成3列到data.txt文

档;再读取文件data.txt,用读取的数据做cos(x)图。

x=0:0.1*pi:2*pi

m=sin(x)

n=cos(x)

plot(x,m,'r--*') %做sin(x)图像

a=[x;sin(x);cos(x)]'

save -ascii data.txt a %按x、sin(x)、cos(x)存成3列到data.txt文档

q=load('data.txt') %读取文件data.txt

plot(q(:,1),q(:,3)) %用读取的data.txt做cos(x)图

第二次上机作业:

1.生成34,[-1,1]间的随机矩阵A;求A矩阵中的元素总个数,将A中

小于0的元素等于1;再取出A中大于0.2并小于0.7的元素。

clc;clear

A= -1+(1+1)*rand(3,4) %生成3×4,[-1,1]间的随机矩阵A

length(A(:)) %求A矩阵中的元素总个数

A(A<0)=1 %将A中小于0的元素等于1

A(A>0.2&A<0.7) %取出A中大于0.2并小于0.7的元素

2.X在[0:0.1: 2]内,求值;并作y>0是x-y折线图。

clc;clear

x=0:0.1:2*pi %X在[0:0.1: 2π]内

y=cos(x.^2) %求y=cos(x^2 )值

a=find(y>0) %y>0

m=x(a);

n=y(a);

plot(m,n,'r--*') %作x-y折线图

3.首先由计算机随机产生一个[1,100]之间的一个整数,然后由用户猜测所产

生的这个数。根据用户猜测的情况给出不同的提示,如果猜测的数大于产生的数,则显示“High”,小于则显示“Low”,等于则显示“You won!”,同时退出这个游戏,如果用户7次还没有猜出,则显示“You lost!”,并显示出那个随机数。(用while编写)

clc;clear

x=round(1+(100-1)*rand(1,1)); %随机产生一个[1,100]之间的一个整数

n=1;

while n<8

y=input(['你还有:',num2str(7-n+1),'次机会,请输入一个数: ']);

if y>x

disp ('High')

end

if y

disp ('Low')

end

if y==x

disp ('You won!!!')

break

end

n=n+1;

end

if y~=x

disp('You lost...')

x

end

4.编写函数(如果输入x不是正整数,不执行

函数,并给出提示),在程序中调用,并求出值。

函数部分:

function s=myfun(n)

if abs(n)~=round(n)

disp('error!!!');

return

end %如果输入x不是正整数,不执行函数,并给出提示

s=0;

for i=1:n;

s=s+1/(2*i-1);

end

end

调用部分:

clc;clear

y=(mufun(5)^6)/((myfun(28)-1)^(1/3)) %求出y=〖f(5)〗^6/√(f(28)-1)值

5.文件climate.txt中4列分别为年、月、当月水温、平均水温,请统计30

年间(1981-2011)平均4个月间(3-6月份)当月水温减去平均水温,并作图。

clc;clear

data=load('data\climate.txt');

a=data(:,3)-data(:,4);

i=0;

for yy=1981:2011

yn=find((data(:,1)==yy)&((data(:,2)>2)&(data(:,2)<7)));

i=i+1;

tt(i)=mean(a(yn))

end

v=tt

u=1981:2011

plot(u,v)

第三次上机作业:

1.分别用符号表达式和多项式两种方法求:(1),x=你

们学号的值;(2)f(x)=0时的解。

clc;clear

syms x; %符号表达式法

f=2*x^2+x-4;