matlab第二次

matlab第二次
matlab第二次

Matlab素质拓展课第二次作业

第二次课知识点if 选择语句for while 循环语句子函数(多个输入参数输出参数)

递归二分法秦九韶算法等

3.3 写一个名为nexthour的函数,接收一个整数参数,该参数是一天内的某个小时,然后返回下一个小时。假定是12小时制,所以例子中12的下一个小时是1.

% 3.3 写一个名为nexthour的函数,

% 接收一个整数参数,该参数是一天内的某个小时,然后返回下一个小时。

% 假定是12小时制,所以例子中12的下一个小时是1.

function y=nexthour(n)

if n>=1&&n<=11

y=n+1;

elseif n==12

y=1;

else

y=-1;

disp('输入错误!');

end

end

3.6 写一个脚本,提示用户输入分数的分子和分母。如果分母是0,则打印错误信息,指出0不能做分母。如果分母不是0,则打印分数的结果。

% 3.6 写一个脚本,提示用户输入分数的分子和分母。

% 如果分母是0,则打印错误信息,指出0不能做分母。

% 如果分母不是0,则打印分数的结果。

clc;

clear;

fenzi=input('请输入分子:');

fenmu=input('\n请输入分母:');

if fenmu==0

disp('打印错误!分母不能为0!')

else

fprintf('分数=%d/%d\n',fenzi,fenmu);

end

3.11 写一个函数createMToN,它能够创建并返回一个从m到n的整数组成的向量(m是第一个输入参数,n是第二个),不管m是小于n还是大于n。如果m等于n,该向量正好是1*1的,或者说是标量。

%dy_chapter3_11.m cerateMToN

function vec=dy_chapter3_11(m,n)

if m>n

vec=m:-1:n;

elseif m

vec=m:n;

else

vec=m;

end

3.17 写一个脚本,它能生产一个随机整数,并且打印该随机整数是一个偶数还是一个奇数。%dy_chapter3_17.m

clc;

clear;

A=randint(1,1,[0,10000]);

if mod(A,2)==0

fprintf('%d 是偶数\n',A);

else

fprintf('%d 是奇数\n',A);

end

3.18.写一个名为isdivby4的函数,接收整数作为输入参数,如果输入参数能够被4整除,则返回逻辑1,如果不能整除,则返回逻辑假。

function R=dy_chapter3_18(n)

%写一个名称为mydiv4的函数,接收整数作为输入参数,

%如果输入整数能被4整除,则返回1,如果不能整除,则返回0

if mod(n,4)==0

R=1;

else

R=0;

end

end

3.20 一个毕达哥拉斯(勾股)三角形是一组正整数(a,b,c),它满足a2=b2+c2.写一个名为ispythag的函数接收三个正整数(按照a,b,c的顺序),如果这三个数能形成该三角形则返回1,不能则返回0.

function y=ispythag(a,b,c)

if a^2==b^2+c^2

y=1;

else

y=0;

end

end

3.26 云层一般分为高、中和低三层。云的高度是决定性因素,但是划分范围还取决于温度。例如,在热带地区的分类可以取决于下面的高度范围(单位英尺)

低:0—6500

中6500—20000

高>20000

%dy_chapter3_26.m

clc;

clear;

A=input('请输入以英尺为单位的云层的高度:');

if A>0&A<6500

fprintf('低\n');

elseif A>6500&A<20000

fprintf('中\n');

else

fprintf('高\n');

end

4.1 写一个for循环,打印出从1.5到3.1的实数列,步长为0.2.

clc;

clear;

for i=1.5:0.2:3.1

fprintf('%f ',i);

end

4.2 写一个函数sumsteps2,计算并返回1到n(每次递增2)的和,n作为参数传递给函数。例如,如果把11传递给了函数,就返回1+3+5+7+9+11的值。

%R=dy_chapter4_2.m

function R=dy_chapter4_2(n)

% 写一个函数dysum2,计算并返回从1到n(每次递增2)的和,n作为参数传递给函数.

% 例如,如果把9传递给了函数,就返回1+3+5+7+9的值.

R=0;

for i=1:2:n

R=R+i;

end

end

4.3 写一个函数prodby2,接收一个正整数n,计算并返回从1到n的奇数的乘积(如果n是偶数,即从1到n-1).

function y=prodby2(n)

y=1:

for i=1:2:n

y=y*i;

end

4.4 提示用户输入一个整数n,并打印出”I love this stuff!”n次。

clc;

clear;

n=input('请输入一个整数:');

for i=1:n

fprintf('I love this stuff!\n');

end

4.14写一个函数,输入参数为矩阵,计算并返回矩阵中所有数据的平均值。

function y=dy_chapter4_14(A)

[m,n]=size(A);

y=sum(sum(A))/(m*n);

end

4.16 创建一个3*5的矩阵,使用内置函数和循环(如果必要的话可以使用if语句)两种方法来完成下面的操作:

A找出每列中的最大值;B 找出每行中的最大值;C找出整个矩阵的最大值。

%dy_chapter4_16.m

%dy_chapter4_16.m

clc;

clear;

A=rand(3,5);

%使用内置函数

colA=max(A) %每列中的最大值

rowA=max(A') %每行中的最大值

maxA=max(max(A)) %整个矩阵的最大值

%使用循环

colA2=A(:,1);

rowA2=A(1,:);

maxA2=A(1,1);

for j=1:5

for i=1:3

if A(i,j)>colA2(i)

colA2(i)=A(i,j); %每列中的最大值

end

end

end

for i=1:3

for j=1:5

if A(i,j)>rowA2(j)

colA2(j)=A(i,j); %每行中的最大值

end

end

end

for i=1:3

for j=1:5

if A(i,j)>maxA2

maxA2=A(i,j); %矩阵中的最大值

end

end

end

4.19 写一个beautyofmath脚本,产生下面的输出。脚本应该从第1行到第9行重复按左对齐方式生成如下表达式,执行指定的操作来获得等式右边显示的结果,严格按下面显示格式打印。

4.20 写一个脚本,打印出下面乘法表:

1

2 4

3 6 9

4 8 12 16

5 10 15 20 25

%dy_chapter4_20.m

clc;

clear;

for i=1:5

for j=1:i

fprintf('%2d ',i*j);

end

fprintf('\n');

end

4.29 写一个脚本,连续提示用户输入正数,并把它们存储到一个向量变量中,直到用户输入一个负数为止。

0.17 给出20个数,1,3,7,13,…,其规律是:第一个数是1,第二个数比第一个数大2,第三个数比第二个数大4….,请写出相应的matlab源码。

0.18 中国网通规定:拨打市内电话时,如果不超过3分钟,则收取话费0.22元;如果通话时间超过3分钟,则超出部分按每分钟0.1元收取通话费,不足一分钟按一分钟计算。设通话时间为t(分钟),通话费用y(元),设计一个程序,计算通话的费用.请写出相应的matlab 源码。

0.19 写出已知函数,输入x的值,求y的值。请写出相应的matlab源码。

0.20. 编写一个程序,求1!+2!+…+10!的值.

0.21. 求满足1+2+3+…+n>500的最小的自然数n.

0.22. 求的值。

0.23. 已知函数,请编写程序,输入自变量x的值,输出其相应的函数值。

0.24. 已知S=5+9+13+…+101,分别用for和while写出相应的源码。

0.25. 某市固定电话(市话)的收费标准为:3分钟之内(包括3分钟)收取0.2元;超过3分钟,每分钟(不足1分钟,按1分钟计算)按0.1元收费。设计一个算法,根据通话时间计算话费。

16. 用秦九韶算法求多项式f(x)=2x4+3x3+x2+5x-4,当x=2是的函数值。

17.已知编写一个程序,对每输入一个x值,都得到相应的函数值。

18. 编写一个程序,计算n个数的和:。

19. 利用,编写程序求π的近似值。

20. 求10~999中的水仙花数,所谓水仙花数是一个三位数,它的各位数字的立方和等于该数,例如153是一个水仙花数,因为153=13+53+33.试编写程序,找出所有的水仙花数。clc; %清空command window中的内容

clear;%清空内存中的临时变量

%水仙花数是指一个n 位数( n≥3 ),

%它的每个位上的数字的n 次幂之和等于它本身。

%(例如:1^3 + 5^3 + 3^3 = 153)

%三位水仙花共有4个,153,370,371,407

%方法一,用字符串有利于位数较多的情况

% % n = 3;

% % p = (0:9) .^ n; %预先算好0到9的n次方% % tempStr = '0' * ones(1, n);

% %

% % for x = (10^(n-1) : (10^n - 1))

% % digits = num2str(x, '%d') - tempStr;

% % s = sum(p(digits + 1));

% % if s == x

% % fprintf('%d\n', x);

% % end

% % end

%方法二,用子函数

clc;

clear;

%调用my42(i)子函数

for i=100:999

y=my42(i);

if y~=0

disp(y)

end

end

%判断某个三位数是否为水仙花数

function y=my42(x)

y=0;

x1=fix(x/100);% 百位数字

x2=rem(fix(x/10),10); %十位数字

x3=rem(x,10); %个位数字

if x==x1^3+x2^3+x3^3

y=x;

end

end

21.设计算法,交换两个变量a,b的值,并输出交换前后的值。

22.输入三个正实数x,y,z,以它们为三边是否可以构成直角三角形?编写程序输出结果。

23. 写出按从小到大的顺序重新排列x,y,z三个数值的算法。

24. 判断直线ax+by+c=0与圆(x-x0)2+(y-y0)2=r2的位置关系。

25. 输入一个x的值,输出f(x)=2x2+3的一个函数值。

26. 有一函数,写一程序,输入自变量的值,输出函数值。

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

28. 输入20个数,求其中最大数和最小数。要求分别用循环结构和调用MATLAB的max 函数、min函数来实现。

29.编写一个函数文件,求小于任意自然数n的Fibnacci数列各项。Fibnacci数列定义如下:

30.找出m~n之间的全体素数。

function u=fq(m,n)

%找出m到n的全体素数fq(m,n)

%若仅有一个参数则m= 2,给出参数作为n

%若没有参数则m = 2,n = 100

%1999.3

if nargin == 0,

m = 2; n = 100;

elseif nargin == 1,

n = m; m = 2;

end

i=1;

for t = m:n,

if t ~= 2;

for r = 2:t–1,

if fix(t/r)*r == t/r*r,

break

end

end

if r==t–1,u(i)=t;i=i+1;end

else

u(i)=t;i=i+1;

end

end

31.输出全部三位的水仙花数。

clc; %清空command window中的内容

clear;%清空内存中的临时变量

%水仙花数是指一个n 位数( n≥3 ),

%它的每个位上的数字的n 次幂之和等于它本身。%(例如:1^3 + 5^3 + 3^3 = 153)

%三位水仙花共有4个,153,370,371,407

%方法一,用字符串有利于位数较多的情况

% % n = 3;

% % p = (0:9) .^ n; %预先算好0到9的n次方

% % tempStr = '0' * ones(1, n);

% %

% % for x = (10^(n-1) : (10^n - 1))

% % digits = num2str(x, '%d') - tempStr;

% % s = sum(p(digits + 1));

% % if s == x

% % fprintf('%d\n', x);

% % end

% % end

%方法二,用子函数

clc;

clear;

%调用my42(i)子函数

for i=100:999

y=my42(i);

if y~=0

disp(y)

end

end

%判断某个三位数是否为水仙花数

function y=my42(x)

y=0;

x1=fix(x/100);% 百位数字

x2=rem(fix(x/10),10); %十位数字

x3=rem(x,10); %个位数字

if x==x1^3+x2^3+x3^3

y=x;

end

end

32.编程求出Fibonacci数列中第一个大于1000的元素及序号。%主函数

clc;

clear;

[Fib index]=my43()

%子函数

function [Fib index]=my43()

a=1;

b=1;

Fib=a+b;

index=3;

while Fib<=1000

a=b;

b=Fib;

Fib=a+b;

index=index+1;

end

end

33.求[100,1000]范围内的全部素数之和。%主函数

clc;

clear;

x=150;

result=[];

for i=100:1000

y=my44(i);

if y==1

result=[result i];

end

end

result

%子函数

function result=my44(x)

result=1;

for i=2:x/2

if mod(x,i)==0

result=0;

break;

end

end

end

34.求1—100的平方、平方根和立方根之和。%主函数

clc;

clear;

for x=1:100

[my1 my2 my3]=my45(x)

end

%子函数

function [my1 my2 my3]=my45(x)

my1=x*x; %平方

my2=sqrt(x); %平方根

my3=x^(1/3); %立方根

end

35.求n!, n=1,2, (10)

%主函数

clc;

clear;

for i=1:10

y=my46(i)

end

%子函数,递归

function y=my46(n)

if n==1

y=1;

else

y=n*my46(n-1);

end

end

36.建一个命令文件将变量a,b(包括矩阵)的值互换。%主函数

clc;

clear;

A=[1 2];

B=[3 4;5 6];

[M N]=my47(A,B)

%子函数,交换A,B

function [M N]=my47(A,B)

M=B;

N=A;

end

37.求一元二次方程的根。

%主函数

clc;

clear;

a=11;b=2;c=1;

result=my48(a,b,c)

%子函数

function result=my48(a,b,c)

%a,b,c为系数

if b*b-4*a*c<0

result=NaN;

disp('没有实数解');

elseif b*b-4*a*c==0

result=-b/(2*a);

else

delta=sqrt(b*b-4*a*c);

x1=(-b+delta)/(2*a);

x2=(-b-delta)/(2*a);

result=[x1 x2];

end

38.输入矩形的两边,求面积。

%主函数

clc;

clear;

M=input('请输入两个数,例如[1 2]:')

result=my49(M)

%子函数,求面积

function result=my49(M)

result=M(1)*M(2);

end

39.输入10个数,求其中最大数和最小数。要求分别用子函数和调用max命令。%主函数

clc;

clear;

M=input('请输入十个数,例[1 2 ... 10]:') [mymax mymin]=my50(M)

mymax2=max(M)

mymin2=min(M)

%子函数

function [mymax mymin]=my50(M) [m,n]=size(M);

mymax=M(1);

mymin=M(1);

for i=2:n

if M(i)>mymax

mymax=M(i);

end

if M(i)

mymin=M(i);

end

end

end

40.多项式相加,p1=[1 5 4], p2=[ 1 6 11 6]; %主函数

clc;

clear;

p1=[1 2 1 5 4]

p2=[ 1 6 11 6]

p=my51(p1,p2)

%子函数

function p=my51(p1,p2)

[m1,n1]=size(p1);

[m2,n2]=size(p2);

if n1-n2>0

temp=zeros(1,n1-n2);

p2=[temp p2];

elseif n1-n2<0

temp=zeros(1,n2-n1);

p1=[temp p1];

end

p=p1+p2;

end

41.鸡兔同笼,头有36,脚共100,求鸡兔各多少?%主函数

clc;

clear;

head=36;

foot=100;

[chicken rabbit]=my52(head,foot)

%子函数

function [chicken rabbit]=my52(head,foot)

chicken=-1;

rabbit=-1;

for i=0:head

for j=0:head

if i+j==head && 2*i+4*j==foot

chicken=i;

rabbit=j;

break;

end

end

end

end

42.分别用if语句和switch语句实现以下计算,其中、、的值从键盘输入。

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

44. 设,数列是否收敛?若收敛,其值为多少?编程计算其收敛的近似值,精确到6位有效数字。

45.请至少用三种方法编程求。

46.计算1---100之间所有偶数之和。

47.创建Hilbert矩阵,其中a(i,j)=1/(i+j-1)。

%方法一

clc; %清除command window中的内容

clear;%清除Matlab工作空间中保存的变量

M=3;

N=4;

for i=1:M

for j=1:N

a(i,j)=1/(i+j-1); %Hilbert矩阵近似解

end

end

a

%方法二

clc; %清除command window中的内容

clear;%清除Matlab工作空间中保存的变量

M=3;

N=4;

%format %恢复默认数据格式

format rat %用分数形式表示

for i=1:M

for j=1:N

a(i,j)=1/(i+j-1); %Hilbert矩阵

end

end

a

48.任给一组输入x,求函数y=|x|的值。

%

clc; %清除command window中的内容

clear;%清除Matlab工作空间中保存的变量

x=-1

y=abs(x) %对单个变量求绝对值

t=[-2,-1,0,1,2]

y=abs(t) %对一维矩阵求绝对值

m=[-1 -2;

1 2]

y=abs(m) %对多维矩阵求绝对值

49.从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们之和。%本程序实现从键盘输入若干数据,遇0结束,然后求其平均值!

clc; %清除command window中的内容

clear;%清除Matlab工作空间中保存的变量

m=input('请输入数据,输入0结束:');

M=[];

while m~=0

M=[M m];

m=input('请输入数据,输入0结束:');

end

M %取值结束后的矩阵B=sum(M) %求和

[row col]=size(M);

avg_B=B/col %求平均

50.求[108,288]之间第一个能被13整除的整数;

求第一个同时能被11、13整除的整数。

clc; %清除command window中的内容

clear;%清除Matlab工作空间中保存的变量

m=108;

n=288;

for i=m:n

if mod(i,11)==0 &&mod(i,13)==0

num=i;

break;

end

end

num

MATLAB实验报告(1-4)

信号与系统MATLAB第一次实验报告 一、实验目的 1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。 2.学会运用MATLAB表示常用连续时间信号的方法 3.观察并熟悉一些信号的波形和特性。 4.学会运用MATLAB进行连续信号时移、反折和尺度变换。 5.学会运用MATLAB进行连续时间微分、积分运算。 6.学会运用MATLAB进行连续信号相加、相乘运算。 7.学会运用MATLAB进行连续信号的奇偶分解。 二、实验任务 将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。 三、实验内容 1.MATLAB软件基本运算入门。 1). MATLAB软件的数值计算: 算数运算 向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn为结束值。 矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开; 矩阵的不同行之间必须用分号”;”或者ENTER分开。2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。

举例:计算一个函数并绘制出在对应区间上对应的值。 2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名” 2.MATLAB软件简单二维图形绘制 1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y) 2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p 表示第p个区域,表达为subplot(mnp)或者subplot(m,n,p) 3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin]) 4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’) 5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’) 6).输出:grid on 举例1:

MATLAB第一章作业答案

第一章 M A T L A B 概况与基本操作 1.选择题(每题2分,共20分): (1)最初的MATLAB 核心程序是采用D 语言编写的。 (2)即将于2011年9月发布的MATLAB 新版本的编号为C 。 2011Ra 2011Rb R2011b R2011a (3)在默认设置中,MATLAB 中的注释语句显示的颜色是B 。 A.黑色 B.绿色 C.红色 D.蓝色 (4)如果要以科学计数法显示15位有效数字,使用的命令是A 。 long e long long g long d (5)在命令窗口新建变量a 、b ,如果只查看变量a 的详细信息,使用的命令为A 。 a a (6)如果要清除工作空间的所有变量,使用的命令为C 。 all C.两者都可 D.两者都不可 (7)在创建变量时,如果不想立即在命令窗口中输出结果,可以在命令后加上B 。 A.冒号 B.分号 C.空格 D.逗号 (8)如果要重新执行以前输入的命令,可以使用D 键。 A.下箭头↓ B.右箭头→ C.左箭头← D.上箭头↑ (9)如果要查询函数det 的功能和用法,并显示在命令窗口,应使用命令C 。 D.三者均可 (10)如果要启动Notebook 文档,下列D 操作是可行的。 A.在命令窗口输入notebook 命令 B.在命令窗口输入notebook filename 命令 C.在Word 中启动M-book 文档 D.三者均可 2.填空题(每空1分,共20分): (1)MATLAB 是matrix 和laboratory 两个单词前三个字母的组合,意为“矩阵实验室”,它的创始人是Cleve Moler 和Jack Little 。 (2)在MATLAB 的默认设置中,关键字显示的字体为蓝色,命令、表达式、计算结果显示的字体为黑色,字符串显示的字体为褐红色,注释显示的字体为绿色,错误信息显示的字体为红色。 (3)在命令窗口中,输出结果显示为各行之间添加空行的命令为format loose ,各行之间不添加空行的命令为format compact 。 (4)在MATLAB 中,各种标点符号的作用是不同的。例如,空格的作用是分隔数组每行各个元素,逗号的作用是分隔数组每行各个元素或函数的各个输入参数,分号的作用是作为不显示命令结果的命令行的结尾或分隔数组各列,冒号的作用是生成一维数组或表示数组全部元素,百分号的作用是引导一行注释,…的作用是连接相邻两行,感叹号的作用是调用操作系统命令。 3.程序设计题(每题10分,共40分) (1)以25m/s 的初速度向正上方投球(g=s 2 ),计算到达最高点的时间tp 以及球从出发点到最高点的距离hp 。 解:根据物理学知识,物体上抛运动的速度与经过的时间之间的关系为0p p v v gt =-,因此所需要的时间为0p p v v t g -= 。而到达最高点时的速度0p v =,因此可根据此公式求出tp : v0=25;g=;vp=0; tp=(v0-vp)/g tp =

Matlab实验第一次实验答案

实验一Matlab使用方法和程序设计 一、实验目的 1、掌握Matlab软件使用的基本方法; 2、熟悉Matlab的数据表示、基本运算和程序控制语句 3、熟悉Matlab绘图命令及基本绘图控制 4、熟悉Matlab程序设计的基本方法 二、实验内容: 1、帮助命令 使用help命令,查找sqrt(开方)函数的使用方法; 解:sqrt Square root Syntax B = sqrt(X) Description B = sqrt(X) returns the square root of each element of the array X. For the elements of X that are negative or complex, sqrt(X) produces complex results. Remarks See sqrtm for the matrix square root. Examples sqrt((-2:2)') ans = 0 + 1.4142i 0 + 1.0000i

1.0000 1.4142 2、矩阵运算 (1)矩阵的乘法 已知A=[1 2;3 4]; B=[5 5;7 8]; 求A^2*B 解:A=[1 2;3 4 ]; B=[5 5;7 8 ]; A^2*B (2)矩阵除法 已知A=[1 2 3;4 5 6;7 8 9]; B=[1 0 0;0 2 0;0 0 3]; A\B,A/B 解:A=[1 2 3;4 5 6;7 8 9 ]; B=[1 0 0;0 2 0;0 0 3 ]; A\B,A/B (3)矩阵的转置及共轭转置

北京科技大学MATLAB作业3

《数学实验》报告 实验名称 MATLAB绘图 学院 专业班级 姓名 学号 2014年 5月

一、【实验目的】 学会用MA TLAB绘制二维、三维图形,并为其标注、添色等。 二、【实验任务】 1.用mesh与surf命令绘制三维曲面z=x^2+3y^2的图像,并使用不同的着色效果及光照效果 2.绘制由函数(x^2)/9+(y^2)/16+(z^2)/4=1形成的立体图,并通过改变观测点获得该图形在各个坐标平 面上的头影 3.画三维曲面z=5-x^2-y^2(-2<=x,y<=2)与平面z=3的交线 三、【实验程序】 1. t=-1:0.1:1; [x,y]=meshgrid(t); z=x^2+3*y^2; subplot(1,2,1),mesh(x,y,z),colormap(bone),light('position',[20,20,5]) subplot(1,2,2),surf(x,y,z),colormap(cool) 2. [xx,yy,zz]=sphere(40); x=xx*2;y=yy*3;z=zz*4; subplot(2,2,1),surf(x,y,z); subplot(2,2,2),surf(x,y,z);view(0,90) subplot(2,2,3),surf(x,y,z);view(90,0) subplot(2,2,4),surf(x,y,z);view(0,0) 3. t=-2:0.1:2;[x,y]=meshgrid(t);z1=5-x.^2-y.^2; subplot(1,3,1),mesh(x,y,z1),title('曲面z1=5-x.^2-y.^2'); z2=3*ones(size(x)); subplot(1,3,2),mesh(x,y,z2),title('平面z=3'); r0=abs(z1-z2)<=1; zz=r0.*z2;yy=r0.*y;xx=r0.*x;subplot(1,3,3); subplot(1,3,3),plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),'.'),title('交线') 四、【实验结果】

MATLAB练习作业(已做)2012

说明:如在测试时请将程序中的中文字符改为西文(部分程序为手写,并未经matlab验证) 2012年春《MATLAB基础》第一次上机练习与作业练习1:脚本文件 建立一个文件名为helloWorld的脚本文件,运行该文件时显示出如下文字: Hello World! I am going to learn MATLAB ?提示: 用disp显示字符串,将要显示的字符号串用单引号引起来。如'This is a string' 练习2:变量 获取并保存当前的日期与时间 ●用函数clock生成一个变量,变量名为start ●用size查看start的维数,它是一个行向量还是一个列向量? ●start包含什么内容?用help clock查看 ●用函数datestr将向量start转换成字符串,得到新的变量,名为startString ●将start与startString保存为mat文件,文件名为startTime ●在练习1建立的脚本文件helloWorld.m文件中,用load函数导入变量startTime, 并显示如下文字: I started learning MATLAB on * start date and time* 练习3:标量 你将要以指数增长的速度来学习MATLAB, 将如下内容添加到helloWorld.m文件中 ●假设你的学习时间是一个常量,为1.5 days,将此时间用秒表示,赋给变量tau ●假设课程持续时间为5 days. 将这个时间单位转换为秒,保存在变量endofClass中? ●将学到的知识描述为t的函数,函数方程为: ●用函数datestr将向量start转换成字符串,得到新的变量startString ●在课程结束时间endofClass,你将学到多少知识?用变量knowledgeAtEnd表示(指数函数exp)

MATLAB第二次上机实验报告

电子科技大学电子工程学院标准实验报告(实验)课程名称MATLAB与数值分析 学生姓名: 学号: 指导教师:

一、实验名称 实验二 线性方程组求解和函数的数值逼近 二、实验目的 通过上机实验,使学生对病态问题、线性方程组求解和函数的数值逼近方法有一个初步的理解。 实验涉及的核心知识点:病态方程求解、矩阵分解和方程组求解、Lagrange 插值。 实验重点与难点:算法设计和MATLAB 编程 三、实验内容 1. 对高阶多项式 ()()() ()()20 1 1220k p x x x x x k ==---=-∏ 编程求下面方程的解 ()190p x x ε+= 并绘图演示方程的解与扰动量ε的关系。 2. 对2 20n =,生成对应的Hilbert 矩阵,计算矩阵的条件数;通过先确定解获得常向量 b 的方法,确定方程组 ()n H x b = 最后,用矩阵分解方法求解方程组,并分析计算结果。 3. 对函数 ()2 1 125f x x = + []1,1x ∈- 的Chebyshev 点 ()()21cos 21k k x n π ?? -= ? ?+? ? ,1,2,,1k n =+ 编程进行Lagrange 插值,并分析插值结果。 四、实验数据及结果分析 1. 对高阶多项式

()()() ()()20 1 1220k p x x x x x k ==---=-∏ 编程求下面方程的解 ()190p x x ε+= 并绘图演示方程的解与扰动量ε的关系。 p=[1,-1]; for i=2:20 n=[1,-i]; p=conv(p,n); % 求多项式乘积 end m=zeros(1,21); % m 的最高次幂为20,有21项 hold on x=1:20; d=[-1,0,0.1,0.5,1]; for i=1:5 delt=d(i); m(2)=delt; y=(roots(p+m))'; % 求多项式的根 plot(x,y,'-o','color',[i/5,i/20,i/10]); end title('方程p(x)=0的解与扰动量delt 的关系') legend('delt=-1','delt=0','delt=0.1','delt=0.5','delt=1') 2468101214161820 010 20 30 40 50 60 方程p(x)=0的解与扰动量delt 的关系 delt=-1delt=0delt=0.1delt=0.5delt=1

实验二 MATLAB程序设计 含实验报告

实验二 MATLAB 程序设计 一、 实验目的 1.掌握利用if 语句实现选择结构的方法。 2.掌握利用switch 语句实现多分支选择结构的方法。 3.掌握利用for 语句实现循环结构的方法。 4.掌握利用while 语句实现循环结构的方法。 5.掌握MATLAB 函数的编写及调试方法。 二、 实验的设备及条件 计算机一台(带有MATLAB7.0以上的软件环境)。 M 文件的编写: 启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器(Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正 三、 实验内容 1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因 c b a 、、的不同取值而定) ,这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。并输入几组典型值加以检验。 (提示:提示输入使用input 函数) 2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。 要求:(1)用switch 语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 (提示:注意单元矩阵的用法) 3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 2?1 3?10?5?16?8?4?2?1 6?3?10?5?16?8?4?2?1 运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。 请为关键的Matlab 语句填写上相关注释,说明其含义或功能。 4. 的值,调用该函数后,

第二次作业《解释结构模型应用》

大连海事大学 实验报告 《系统工程》 2014~2015学年第一学期 实验名称:基于解释模型在大学生睡眠质量问题的研究学号姓名:马洁茹姚有琳 指导教师:贾红雨 报告时间: 2014年9月24日

《系统工程》课程上机实验要求 实验一解释结构模型在大学生睡眠质量问题中的研究 实验名称:基于MATLAB软件或C/Java/其他语言ISM算法程序设计(一) 实验目的 系统工程课程介绍了系统结构建模与分析方法——解释结构模型法(Inter pretative Structural Modeling ·ISM)是现代系统工程中广泛应用的一种分析方法,能够利用系统要素之间已知的零乱关系,用于分析复杂系统要素间关联结构,揭示出系统内部结构。ISM方法具有在矩阵的基础上再进一步运算、推导来解释系统结构的特点,对于高维多阶矩阵的运算依靠手工运算速度慢、易错,甚至几乎不可能。 本次实验的目的是应用计算机应用软件或者是基于某种语言的程序设计快速实现解释结构模型(ISM)方法的算法,使学生对系统工程解决社会经济等复杂性、系统性问题需要计算机的支持获得深刻的理解。学会运用ISM分析实际问题。 (二) 实验要求与内容: 1.问题的选择 根据对解释结构模型ISM知识的掌握,以及参考所给的教学案例论文,决定选择与我们生活有关的——大学生睡眠质量问题。 2.问题背景 睡眠与我们的生活息息相关,当每天的身体机制在不断运行的过程中身体负荷不断变大,到了夜间就需要休息。但是同一寝室的同学大多休息时段不同,有些习惯早睡,有些会由于许多原因晚睡。有些睡眠较沉不会轻易被打扰,有些睡眠较轻容易被鼾声或者其他声响惊醒。学习得知,解释系统模型是通过对表面分离、凌乱关系的研究,揭示系统内部结构的方法。因此,我想尝试通过解释模型来对该问题进行研究分析。 3.用画框图的形式画出ISM的建模步骤。

昆明理工大学MATLAB实验指导书(第二次实验)

************************ MATLAB上机指导书 ************************ 昆明理工大学机电学院 彭用新 2015年3月

实验三符号计算 一、操作部分:在命令窗口执行命令完成以下运算,记录运算结果。 1.findsym:帮助我们获取系统定义的自变量 f= sym('sin(a*x+b*y)'); findsym(f) 2.numden(获取分子分母), sym2poly,(获取多项式时系数)poly2sym(根据多项式系 数获得符号表达式) [n,d]=numden(sym('x*x+y')+sym('y^2')) p=sym('2*x^3+3*x^2+4'); sym2poly(p) x=[2,3,0,4]; poly2sym(x) 3. collect :合并同类项;expand:展开多项式;horner: 分解成嵌套形式;factor:因式 分解;simplify: 对表达式化简 syms x y; collect(x^2*y+y*x-x^2-2*x) collect((x+y)*(x^2+y^2+1), y) syms x y; expand((x-2)*(x-4)) syms x;horner(x^3-6*x^2+11*x-6) syms x;factor(x^3-6*x^2+11*x-6) syms x;simplify((x^2+5*x+6)/(x+2)) 4. finverse :求得符号函数的反函数。 syms x y; finverse(1/tan(x)) f= x^2+y; finverse(f,y) finverse(f) https://www.360docs.net/doc/ba12374795.html,pose 求符号函数的复合函数 syms x y; f = 1/(1 + x^2); g = sin(y); compose(f,g) 6. subs :表达式替换。 syms a b;subs(a+b,a,4)

Matlab作业3(数值分析)答案

Matlab作业3(数值分析) 机电工程学院(院、系)专业班组 学号姓名实验日期教师评定 1.计算多项式乘法(x2+2x+2)(x2+5x+4)。 答: 2. (1)将(x-6)(x-3)(x-8)展开为系数多项式的形式。(2)求解在x=8时多项 式(x-1)(x-2) (x-3)(x-4)的值。 答:(1) (2)

3. y=sin(x),x从0到2π,?x=0.02π,求y的最大值、最小值、均值和标准差。 4.设x=[0.00.30.8 1.1 1.6 2.3]',y=[0.500.82 1.14 1.25 1.35 1.40]',试求二次多项式拟合系数,并据此计算x1=[0.9 1.2]时对应的y1。解:x=[0.0 0.3 0.8 1.1 1.6 2.3]'; %输入变量数据x y=[0.50 0.82 1.14 1.25 1.35 1.40]'; %输入变量数据y p=polyfit(x,y,2) %对x,y用二次多项式拟合,得到系数p x1=[0.9 1.2]; %输入点x1 y1=polyval(p,x1) %估计x1处对应的y1 p = -0.2387 0.9191 0.5318 y1 = a) 1.2909

5.实验数据处理:已知某压力传感器的测试数据如下表 p为压力值,u为电压值,试用多项式 d cp bp ap p u+ + + =2 3 ) ( 来拟 合其特性函数,求出a,b,c,d,并把拟合曲线和各个测试数据点画在同一幅图上。解: >> p=[0.0,1.1,2.1,2.8,4.2,5.0,6.1,6.9,8.1,9.0,9.9]; u=[10,11,13,14,17,18,22,24,29,34,39]; x=polyfit(p,u,3) %得多项式系数 t=linspace(0,10,100); y=polyval(x,t); %求多项式得值 plot(p,u,'*',t,y,'r') %画拟和曲线 x = 0.0195 -0.0412 1.4469 9.8267

第二次数学建模作业

4. 根据表1.14 的数据,完成下列数据拟合问题: 表 1.14 美国人口统计数据(百万人) 年份1790 1800 1810 1820 1830 1840 1850 1860 人口 3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 年份1870 1880 1890 1900 1910 1920 1930 1940 人口38.6 50.2 62.9 76.0 92.0 106.5 123.2 131.7 年份1950 1960 1970 1980 1990 2000 人口150.7 179.3 204.0 226.5 251.4 281.4 解答:(1): (i)执行程序: t=1790:10:2000; x=[3.9,5.3,7.2,9.6,12.9,17.1,23.2,31.4,38.6,50.2,62.9,76.2,92.0,106.5,123.2,131.7,150.7,179.3,204 .0,226.5,251.4,281.4]; f=@(r,t)3.9.*exp(r(1).*(t-1790)); r=nlinfit(t,x,f,0.036) sse=sum((x-f(r,t)).^2) plot(t,x,'k+',1790:10:2000,f(r,1790:10:2000),'k') axis([1790,2000,0,300]),legend('测量值','理论值') xlabel('美国人口/(百万)'),ylabel('年份') title('美国人口指数增长模型图II') 运行结果: >> Untitled r = 0.0212 sse = 1.7433e+004 即,拟合效果:r =0.0212;误差平方和为:1.7433e+004. 拟合效果图(i):

西安交通大学数字图像处理第二次作业

数字图像处理的基本数学 工具的使用 摘要 本报告主要介绍了运用编程软件MATLAB对图像灰度级进行变换、求取图像均值与方差、采用不同的内插方法对图像进行缩放及利用仿射变换对图像进行空间变换处理的方法。同时,对最近邻内插法、双线性内插法、双三次内插法进行图像处理的效果进行了详细的对比,并对出现差异的原因做出了简要分析。 姓名: X X X 班级: 学号: 提交日期:年月日

2_1. 把lena 512*512图像灰度级逐级递减8-1显示; (1) 问题分析: 所要实现的功能是:在不改变图像大小的前提下,使得整幅图像的灰度级逐级递减并将图像显示出来;即对所有像素点的灰度依次进行除2操作; (2) 实验过程: 工具:MATLAB 软件; 利用imread()函数将图像读入MATLAB ,利用imshow()对原图像进行显示,再利用循环体对整幅图像的灰度级逐级递减并一一进行显示。 源代码附于本报告最后一部分。 (3) 实验结果: 备注:在大小为512X512的途中观察更为方便,但此处为了便于排版以及将结果进行对比对所有图像做了一定的缩小。 a b c d

e f g h 图2_1 (a)大小为512X512的256灰度级图像;(b)~(h)保持图像大小不变的同 时以灰度级128,62,32,16,8,4,2显示的图像。 (4) 结果分析: 对图2_1中的(a)~(h)图像进行对比可知,256级、128级、64级以及32级灰度的图像几乎没有太大的区别;然而在灰度级为16的图(e)中出现了较为明显的伪轮廓,这种效果是由数字图像的平滑区域中的灰度级数不足引起的。(说明:此分析为本人肉眼的观察结果,对细节的观察难免存在疏漏之处,还请批评指正。) 2_2. 计算lena 图像的均值方差; (1) 问题分析: 所要实现的功能是:计算图像‘lena.bmp ’的均值与方差; (2) 实验过程: 工具:MATLAB 软件; 利用imread()函数将图像读入MATLAB ,由于二维数字图像使用二维阵列表示的,因而可以直接利用MATLAB 中的mean2()及std2()分别求整幅图像的均值于方差; 源代码附于本报告最后一部分。 (3) 实验结果:均值 m =99.0512 方差 =52.8776。 2_3. 把lena 图像用近邻、双线性和双三次插值法zoom 到2048*2048;

第二次数学实验报告Matlab 二维曲线绘图

《数学实验》报告实验名称 Matlab 二维曲线绘图 2011年 5月

一、【实验目的】 学习Matlab 绘图的运用,学会制作二维曲线,三维图形的绘画。 二、【实验任务】 P79 第3,5,9题。 1,在同一图形窗口画三个子图…… 2,绘制圆锥螺线的图像并加各种标注…… 3,画三维曲面z=5-x^2-y^2与平面z=3的交线。 三、【实验程序】 1. >> clear >> x=-pi:pi/50:4*pi; y1=x.*cos(x); y2=x.*tan(1./x).*sin(x.^3); y3=exp(1./x).*sin(x); subplot(3,1,1) plot(x,y1,'r*'),grid on title('y1=xcosx') xlabel('x轴'),ylabel('y轴') axis([-pi pi -pi pi]) gtext('y1=xcosx'),legend('y1=xcosx') subplot(3,1,2),plot(x,y2,'b'),grid on title('y=xtan(1/x)sin(x^3)') gtext('y=xtan(1/x)sin(x^3)') legend('y=xtan(1/x)sin(x^3)') axis([pi 4*pi -2 2]) subplot(3,1,3),plot(x,y3,'y'),grid on title('y=exp(1/x)sinx') xlabel('x轴'),ylabel('y轴') gtext('y=exp(1/x)sinx') legend('y=exp(1/x)sinx') axis([1 8 -3 3]) 2. >> clear >> t=0:pi/50:20*pi; x=t.*cos(pi/6.*t); y=t.*sin(pi/6.*t); z=2.*t; plot3(x,y,z) title('圆锥螺线') xlabel('x轴'),ylabel('y轴'),zlabel('z轴') >> t=0:pi/50:20*pi; x=t.*cos(pi/6.*t);

东南大学matlab第三次大作业

Matlab Worksheet 3 Part A 1. Using function conv_m.m to make convolution between the following to functions (x and h): x=[3, 11, 7, 0, -1, 7, -5, 0, 2]; h=[11, 9, 0, -7, -3, 2, 0 -1]; nx=[-2:6]; nh=[0:7]; Plot the functions and convolution results. x=[3, 11, 7, 0, -1, 7,5,0, 2]; nx=[-2:6]; h=[11, 9, 0, -7, -3,2,0,-1]; nh=[0:7]; [y, ny]=conv_m(x,nx,h,nh); subplot(3,1,1); stem(nx,x); ylabel('x[n]'); axis([-6 10 -20 20]); subplot(3,1,2); stem(nh,h); ylabel('h[n]'); axis([-4 10 -20 20]); subplot(3,1,3); stem(ny,y); xlabel('n'); ylabel('y[n]'); axis([-6 15 -200 200]); 2. Plot the frequency response over π≤Ω≤0for the following transfer function by letting Ω=j e z , where Ωis the frequency (rad/sample)., with appropriate labels and title. 9 .06.1)(2++=z z z z H . delta=0.01; Omega=0:delta:pi; H= (exp(j .* Omega)) ./ ((exp(j .* Omega)).^2+1.6*exp(j .* Omega)+0.9); subplot(2,1,1); plot(Omega, abs(H)); xlabel('0<\Omega<\pi'); ylabel('|H(\Omega)|'); axis([0 pi 0 max(abs(H))]); subplot(2,1,2); plot(Omega,atan2(imag(H),real(H))); xlabel('0<\Omega<\pi'); ylabel(' -\pi < \Phi_H <\pi') axis([0 pi -pi pi]); 3. Use fft to analyse following signal by plotting the original signal and its spectrum.

MATLAB上机答案

一熟悉Matlab工作环境 1、熟悉Matlab的5个基本窗口 思考题: (1)变量如何声明,变量名须遵守什么规则、是否区分大小写。 答:变量一般不需事先对变量的数据类型进行声明,系统会依据变量被赋值的类型自动进行类型识别,也就是说变量可以直接赋值而不用提前声明。变量名要遵守以下几条规则: 变量名必须以字母开头,只能由字母、数字或下划线组成。 变量名区分大小写。 变量名不能超过63个字符。 关键字不能作为变量名。 最好不要用特殊常量作为变量名。 (2)试说明分号、逗号、冒号的用法。 分号:分隔不想显示计算结果的各语句;矩阵行与行的分隔符。 逗号:分隔欲显示计算结果的各语句;变量分隔符;矩阵一行中各元素间的分隔符。 冒号:用于生成一维数值数组;表示一维数组的全部元素或多维数组某一维的全部元素。 (3)linspace()称为“线性等分”函数,说明它的用法。 LINSPACE Linearly spaced vector.线性等分函数 LINSPACE(X1,X2)generates a row vector of100linearly equally spaced points between X1and X2. 以X1为首元素,X2为末元素平均生成100个元素的行向量。 LINSPACE(X1,X2,N)generates N points between X1and X2. For N<2,LINSPACE returns X2. 以X1为首元素,X2为末元素平均生成n个元素的行向量。如果n<2,返回X2。 Class support for inputs X1,X2: float:double,single 数据类型:单精度、双精度浮点型。 (4)说明函数ones()、zeros()、eye()的用法。 ones()生成全1矩阵。 zeros()生成全0矩阵。 eye()生成单位矩阵。 2、Matlab的数值显示格式

matlab实验内容答案

实验报告说明: matlab 课程实验需撰写8个实验报告,每个实验报告内容写每次实验内容中标号呈黑体大号字显示的题目。 第一次实验内容: 实验一 MATLAB 运算基础 一、实验目的 1.熟悉启动和退出MA TLAB 的方法。 2.熟悉MA TLAB 命令窗口的组成。 3.掌握建立矩阵的方法。 4.掌握MA TLAB 各种表达式的书写规则以及常用函数的使用。 二、实验内容 1.先求下列表达式的值,然后显示MA TLAB 工作空间的使用情况并保存全部变量。 (1)2 2sin 8511z e ?= + (2 )12ln(2 z x =+ ,其中2120.45 5i +? ? =? ?-?? (3)0.30.33sin(0.3), 3.0, 2.9, 2.8,,2.8,2.9,3.02 a a e e z a a --= +=--- 提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算。 (4)2 2 2 01 41 1221 23 t t z t t t t t ?≤

12344347873657A -????=??????,131203327B -???? =????-?? 求下列表达式的值: (1)A+6=B 和A-B+I(其中I 为单位矩阵)。 (2)A*B 和A.*B 。 (3)A^3和A^.3 。 (4)A/B 和B\A 。 (5)[A ,B]和[A([1,3],;);B^2] 。 3.设有矩阵A 和B 12345678910111213141516171819202122232425A ????????=????????, 30 161769 23497041311B ?? ?? -?? ??=-?? ????? ? (1) 求它们的乘积C 。 (2) 将矩阵C 的右下角3×2子矩阵赋给D (3) 查看MA TLAB 工作空间使用情况。 4.完成下列操作: (1)求[100,999]之间能被21整除的数的个数。 提示:先利用冒号表达式,再利用find 和length 函数。 (2)建立一个字符串向量,删除其中的大写字母。 提示:利用find 函数和空矩阵。 第二次实验内容: 实验三 选择结构程序设计 一、实验目的 1. 掌握建立和执行M 文件的方法。 2. 掌握利用if 语句实现选择结构的方法。 3. 掌握利用switch 语句实现多分支选择结构的方法。 4. 掌握try 语句的使用。 二 、实验内容

MATLAB作业3参考答案

MATLAB 作业三参考答案 1、 请将下面给出的矩阵A 和B 输入到MA TLAB 环境中,并将它们转换成符号矩阵。若某 一矩阵为数值矩阵,另以矩阵为符号矩阵,两矩阵相乘是符号矩阵还是数值矩阵。 57651653 550123231001432546 2564206441211 346,3 9636623515 212107600774101 20 172440773473 781248672171107681 5A B ??????????????????? ?==??????????? ?---????????--??? ? 【求解】矩阵的输入与转换是很直接的。 >> A=[5,7,6,5,1,6,5; 2,3,1,0,0,1,4; 6,4,2,0,6,4,4; 3,9,6,3,6,6,2; 10,7,6,0,0,7,7; 7,2,4,4,0,7,7; 4,8,6,7,2,1,7]; A=sym(A) A = [ 5, 7, 6, 5, 1, 6, 5] [ 2, 3, 1, 0, 0, 1, 4] [ 6, 4, 2, 0, 6, 4, 4] [ 3, 9, 6, 3, 6, 6, 2] [ 10, 7, 6, 0, 0, 7, 7] [ 7, 2, 4, 4, 0, 7, 7] [ 4, 8, 6, 7, 2, 1, 7] >> B=[3,5,5,0,1,2,3; 3,2,5,4,6,2,5; 1,2,1,1,3,4,6; 3,5,1,5,2,1,2; 4,1,0,1,2,0,1; -3,-4,-7,3,7,8,12; 1,-10,7,-6,8,1,5]; B=sym(B) B = [ 3, 5, 5, 0, 1, 2, 3] [ 3, 2, 5, 4, 6, 2, 5] [ 1, 2, 1, 1, 3, 4, 6] [ 3, 5, 1, 5, 2, 1, 2] [ 4, 1, 0, 1, 2, 0, 1] [ -3, -4, -7, 3, 7, 8, 12] [ 1, -10, 7, -6, 8, 1, 5] 2、 利用MA TLAB 语言提供的现成函数对习题1中给出的两个矩阵进行分析,判定它们是 否为奇异矩阵,得出矩阵的秩、行列式、迹和逆矩阵,检验得出的逆矩阵是否正确。 【求解】以A 矩阵为例,可以对其进行如下分析。 >> A=[5,7,6,5,1,6,5; 2,3,1,0,0,1,4; 6,4,2,0,6,4,4; 3,9,6,3,6,6,2; 10,7,6,0,0,7,7; 7,2,4,4,0,7,7; 4,8,6,7,2,1,7]; A=sym(A); rank(A) ans = 7 >> det(A) ans = -35432

MATLAB第一章作业答案

第一章M A T L A B概况与基本操作 1.选择题: (1)最初的MATLAB核心程序是采用A语言编写的。 (2)即将于2011年9月发布的MATLAB新版本的编号为D。 2011Ra 2011Rb R2011a R2011b (3)在默认设置中,MATLAB中的注释语句显示的颜色是D。 A.黑色 B.蓝色 C.红色 D.绿色 (4)如果要以科学计数法显示15位有效数字,使用的命令是B。 long long e long g long d (5)在命令窗口新建变量a、b,如果只查看变量a的详细信息,使用的命令为B。 a a (6)如果要清除工作空间的所有变量,使用的命令为 C 。 all C.两者都可 D.两者都不可 (7)在创建变量时,如果不想立即在命令窗口中输出结果,可以在命令后加上D。 A.冒号 B.逗号 C.空格 D.分号 (8)如果要重新执行以前输入的命令,可以使用B键。 A.下箭头↓ B.上箭头↑ C.左箭头← D.右箭头→ (9)如果要查询函数inv的相关信息,并显示在命令窗口,应使用命令A。 D.三者均可 (10)如果要启动Notebook文档,下列D操作是可行的。 A.在命令窗口输入notebook命令 B.在命令窗口输入notebook filename命令 C.在Word中启动M-book文档 D.三者均可 2.填空题: (1)MATLAB是MATrix和LABoratory两个单词前三个字母的组合,意为“矩阵实验室”,它的创始人是Cleve Moler和Jack Little。 (2)在MATLAB的默认设置中,关键字显示的字体为蓝色,命令、表达式、计算结果显示的字体为黑色,字符串显示的字体为紫色,注释显示的字体为绿色,错误信息显示的字体为红色。

matlab上机作业

第二次 上机作业 1、 求下列矩阵的主对角线元素、上三角阵、下三角阵、秩、范数、条件数和迹。 (1)????? ???????--=901511250324153211A (2)??????-=2149.824343.0B 1. A=[1,-1,2,3;5,1,-4,2;3,0,5,2;11,15,0,9] D=diag(A) C=triu(A) B=tril(A) E=rank(A) F=trace(A) a1=norm(A,1) a2=norm(A,inf) a3=norm(A,inf) c1=cond(A) c1=cond(A,1) c2=cond(A,2) c3=cond(A,inf) 2. B=[0.43,43,2;-8.9,4,21] D=diag(B) C=triu(B) B=tril(B) E=rank(B) F=trace(B) a1=norm(B,1) a2=norm(B,inf) a3=norm(B,inf) c1=cond(B) c1=cond(B,1) c2=cond(B,2) c3=cond(B,inf) 2、 求矩阵A 的特征值和相应的特征向量。

???? ??????=225.05.025.0115.011A A=[1,1,0.5;1,1,0.25;0.5,0.25,2] [V ,D]=eig(A) 3、 下面是一个线性方程组: ???? ??????=????????????????????52.067.095.06/15/14/15/14/13/14/13/12/1321x x x (1) 求方程的解。 (2) 将方程右边向量元素3b 改为0.53,再求解,并比较3b 的变化和解的相 对变化。 (3) 计算系数矩阵A 的条件数并分析结论。 A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6] B=[0.95,0.67,0.52] X=inv(A)*b c1=cond(A,1) c2=cond(A,2) c3=cond(A,inf) 4、 利用Matlab 提供的randn 函数生成符合正态分布的10×5随机矩阵A,进行 如下操作: (1)A 各列元素的均值和标准方差 (2)A 的最大元素和最小元素 (3)求A 每行元素的和以及全部元素之和 (4)分别对A 的每列元素按升序、每行按降序排列 X=randn(10,5) M=mean(X) D=std(X) m=max(X) n=min(X) P=sum(X,2) sum(p)

matlab实验报告

MATLAB 数学实验报告 指导老师: 班级: 小组成员: 时间:201_/_/_

Matlab第二次实验报告 小组成员: 1题目:实验四,MATLAB选择结构与应用实验 目的:掌握if选择结构与程序流程控制,重点掌握break,return,pause语句的应用。 问题:问题1:验证“哥德巴赫猜想”,即:任何一个正偶数(n>=6)均可表示为两个质数的和。要求编制一个函数程序,输入一个正偶数,返回两个质数的和。 问题分析:由用户输入一个大于6的偶数,由input语句实现。由if判断语句判断是否输入的数据符合条件。再引用质数判断函数来找出两个质数,再向屏幕输出两个质数即可。 编程:function [z1,z2]=gede(n); n=input('please input n')

if n<6 disp('data error'); return end if mod(n,2)==0 for i=2:n/2 k=0; for j=2:sqrt(i) if mod(i,j)==0 k=k+1; end end for j=2:sqrt(n-i) if mod(n-i,j)==0 k=k+1; end end if k==0 fprintf('two numbers are') fprintf('%.0f,%.0f',i,n-i) break end

end end 结果分析: 如上图,用户输入了大于6的偶数返回两个质数5和31,通过不断试验,即可验证哥德巴赫猜想。 纪录:if判断语句与for循环语句联合嵌套使用可使程序结构更加明晰,更快的解决问题。 2题目:实验四,MATLAB选择结构与应用实验 目的:用matlab联系生活实际,解决一些生活中常见的实际问题。

相关文档
最新文档