matlab章课后作业Word格式文档下载.docx
- 文档编号:17521028
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:31
- 大小:509.20KB
matlab章课后作业Word格式文档下载.docx
《matlab章课后作业Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《matlab章课后作业Word格式文档下载.docx(31页珍藏版)》请在冰豆网上搜索。
4.计算如下表达式:
(3-5*i)*(4+2*i)
22.0000-14.0000i
sin(2-8*i)
1.3553e+003+6.2026e+002i
5.判断下面语句的运算结果。
(1)4<
20
(2)4<
=20
(3)4==20
(4)4~=20
(5)'
b'
<
'
B'
4<
20
1
=20
4==20
4~=20
'
6.设a=39,b=58,c=3,d=7判断下面表达式的值。
(1)a>
b
(2)a<
c
(3)a>
b&
&
b>
(4)a==d
(5)a|b>
(6)~~d
a=39,b=58,c=3,d=7
39
58
3
7
a>
a<
a==d
a|b>
~~d
7.编写脚本,计算上面第2题中的表达式。
%计算表达式的值并显示
disp('
sin(60)='
);
disp(sind(60));
exp(3)='
disp(exp(3));
cos(3*pi/4)='
disp(cos(3*pi/4));
8.编写脚本,输出上面第6题中的表达式的值。
a=39;
b=58;
c=3;
d=7;
a>
),disp(a>
b);
a<
c'
),disp(a<
c);
c)
a==d'
),disp(a==d);
a|b>
),disp(a|b>
~~d'
),disp(~~d);
Matlab第三章
1.在命令提示符下输入以下两条命令:
x=[93063]
y=mod((sqrt(length(((x+5).*[12345]))*5)),3)
求y值为多少?
x=
93063
y=
2
2.在MATLAB中运行以下命令:
a=[3,7,2,7,9,3,4,1,6];
b=[7];
a(4)=[];
vec1=a==b;
vec2=mod(a,2)==0;
c=sum(vec1);
vec3=vec1+vec2;
d=vec3.*a;
vec4=find(a>
5);
e=a(vec4)+5;
vec5=find(a<
f=vec5.^2;
求c、d、e、f的值。
c
d
07200406
e
e=
121411
f
f=
19253649
3.向量操作时Matlab的主要部分,使用给出的向量来做下面的练习.
Vec=[4528472642572457432573362533430-65-343]
(1)创建一个新的向量vecR,使其成为vec的转置.
(2)创建一个新的向量vecB,使其成为vec前半部分与后半部分对换的结果.
(3)创建一个新的向量vecS,使其包含vec中所有小于45的元素,且按vec中的顺序排列.
(4)创建一个新的向量vec3R,使其从vec中最后一个元素开始,间隔3个元素取一个元素,直到第一个元素为止.
(5)创建一个新的向量vecN,使其包含vec中所有等于2或4的元素的索引值.
(6)创建一个新的向量vecG,使其包含vec中去掉索引值为奇数且取值为2或4的元素后的所有元素.
vecR=vec'
vecR=
4
5
8
64
57
45
43
6253
-65
-34
vec1=vec(1:
13)
vec1=
4528472642572457
vec2=vec(14:
26)
vec2=
Columns1through8
432573362533
Columns9through13
430-65-34
vecB=[vec2vec1]
vecB=
Columns9through16
430-65-34452
Columns17through24
8472642572
Columns25through26
457
small=vec<
45
small=
Columns1through17
11111110101011111
Columns18through26
110111111
vecS=vec(small)
vecS=
452847222743257333
Columns18through22
vec3R=vec(end:
-3:
1)
vec3R=
-34362537432644
Column9
vecN=find(vec==2|vec==4)
vecN=
13579111522
[value]=vecN(find(mod(vecN,2)))
value=
135791115
vec(value)=0
vec=
050807064
05704574305
73362533430
-65-34
vec(vec==0)=[]
587645745743
57336253343
Columns17through18
vecG=vec
vecG=
4.给定一下3个向量:
nums1=[713532121991024]
nums2=[5414569204548726132109411]
nums3=[441125418477998852315]
编写脚本文件创建相应的3个向量,newNum1、newNum2、newNum3,分别包含以上3个向量中从第一个元素开始且间隔取值的元素。
%取向量索引为奇数的值
clear
clc
nums1=[713532121991024];
nums2=[5414569204548726132109411];
nums3=[441125418477998852315];
x1=find(mod(find(nums1),2)==1);
%向量1
[values1]=nums1(x1);
newNums1=values1;
nums1='
disp(nums1);
newNums1='
disp(newNums1);
x2=find(mod(find(nums2),2)==1);
%向量2
[values2]=nums2(x2);
newNums2=values2;
nums2='
disp(nums2);
newNums2='
disp(newNums2);
x3=find(mod(find(nums3),2)==1);
%向量3
[values3]=nums3(x3);
newNums3=values3;
nums3='
disp(nums3);
newNums3='
disp(newNums3);
Matlab第四章
1.有如下数据:
X
1
1.1
1.2
1.3
1.4
y
1.00000
1.23368
1.55271
1.99372
2.61170
利用本章介绍的几种插值方法对其进行插值,得到每隔0.05的结果。
%4种插值方法
x=[11.11.21.31.4];
%x与y的值
y=[1.000001.233681.552711.993722.61170];
length_of_x=length(x);
scalar_x=[x
(1):
0.05:
x(length_of_x)];
length_of_sx=length(scalar_x);
fori=1:
length_of_sx%定义4种方法
y_nearest(i)=interp1(x,y,scalar_x(i),'
nearest'
y_liner(i)=interp1(x,y,scalar_x(i),'
liner'
y_spline(i)=interp1(x,y,scalar_x(i),'
spline'
y_cubic(i)=interp1(x,y,scalar_x(i),'
cubic'
end
subplot(2,2,1),plot(x,y,'
*'
),holdon,plot(scalar_x,y_nearest),title('
%输出
subplot(2,2,2),plot(x,y,'
),holdon,plot(scalar_x,y_liner),title('
linear'
subplot(2,2,3),plot(x,y,'
),holdon,plot(scalar_x,y_spline),title('
subplot(2,2,4),plot(x,y,'
),holdon,plot(scalar_x,y_cubic),title('
2.2.求下列函数的解,并绘制图形。
(1)y=ex-x5,初始点为x=8.
(2)y=xsin(x)
y=@(x)exp(x)-x^5;
x=fzero(y,8)
12.7132
fplot(y,[10,14]);
holdon
plot(x,y(x),'
r*'
)
y=@(x)x*sin(x);
x=fzero(y,0)
3.求下列函数的极值。
(1)z=x2-(y-1)2
(2)z=(x-y+1)2
z=@(x)x
(1)^2-(x
(2)-1)^2;
[x,fvalue]=fminsearch(z,[-1,1])
Exiting:
Maximumnumberoffunctionevaluationshasbeenexceeded
-increaseMaxFunEvalsoption.
Currentfunctionvalue:
-29278786696692084000000000000000000000000000000000000000000000000000000000000000000000.000000
1.0e+043*
1.11381.2383
fvalue=
-2.9279e+085
z=@(x)(x
(1)-x
(2)+1)^2;
-1.2073-0.2073
1.9045e-022
4.计算下列积分。
f=@(x)x+x.^3+x.^5;
q=quad(f,-1,1)
q=
2.2204e-016
f=@(x,y)sin(y).*(x+y)./(x.^2+4);
q=dblquad(f,1,10,1,10)
5.5254
Matlab第五章
1.编制一个脚本,查找给定字符串中指定字符出现的次数和位置.
%查找给定字符串中指定字符出现的次数和位置
letter='
a'
;
%指定字符
string='
Ihavealongstring'
%给定字符串
places=findstr(string,letter);
%位置
times=length(places);
%次数
placesare:
disp(places);
timesare:
disp(times);
2.编写一个脚本,判断输入字符串中每个单词的首字母是否为大写,若不是则将其修改为大写,其他字母为小写.
%将每个单词首字母变为大写
str='
disp(str);
nlength=length(str);
fork=1:
nlength
if(k==1||isspace(str(k-1)))&
(str(k)<
='
z'
&
str(k)>
str(k)=char(double(str(k))-32);
end
3.创建2×
2单元数组,第1、2个元素为字符串,第三个元素为整型变量,第四个元素为双精度(double)类型,并将其用图形表示.
A=cell(2,2)
A=
[][]
A(1,1)={'
string1'
};
A(1,2)={'
string2'
A(2,1)={uint8(100)};
A(2,2)={double(60)};
cellplot(A)
4.创建一个结构体,用于统计学生的情况,包括学生的姓名、学号、各科成绩等。
然后使用该结构体对一个班级的学生成绩进行管理,如计算总分、平均分、排列名次等.
student=struct('
name'
{'
Ann'
'
Bob'
Cilly'
},'
number'
{1,2,3},'
grade'
{90,60,85})
student=
1x3structarraywithfields:
name
number
grade
student
(1)
ans=
name:
number:
grade:
90
student
(2)
60
student(3)
85
total=student
(1).grade+student
(2).grade+student(3).grade
total=
235
average=total/3
average=
78.3333
[new,index]=sort([student.grade],'
descend'
new=
908560
index=
132
Matlab第六章
1.假设x=[-3,0,0,2,5,8]且y=[-5,-2,0,3,4,10]。
通过手算得到以下运算的结果,并使用MATLAB检验计算的结果。
(1)z=y<
~x
(2)z=x&
(3)z=x|y
(4).z=xor(x,y)
x=[-3,0,0,2,5,8]
-300258
y=[-5,-2,0,3,4,10]
-5-203410
z1=y<
z1=
111000
z2=x&
z2=
100111
z3=x|y
z3=
110111
z4=xor(x,y)
z4=
010000
2.在MATLAB中使用一个循环确定:
如果用户最初在一个银行帐户中存储$10000,并且在每年的年终再存储$10000(银行每年支付6%的利息),那么账户上要积累$1000000要需要多长时间。
%银行存款计算
a=10000;
%本金
b=10000;
%每年新增存款
sum=0;
%存款总和
i=1;
sum=sum+a;
whilesum<
1000000
i=i+1;
sum=sum*(1+0.06)+b;
year='
disp(i)
near=
34
3.某个特定的公司生产和销售高尔夫手推车。
每周周末,公司都将那一周所生产的手推车转移到仓库(库存)之中。
卖出的所有手推车都是从库存中提取。
这个过程的一个简单模型为:
I(k+1)=P(k)+I(k)-S(k)
其中:
P(k)=第k周所生产的手推车数量;
I(k)=第k周库存中的手推车数量;
S(k)=第k周所卖出的手推车数量;
以下为10周计划中的每周销售额;
周
2
3
4
5
6
7
8
9
10
销售额
50
55
60
70
75
80
90
假设每周的产量都基于前一周的销售额,所以有P(k)=S(k-1)。
假设第一周的产量为50辆手推车:
即,P
(1)=50。
编写一个MATLAB程序计算:
10周之内每周库存之中的手推车数量或者计算手推车库存数量减少到0为止的时间,并同时绘制图形。
针对以下两种情况运行该程序:
(1)初始库存为50辆手推车,所以I
(1)=50;
(2)初始库存为30辆手推车,所以I
(1)=30。
s=[50556070707580809055]
s=
50556070707580809055
fori=2:
1:
p(i)=s(i-1);
p
p=
0505560707075808090
l=[50000000000]
l=
50000000000
forn=2:
l(n)=l(n-1)+p(n)-s(n);
l
50454030302520201045
l=[30000000000]
30000000000
3025201010500-1025
库存量
(1)
40
30
库存量
(2)
25
(<
0)
Matlab第七章
1.创建符号表达式f(X)=sinx+x。
f=sym('
sin(x)+x'
2.计算习题1中表达式在
处的值,并将结果设置为以下5种精度:
小数点之后1位、2位、5位、10位和20位有效数字。
digits
(2)
vpa(subs(f,pi/6))
1.0
digits(3)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 课后 作业