matlab练习
MATLAB编程练习(含答案很好的)
001双峰曲线图:
z=peaks(40);
mesh(z);
surf(z)
002解方程:
A=[3,4,-2;6,2,-3;45,5,4];
>> B=[14;4;23];
>> root=inv(A)*B
003傅里叶变换
load mtlb ;
subplot(2,1,1);
plot(mtlb);
>> title('原始语音信息');
>> y=fft(mtlb);
>> subplot(2,1,2);
>> yy=abs(y);
>> plot(yy);
>> title('傅里叶变换')
004输入函数:
a=input('How many apples\n','s')
005输出函数
a=[1 2 3 4 ;5 6 7 8;12 23 34 45;34 435 23 34]
a =
1 2 3 4
5 6 7 8
12 23 34 45
34 435 23 34
disp(a)
a =
1 2 3 4
5 6 7 8
12 23 34 45
34 435 23 34
b=input('how many people\n' ,'s')
how many people
two people
b =
two people
>> disp(b)
two people
>>
006求一元二次方程的根
a=1;b=2;c=3;
d=sqrt(b^2-4*a*c);
x1=(-b+d)/(2*a)
x1 =
-1.0000 + 1.4142i
>> x2=(-b-d)/(2*a)
matlab入门习题答案
matlab入门习题答案
MATLAB入门习题答案
MATLAB是一种强大的数学软件工具,广泛应用于工程、科学和计算领域。它
具有丰富的功能和灵活的编程语言,使得用户可以轻松地进行数据分析、可视化、模拟和算法开发。在学习MATLAB的过程中,习题是一个很好的学习方法,通过练习可以加深对MATLAB的理解和掌握。
下面是一些MATLAB入门习题的答案,希望对初学者有所帮助。
1. 编写一个MATLAB程序,计算1到100之间所有奇数的和。
```matlab
sum = 0;
for i = 1:2:100
sum = sum + i;
end
disp(sum);
```
2. 编写一个MATLAB程序,计算一个矩阵的转置矩阵。
```matlab
A = [1 2 3; 4 5 6; 7 8 9];
B = A';
disp(B);
```
3. 编写一个MATLAB程序,生成一个包含1到10的整数的向量,并计算向量
中所有元素的平均值。
```matlab
vec = 1:10;
avg = mean(vec);
disp(avg);
```
4. 编写一个MATLAB程序,绘制正弦函数的图像。
```matlab
x = 0:0.1:2*pi;
y = sin(x);
plot(x, y);
```
通过以上习题的练习,相信大家对MATLAB的基本语法和功能有了更深入的了解。当然,MATLAB的学习是一个持续的过程,希望大家能够坚持练习,不断提升自己的编程能力。同时,也欢迎大家分享更多的MATLAB习题答案,让我们一起学习进步。
MATLAB上机练习题(一)
MATLAB 上机练习题(一)
1. 计算下式
7
2009/42008/41949222?+-⨯-⨯=
2. 试计算d
3461.1,30,5b d a b c
a b c +=-+===其中
要求只输出d 的值,其他变量的值不输出。
**************************************************************
3. 计算下式:
181(2)sin()cos()6,3
y
x x y π-+-==(,其中 0.1104
2log 805(3)2009
6(4)1,5;
2e
e x x x -⨯+-=其中
4. 完成以上题目后清除工作空间中的所有变量。
**************************************************************
5. 求下列方程的根:
(1)325x x -=
(2)32340x x x -+=
6. 根据课本任意找出4个矩阵在MA TLAB 中输入和输出。
附1:增加的一些常用函数pi:常数
round(x):四舍五入至最近整数
fix(x) :无论正负,舍去小数至最近整数min(x): 向量x的元素的最小值
max(x): 向量x的元素的最大值
diff(x): 向量x的相邻元素的差
length(x): 向量x的元素个数
sin(x):正弦函数
cos(x):余弦函数
tan(x):正切函数
asin(x):反正弦函数
acos(x):反余弦函数
atan(x):反正切函数
MATLAB基础练习题
MATLAB基础练习题
一选择题
1、MATLAB中,下面哪些变量名是合法的?(B)
(A)_num(B)num_(C)num- (D)-num
2、下面属于MATLAB的内部变量的是?(A)
(A)pi(B)none(C)zero(D)exp
3. 在MATLAB中,A是一个字二维数组,要获取A的行数和列数,应该使用的MATLAB的命令是( C )。
(A)class(A)(B)sizeof(A)(C)size(A)(D)isa(A)
4、MATLAB中,要绘制三维空间曲线,应该使用(D)函数。
(A)polar(B)plot(C)subplot(D)plot3
5、MATLAB中,绘制三维曲面图的函数是(A)
(A)surf(B)plot(C)subplot(D)plot3
二填空题
1. 要清除MATLAB工作空间中保存的变量,应该使用clear指令.
2. 二维线图采用plot函数绘制.
3. 在MATLAB中,A = [0:1/2:2]*pi,那么sin(A) = 0 1 0 -1 0 .
4. 在MATLAB中A = 1:5,现在执行如下指令L1 = A>3,则MATLAB的执行结果应该是L1 = 0 0 0 1 1 .
5. 一元多项式p=5x4−2x2+7x,在MATLAB中可以表示为p= [5,0,-2,7,0] .
6. 进行多项式拟合时用roots函数,一维插值时用polyfit函数,二维插值时用polyval函数。
三解答题
1. 在MATLAB中,A=[1,2,3;1,2,3;1,2,3],B=[1,1,1;2,2,2;3,3,3],写出下面MATLAB 语句执行的结果:(1)A.*B (2)A*B
matlab课后习题及答案详解
matlab课后习题及答案详解
第1章练习题
1.安装matlab时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装?在安装matlab时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即matlab选项)必须安装。第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。
2.matlab操作方式桌面存有几个窗口?如何并使某个窗口瓦解桌面沦为单一制窗口?又如何将瓦解过来的窗口再次置放至桌面上?与其他计算机语言相比较,matlab语言注重的特点就是什么?matlab系统由那些部分共同组成?
在matlab操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的close按钮,一个是可以使窗口成为独立窗口的undock按钮,点击undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择dock……菜单项就可以将独立的窗口重新防止的桌面上。
matlab具备功能强大、使用方便、输出简便、库函数多样、开放性弱等特点。
matlab系统主要由开发环境、matlab数学函数库、matlab语言、图形功能和应用程序接口五个部分组成。
3.如何设置当前目录和搜寻路径,在当前目录上的文件和在搜寻路径上的文件存有什么区别?命令历史窗口除了可以观测前面键入的命令外,除了什么用途?
当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的setpath菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被matlab运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。
matlab练习题
练习一:基本操作和简单语句输入
【学习要点】 认识MATLAB 的命令窗口,在命令窗口中输入简单语句,认识
“,”和“;”结束语句的区别,注意变量大小写的区别。
1.打开MATLAB 的命令窗口,键入help general 等帮助命令,
2.键入 demo 演示命令,
6.用who 命令观察工作空间中的变量,用clear 命令清除变量。
7.已知:x=π/4, y=2, 创建矩阵2345sin()9A x y ⎡⎤=⎢⎥⎣⎦
。 8.任意生成一个向量V ,计算V ×V ’和V ’×V 。
注意:三角函数用弧度计算;默认变量ans
matlab基础练习题(带答案)
Matlab基础练习题
常量、变量、表达式
1、MATLAB中,下面哪些变量名是合法的?()
(A)_num (B)num_ (C)num- (D)-num
2、在MATLAB中,要给出一个复数z的模,应该使用()函
数。
(A)mod(z) (B)abs(z) (C)double(z) (D)angle(z)
3、下面属于MATLAB的预定义特殊变量的是?()
(A)eps (B)none (C)zero (D)exp
4、判断:在MATLAB的内存工作区中,存放一个英文字符 'a' 需要占用1个字节,存放一个中文字符‘啊’需要占用2个字节。(错,都是2个字节)
5、判断:MATLAB中,i和j都是虚数单位,它们之间没有什么区别。
(对)
6、判断:MATLAB中,pi代表圆周率,它等于3.14。(错,后面还有很多位小数)
7、在MATLAB中,若想计算的值,那么应该在MATLAB的指令窗中输
入的MATLAB指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。
8、在MATLAB中,a = 1,b = i,则a占_8__个字节,b占_16_个字
节,c占________字节。
9、在MATLAB中,inf的含义是__无穷大__,nan的含义是__非数(结
果不定)___。
数组
1、在MATLAB中,X是一个一维数值数组,现在要把数组X中的所有
元素按原来次序的逆序排列输出,应该使用下面的()指令。
(A)X[end:1] (B)X[end:-1:1] (C)X (end:-1:1) (D)X(end:1) 2、在MATLAB中,A是一个字二维数组,要获取A的行数和列数,应
matlab练习
《数学实验》在线习题1
一、单项选择题(将选择答案写在答题纸上,每小题2分共20分)
1.在MA TLAB 命令窗口中键入命令,Vname=prod(7:9)/prod(1:3),可计算组合数
!6!3!
939⨯=
C ,
如果省略了变量名Vname ,MA TLAB 表现计算结果将用下面的哪一变量名做缺省变量名A
A )ans ;
B )pi ;
C )NaN ;
D )eps
2.宝石切割问题中,石料左右长度、前后长度、上下高度分别为a 1、a 2、a 3,即a 1×a 2×a 3(cm 3),而精品尺寸为b 1×b 2×b 3(cm 3)。操作时,同向切割连续两次再旋转刀具。某一切割方案的切割面积依次为:2a 1a 2→ 2a 1b 3 → 2b 2b 3,则这一切割方案为B
A )左右→前后→上下;
B )上下→前后→左右;
C )前后→上下→左右;
D )前后→ 左右→上下 3.机场指挥塔位置:北纬30度35.343分,东经104度2.441分,在MA TLAB 中用变量B=[30 35.343]表达纬度,L=[104 2.441]表达经度。将数据转化为以度为单位的实数,下面正确的语句是
A ) =B(1)+B(2)/60,Q=L(1)+L(2); B) P = 60*B(1) + B(2),Q=60*L(1)+L(2) C ) P = B(1) + B(2)/60,Q=L(1)+L(2)/60; D) P=B(1)+B(2),Q=L(1)+ L(2);。 4.用MA TLA
B 随机产生60个1到365之间的正整数,应该使用下面的哪一条命令A
matlab练习一、二答案
练习一答案
1、一个三位整数各位数字的立方和等于该数本身,则称该数为水仙花数。试编写程序找到,并输出全部水仙花数。
for n=100:999
a=floor(n/100);
b=floor(rem(n,100)/10);
c=rem(n,10);
if n==a^3+b^3+c^3
s=n
end
end
2、若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6 是完数。求
[1 500]之间的全部完数。
for i=2:500
s=1;
for j=2:(i-1)
if (rem(i,j)==0)
s=s+j;
end
end
if s==i
s
end
end
3、写一个函数pifun 计算下列级数:
F(n)=4*(1-1/3+1/5-1/7+...)
并使用tic 和toc 指令来测量pifun(1000000)的计算时间。
n=input('请输入n值:');
tic;
f=0;
for i=1:n
f=f+4*((-1)^(i+1))/(2*i-1) ;
end
f
toc
4、输入一个百分制成绩,要求输出成绩等级为A~E,即90~100 为A,80~89 为B,70~79为C,60~69 为D,60 以下为E。
m=input('请输入一个百分制成绩:');
m=floor(m/10);
switch m
case {10,9}
disp('A');
case 8
disp('B');
case 7
disp('C');
case 6
disp('D');
disp('E');
otherwise
disp('E');
end
5、输入x,y 的值,并将它们的值互换后输出。
matlab基础练习题(带答案)
Matlab基础练习题
常量、变量、表达式
1、MATLAB中,下面哪些变量名是合法的?()
(A)_num (B)num_ (C)num- (D)-num
2、在MATLAB中,要给出一个复数z的模,应该使用()函
数。
(A)mod(z) (B)abs(z) (C)double(z) (D)angle(z)
3、下面属于MATLAB的预定义特殊变量的是?()
(A)eps (B)none (C)zero (D)exp
4、判断:在MATLAB的内存工作区中,存放一个英文字符 'a' 需要占用1个字节,存放一个中文字符‘啊’需要占用2个字节。(错,都是2个字节)
5、判断:MATLAB中,i和j都是虚数单位,它们之间没有什么区别。
(对)
6、判断:MATLAB中,pi代表圆周率,它等于3.14。(错,后面还有很多位小数)
7、在MATLAB中,若想计算的值,那么应该在MATLAB的指令窗中输
入的MATLAB指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。
8、在MATLAB中,a = 1,b = i,则a占_8__个字节,b占_16_个字
节,c占________字节。
9、在MATLAB中,inf的含义是__无穷大__,nan的含义是__非数(结
果不定)___。
数组
1、在MATLAB中,X是一个一维数值数组,现在要把数组X中的所有
元素按原来次序的逆序排列输出,应该使用下面的()指令。
(A)X[end:1] (B)X[end:-1:1] (C)X (end:-1:1) (D)X(end:1) 2、在MATLAB中,A是一个字二维数组,要获取A的行数和列数,应
matlab练习题答案
matlab练习题答案
一、求解线性方程组
题目描述:解以下线性方程组
2x + 3y - z = 7
x - y + 2z = 3
3x + 2y + 4z = 12
解答:
使用MATLAB的线性方程组求解函数linsolve,可以得到该线性方程组的解。代码如下:
A = [2, 3, -1; 1, -1, 2; 3, 2, 4];
B = [7; 3; 12];
X = linsolve(A, B);
其中,A为系数矩阵,B为常数矩阵,X为方程组的解矩阵。
运行以上代码,即可得到方程组的解为:
X =
2.0000
-1.0000
3.0000
所以,该线性方程组的解为x=2,y=-1,z=3。
二、矩阵运算
题目描述:计算矩阵A和矩阵B的乘积,其中A为3×2矩阵,B
为2×4矩阵。
A = [1, 2; 3, 4; 5, 6];
B = [7, 8, 9, 10; 11, 12, 13, 14];
解答:
使用MATLAB的矩阵乘法运算符*,可以计算矩阵A和矩阵B的乘积。代码如下:
A = [1, 2; 3, 4; 5, 6];
B = [7, 8, 9, 10; 11, 12, 13, 14];
C = A * B;
运行以上代码,即可得到矩阵A和矩阵B的乘积矩阵C。
C =
29 32 35 38
65 72 79 86
101 112 123 134
所以,矩阵A和矩阵B的乘积为一个3×4矩阵C,其中C的元素为上述结果。
三、绘制函数图像
题目描述:绘制函数y = sin(x)在区间[0, 2π]上的图像。
解答:
使用MATLAB的绘图函数plot,可以绘制函数的图像。代码如下:x = linspace(0, 2*pi, 100);
Matlab练习题
Matlab练习题
Matlab练习题
1已知矩阵11 12 13 14
21 22 23 24
A= 31 32 33 34
41 42 43 44
(1)A(:,1) (2) A(2,:) (3) A(:,2:3)
(4) A(2:3,2:3) (5) A(:,1:2:3) (6) A(2:3)
(7) A(:) (8) A(:,:) (9) ones(2,2)
(10) eye(2) (11) [A,[ones(2,2);eye(2)]]
(12) diag(A) (13) diag(A,1) (14) diag(A,-1)
(15) diag(A,2)
2
(1)输⼊如下矩阵A
0π/3
A=π/6 π/2
(2) 求矩阵B1,B1中每⼀元素为对应矩阵A中每⼀元素的正弦函数
(3) 求矩阵B2, B2中每⼀元素为对应矩阵A中每⼀元素的余弦函数
(4) 求B12+B22
(5) 求矩阵A的特征值与特征⽮量:称特征⽮量为M,⽽特征值矩阵为L
(6) 求Msin(L)M-1
(7)使⽤funm命令求矩阵A的正弦函数(结果应该与(6)同)
(8)求cosA
(9) 证明sin2A+cos2A=I
3 按题⽬要求⽤MATLAB命令完成下列矩阵运算
(1) 使⽤rand命令产⽣5个2x2随机矩阵A,B,C,D,E
(2) 求矩阵F(使⽤和不使⽤inv命令两种情况) F=A-1[B+C-1(D-1E)]
4 ⼿算和上机分别求
A.*B‘ A.\B‘ A‘.\B
其中A=[1;1;1] B=[2,3,4]
5 已知A=[2 7 6;9 0 –10;3 0.5 6]; B=[8 0.2 0;3 2 5;4 0 7];求
MATLAB平时练习题(附答案)
一、填空题
1、MATLAB常用操作界面包括、工作空间窗口、、、内存数组编辑器、M文件编辑/调试器、帮助导航
/浏览器、图形窗口等。
2、MATLAB中Inf或inf表示、NaN或nan表示、nargout表示。
3、MATLAB中逗号主要用作;用作输入量与输入量之间的分隔符;。
4、工作空间浏览器主要用于内存变量的、和。
5、MATLAB实现将全下标转换为单下标的指令为、据单下标换算出全下标的指令为。
6、二维数组的标识有、、“逻辑1”标识。
二、简述下列命令在MATLAB中的作用
1.clf %清除图对象
clear %清除工作空间内的所有变量
clc %清除当前屏幕上显示的所有内容,但不清除工作空间中的数据
2.ceil %沿+∞方向取整
factor %符号计算的因式分解
3.sph2cart %球坐标变为直角坐标
pow2 %2的幂
4.digits(d) %设置当前的可变算术精度的位数为整数 d 位
vpa(pi,100) %设置当前pi的小数位数为100
5.box on %打开框状坐标轴开
grid off %网格关
6.logspace %对数分度向量
cat %串接成高维数组
7.sym2poly %符号多项式转变为双精度多项式系数向量
poly2sym %双精度多项式系数转变为向量符号多项式
8.plot3 %三维线图
poly2str %以习惯方式显示多项式
9.bar %二维直方图
pie %二维饼图
10.zoom on %打开图形缩放模式 edit %M文件编辑
11.whos %对当前工作空间变量的信息进行列表
MATLAB练习
MATLAB 培训练习
1. 计算1
1
lim
,
lim x x
x x e e +
-→→
2.
机算1022
10log ,log ,
ln 4,
3.
42
2
2y x t x t =+,求2
3
2,,,y y y y x t x t x t
∂∂∂∂∂∂∂∂∂∂
4. 1)用ezplot 命令作出2
2
2
2
4,
12
4
x
y
x
y -=+
=的图形
>> ezplot('x^2-y^2/4=1')
2)在同一坐标轴上作出2
2
1
2sin cos ,sin(3)cos (3),[,]y x x y x x x ππ=⋅=+⋅+∈-的图
形,给出坐标轴与曲线标注。
x=[-pi:0.1:pi]; y1=sin(x).*cos(x.^2);
y2=sin(x+3).*cos((x+3).^2);plot(x,y1,'rd-',x,y2,'go:'); legend('y_1=sin(x)cos(x^2)','y_2=sin(x+3)cos((x+3)^2)'); xlabel('x'); ylabel('y')
5.
用solve
命令解方程组2
2
2
2
41
32
x y x y ⎧-=⎨+=⎩
>>syms x y
A=solve('x^2-4y^2=1','x^2+3y^2=2') 6. 求下列联立方程的解
程序
A=[3,4,-7,-12;5,-7,4,2;1,0,8,-5;-6,5,-2,10];
B=[4;-3;9;-8]; X=A\B 解:X = -1.4841
34712457423859
652108
x y z w x y z w x z w x y z w +--=-++=-+-=-+-+=-
MATLAB练习题和答案
MATLAB练习题和答案
MATLAB练习题和答案
控制系统仿真实验Matlab部分实验结果
⽬录
实验⼀MATLAB基本操作 (1)
实验⼆Matlab编程 (8)
实验三Matlab底层图形控制 (10)
实验四控制系统古典分析 (23)
实验五控制系统现代分析 (28)
实验六PID控制器的设计 (35)
实验七系统状态空间设计 (40)
实验九直流双闭环调速系统仿真 (44)
实验⼀ MATLAB 基本操作
1 ⽤MATLAB 可以识别的格式输⼊下⾯两个矩阵
123323571
35732391
894A ??
=??
144367
8233554226753421
89543i
i B i +??
+?
=
+?
再求出它们的乘积矩阵C ,并将C 矩阵的右下⾓2×3⼦矩阵赋给D 矩阵。赋值完成后,调⽤相应的命令查看MATLAB ⼯作空间的占⽤情况。
A=[1,2,3,3;2,3,5,7;1,3,5,7;3,2,3,9;1,8,9,4];
B=[1+4i,4,3,6,7,8;2,3,3,5,5,4+2i;2,6+7i,5,3,4,2;1,8,9,5,4,3]; C=A*B;
D=C(4:5,4:6); whos
Name Size Bytes Class Attributes
A 5x4 160 double
B 4x6 384 double
complex
C 5x6 480 double complex
D 2x3 96 double complex
2 选择合适的步距绘制出下⾯的图形
(,)
t∈-
sin(/)t,其中11
1
t=[-1:0.1:1];
matlab 练习3
上机练习(三)
1. 用Matlab 语言完成下列问题 (1) 已知矩阵
41220
123
12
4578 =45
6
20
78
90
789
⎡⎤⎡⎤⎢
⎥⎢⎥
=⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦A B 运用相关运算指令,回答下列问题
(a) 5*-1
'+-+A B I A ΑΒ和分别是多少?(其中I 为3×3矩阵) (b) 3
3
.B B 和的结果是多少?它们是否相同?为什么?
解:
(a) A=[4 12 20;12 45 78;20 78 90];
B=[1 2 3;4 5 6;7 8 9]; I=eye(3); J=inv(A); A+5*B-I A'+J*B ans =
8 22 35 32 69 108 55 118 134 ans =
3.9167 12.8333 21.7500 12.1111 4
4.8889 77.6667 20.0000 78.0000 90.0000
(b)B=[1 2 3;4 5 6;7 8 9]; B^3 B.^3 ans =
468 576 684 1062 1305 1548 1656 2034 2412
1 8 27 64 125 216 343 51
2 729
前者:3个矩阵相乘。后者:矩阵里每元素三次方。
(2) 分别用for 和while 循环结构编写程序,求出
5
1
, i
i =⎡⎤
=
⎢
⎥⎣⎦
∑
B A A 12其中=21的结果,并写出源程序。 解:
A=[1 2;2 1]; sum1=0;
for i=1:5
sum1=sum1+A^i; end sum1
i=1; sum2=0; while i<=5
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
%把数字矩阵转化为单元矩阵
1 1 1 + +"+ ,当 n=100 时,求 y 的值. 3 5 2n − 1
程序如下: y=0;n=100; for i=1:100 y=y+1/(2*i-1); end y 29. while 语句 鸡兔同笼问题:计算笼子中动物的数量及脚的数量,求鸡兔各多少?(36,100) 程序如下: t=input('输入个数: '); j=input('输入脚数: '); i=1; while i if rem(j-i*2,4)==0& (i+(j-i*2)/4)==t break; % 终止循环 end i=i+1; end x=i, y=(j-i*2)/4 30. break 语句和 continuous 语句 求【100,200】之间第一个背 21 整除的整数。 for n=100:200 if rem(n,21)~=0 continue %跳过循环体中下面尚未执行的语句,接着执行下一次循环. end break end n 31. 函数文件: 另一种形式的 M 文件. function 输出形参表=函数名(输入形参表) 函数文件的建立:chap3_li6.m
2(1 + 0.34245 × 10−6 )
b+c
w=sqrt(2)*(1+0.34245e-6) 2) x =
2π a +
π + abc tan(b + c ) + a
Fra Baidu bibliotek− e2
, 其中a = 3.5, b = 5, c = −9.8
a=3.5;b=5;c=-9.8; x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/(tan(b+c)+a) 3) 2π a 2 ⎜ 1 − ⎢
⎡⎛ ⎣⎝
π 4
π ⎞ ⎛ ⎟ b − ⎜ 0.8333 − 4 ⎠ ⎝
⎞ ⎤ ⎟ a ⎥ , 其中a = 3.32, b = −7, 9 ⎠ ⎦
a=3.32; b=-7.9; y=2*pi*a^2*((1-pi/4)*b-(0.8333-pi/4)*a)
Matlab 程序设计
22. M 文件:命令文件和函数文件 命令文件可以直接运行,在 Matlab 命令窗口输入命令文件的名字,就会执行命令文件中的 命令。 函数文件不能直接运行,而要用函数调用的方式运行. 1) 建立命令文件 exp_1.m 3 中方式建立 M 文件 菜单操作,命令操作(edit), 工具栏操 作. t=0:pi/50:4*pi; y0=exp(-t/3); y=exp(-t/3).*sin(3*t); plot(t,y,'r',t,y0,':b',t,-y0,':b') 建立命令文件 f2c.m clear; %清楚工作空间中的变量 f=input('Input Fahrenheit temperature:'); %稍后解释‘input’ c=5*(f-32)/9 保存为 f2c.m, 命令窗口中输入 f2c……….输入 73 命令 whos 查看工作空间中的变量,c,f 保留在工作空间中 建立函数文件 f2c1.m function c=f2c(f) c=5*(f-32)/9 在命令窗口中调用该函数: clear; y=input('Input Fahrenheit temperture:'); x=f2c1(y) 输入 70 whos c,f 未被保留在工作空间中,而 x,y 保留在工作空间中.
function [x,y]=chap3_li6(t,j) i=1; while i if rem(j-i*2,4)==0& (i+(j-i*2)/4)==t break; end i=i+1; end x=i;y=(j-i*2)/4;
运行结果为: >> [x,y]=chap3_li6(36,100) 练习 32. (P81) 从键盘输入一个 3 为整数,将它方向输出. 程序如下: t=input('请输入 3 位整数: '); a=fix(t/100); b=fix((t-a*100)/10); c=t-a*100-b*10; f=c*100+b*10+a; disp(f) 33. (P80)输入一个百分成绩,要求输出成绩等级 A,B,C,D,E. 其中 90~100 分为 A,80~89 分 为 B, 70~79 分为 C,60~69 分为 D,60 分以下为 E. 要求: (1): 分别用 if 语句和 switch 语句实现. (2): 输入百分制成绩后判断该成绩的合理性,对不合理的成绩输出出错信息. if 语句 t=input('请输入一个百分制成绩:'); if t<=100&t>=90 s='A'; elseif t<90&t>=80 %容易出错 s='B'; elseif t<80&t>=70 s='C'; elseif t<70&t>=60 s='D'; else t<60 s='E'; end disp(s) swith 语句 t=input('请输入一个百分制成绩:'); switch t case num2cell(90:100) s='A'; case num2cell(80:89) s='B'; case num2cell(70:79) s='C';
初识 Matlab:
1. x=[0:0.5:360]*pi/180; plot(x,sin(x),x,cos(x)); 2. p=[3,7,9,0,-23]; x=roots(p) 3. B=[1,2,3; 4,5,6;7,8,9] 4. a=2.7; b=13/25; c=[1,2*a+i*b, b*sqrt(a);sin(pi/4), a+5*b, 3.5+1] 5. x=linspace(1,5,10) 6. x=0:pi/10:22*pi; y=sin(x) %在工作空间中选择 y,绘制 y 的图形. 7. x=1+2i;y=3-sqrt(17); z=cos(abs(x+y)) 8. save me x y >> load me >> x+y 9. 建立M文件:mymatrix.m mymat=[101,102,103,104;105,106,107,108] x=linspace(1,5,10) mymat([1,2], end) mymat([1],2:end) mymat(:, 1:3:5) mymat(:, 1:3:4) mymat(:, [1,3,4]) 10. zeros(3) 11. A=[1,2,3;4,5,6]; 12. zeros(size(A)) 13. x=20+(50-20)*rand(5) 14. y=0.6+sqrt(0.1)*randn(5) 15. M=100+magic(5) %魔方矩阵 16. A=vander([2;4;6]) %范德蒙矩阵 17. x=0.1:0.3:1; y=sin(x).*cos(x) 18. A=fix(10+(90-10)*rand(5)) 19. A=[1,2,3;1,4,9;1,8,27]; b=[5,-2,6]'; % b 转置 x=inv(A)*b det(A) rank(A) trace(A) [V,D]=eig(A) % D 特征值构成的对角阵;V 相应特征向量构成的矩阵. 20. xm='University of Science and Technology Beijing' 21. 输出表达式的值:1) w =
⎧ x+ π , ⎪ ⎪ e2 ⎨ ⎪ 1 ln( x + 1 + x 2 ), ⎪ ⎩2
x≤0 x>0
程序如下: x=input('请输入 x 的值: ') if x<=0 y=(x+sqrt(pi))/exp(2); else y=log(x+sqrt(1+x*x))/2; y 26 输入一个字符,若为大写字母,则输出对应的小写字母;若为小写字母,则输出对应的 大写字母;若为数字字符则输出其对应的数值,若为其他字符则原样输出. 程序如下 c=input('请输入一个字符','s'); if c>='A'& c<='Z' disp(setstr(abs(c)+abs('a')-abs('A'))); elseif c>='a' &c<='z' disp(setstr(abs(c)-abs('a')+abs('A'))); elseif c>='0' & c<='9' disp(abs(c)-abs('0')); else disp(c); end 27. switch 语句 某商场对顾客所购买的商品实行打折销售,标准如下 price<200 没有折扣 200<=price<500 3%折扣 500<=price<1000 5%折扣 1000<=price<2500 8%折扣 2500<=price<5000 10%折扣 5000<price 14%折扣 输入所售商品的价格,求其实际销售价格. 程序如下: price=input('请输入商品的价格:'); switch fix(price/100) case {0,1} rate=0;
case num2cell(60:69) s='D'; otherwise s='E'; end disp(s) 判断成绩的合理性:不会 34.(P80)请输入 20 个数,求其中最大数和最小数。要求分别用循环结构和调用 Matlab 的 Max 函数、min 函数来实现.(不会) 程序如下: a=input('请输入 20 个数的向量:'); t=a(1,1);s=a(1,1); for i=1:20 if t>=a(1,i); t=a(1,i); end end for i=1:20 if s<=a(1,i); s=a(1,i); end end t s 35. (P81)编写程序,定义向量 N=[1,2,3,4,5], 然后利用向量 N 产生下列向量: (1) 2,4,6,8,10 (2) 1/2,1,3/2,2,5/2 (3) 1,1/2,1/3,1/4,1/5 (4) 1,1/4,1/9,1/16,1/25 程序如下 (2) (3) (4) (1) N=[1,2,3,4,5]; syms b N=[1,2,3,4,5]; syms b N=[1,2,3,4,5]; syms b N=[1,2,3,4,5]; for i=1:5 for i=1:5 for i=1:5 for i=1:5 b(1,i)=1/N(1,i); b(1,i)=1/(N(1,i)^2); b(1,i)=2*N(1,i); b(1,i)=N(1,i)/2; end end end end disp(b) disp(b) disp(b) disp(b) 36 (P81)编写程序,产生 20 个两位随机整数,输出其中小于平均值得偶数. 程序如下; A=fix(89*rand(1,20)+10) t=0; for i=1:20 t=t+A(1,i); end
程序设计
23. (数据的输入,输出). 输入 x,y 的值,并将它们的值互换后输出 程序如下: x=input('Input x please.'); y=input('Input y please.'); z=x;x=y;y=z;disp(x);disp(y) 输入 x 值:[12,3,3;43,6,3],y 值:1:8 24. 求一元二次方程 ax 2 + bx + c = 0 的根.
a=input('a=?'); b=input('b=?'); c=input('c=?');d=b*b-4*a*c; x=[(-b-sqrt(d))/(2*a), (-b+sqrt(d))/(2*a)]; disp(['x1=',num2str(x(1)), ',x2=',num2str(x(2))]) 25.if 语言
case{2,3,4} rate=3/100; case num2cell(5:9) rate=5/100; case num2cell(10:24) rate=8/100; case num2cell(25:49) rate=10/100; otherwise rate=14/100; end price=price*(1-rate) 28. 已知 y = 1 +