标签:user alc src 增加 计算 建立 等级 tla UNC
# matlab实验 |
---|
## 第一次课实验题目 |
### 第1题 |
计算如下表达式: |
(1) |
(2) |
(3) |
(4) |
### 第2题 |
求出下式中矩阵z的值: |
,其中 |
### 第3题 |
已知, |
1) 取出*A**的第2、4、8、12、10、9个元素构成一个新的矩阵*A***1*,其中*A*****的第2、4个元素构成新矩阵的第一行,第8、12个元素构成新矩阵的第二行,第10、9个元素构成新矩阵的第三行; |
2) 将*A***1*的所有元素构成一个行向量*A*****2*。 |
### 第4题 |
已知, |
取出*A**的前三行构成矩阵*B**,其前两列构成矩阵*C*,其右下角的3×2子矩阵构成矩阵*D*,*B*与*C*的乘积构成*E***,分别给出各个矩阵。 |
### 第5题 |
已知![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps19.png),![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps20.png),求下列表达式的值: |
1) ![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps21.png)、![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps22.png)(其中I为单位阵); |
2) ![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps23.png)、![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps24.png)、![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps25.png)、![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps26.png); |
3) ![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps27.png)、![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps28.png)、![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps29.png)、![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps30.png); |
(1)![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps31.jpg) |
![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps32.jpg) |
(2) ![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps33.jpg) |
![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps34.jpg) |
![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps35.jpg) |
![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps36.jpg) |
(3) ![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps37.jpg) |
### 第6题 |
产生均值为3,方差为1的5阶正态分布的随机方阵。 |
![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps39.png) |
![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps40.jpg) |
### 第7题 |
求解下列联立方程的解: |
![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps41.png) |
![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps42.jpg) |
### 第8题 |
建立一个字符串向量,要求字符串向量中至少包含自己的姓名和生日,姓名中首字母均为大写,其余字母没有要求。 |
(1) 随机取 2~6 个字符组成子字符串。 |
![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps43.jpg) |
(2) 分别取第偶数个字符组成子字符串1,取第奇数个字符组成子字符串2,比较两个字符串的异同。 |
![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps44.jpg) |
#### 修改 |
```matlab |
str1=str(round(int8(rand(1,int8(rand(1,1)4+2))11+1))) |
``` |
(3) 取出里面的数字并转化为数值,然后求和。(选做) |
![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps45.jpg) |
(4) 去掉字符串中的数字字符。(选做) |
![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps46.jpg) |
(5)将字符串按照倒序重新排列。 |
![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps47.jpg) |
(5) 将字符串中的小写字母变成大写字母,其他不变。(选做) |
(6) ![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps48.jpg) |
(7)统计字符串中消息字母的个数。(即字符串中的空格不算在内) |
![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps49.jpg) |
### 第9题 |
逆公式。 |
使用符号计算的方法得到3阶方阵的矩阵求逆公式。 |
![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps51.jpg) |
ans = |
[ (a22a33 - a23a32)/(a12a21a32 - a12a22a31 + a11a22a33 - a11a23a32 - a12a21a33 + a12a23a31), (a12a32 - a12a33)/(a12a21a32 - a12a22a31 + a11a22a33 - a11a23a32 - a12a21a33 + a12a23a31), -(a12a22 - a12a23)/(a12a21a32 - a12a22a31 + a11a22a33 - a11a23a32 - a12a21a33 + a12a23a31)] |
[ -(a21a33 - a23a31)/(a12a21a32 - a12a22a31 + a11a22a33 - a11a23a32 - a12a21a33 + a12a23a31), -(a12a31 - a11a33)/(a12a21a32 - a12a22a31 + a11a22a33 - a11a23a32 - a12a21a33 + a12a23a31), (a12a21 - a11a23)/(a12a21a32 - a12a22a31 + a11a22a33 - a11a23a32 - a12a21a33 + a12a23a31)] |
[ (a21a32 - a22a31)/(a12a21a32 - a12a22a31 + a11a22a33 - a11a23a32 - a12a21a33 + a12a23a31), -(a11a32 - a12a31)/(a12a21a32 - a12a22a31 + a11a22a33 - a11a23a32 - a12a21a33 + a12a23a31), (a11a22 - a12a21)/(a12a21a32 - a12a22a31 + a11a22a33 - a11a23a32 - a12a21a33 + a12a23a31)] |
### 第10题 |
用符号计算指令symsum求1+x+x2+...+xk的求和公式。 |
(使用F1获得帮助文件,学习symsum的用法) |
![img](file:///C:\Users\雨曦\AppData\Local\Temp\ksohtml20212\wps52.jpg) |
## 第二次课实验题目 |
### 第一题 |
```matlab |
prompt1=‘一元二次方程根求解\nPlease input a\n‘; |
a=input(prompt1); |
prompt2=‘Please input b\n‘; |
b=input(prompt2); |
prompt3=‘Please input c\n‘; |
c=input(prompt3); |
solve_equation(a,b,c); |
function [x1,x2]=solve_equation(a,b,c) |
delt=b^2-4ac; |
if delt<0 |
disp(‘There is no answer!‘) |
elseif delt==0 |
disp(‘There is only one answer!‘) |
x1=-b/(2*a);x2=x1; |
ans=[x1,x2] |
else |
disp(‘There are two answers!‘) |
x1=(-b+sqrt(delt))/(2*a); |
x2=(-b-sqrt(delt))/(2*a); |
ans=[x1,x2] |
end |
end |
``` |
### 第二题 |
```matlab |
disp(‘This program calculates the day of year given the‘); |
disp(‘current date.‘); |
month=input(‘Enter current month(1-12)??; |
day=input(‘Enter current day(1-31)??; |
year=input(‘Enter current year(yyyy)??; |
%未进行错误检验,太麻烦懒得写 |
if mod(year,400)==0 |
leap_day=1; |
elseif mod(year,100)==0 |
leap_day=0; |
elseif mod(year,4)==0 |
leap_day=1; |
else |
leap_day=0; |
end |
if leap_day==1 |
disp("It‘s leap year"); |
end |
day_of_year=day; |
for ii=1:month-1 |
switch(ii) |
case{1,3,5,7,8,10,12},day_of_year=day_of_year+31; |
case{4,6,9,11}, day_of_year=day_of_year+30; |
case 2, day_of_year=day_of_year+28+leap_day; |
end |
end |
fprintf(‘The date%2d/%2d/%4d is %d day of year.\n‘,month,day,year,day_of_year); |
``` |
### 第三题 |
```matlab |
prompt1=‘找素数\n起点:‘; |
m=input(prompt1); |
prompt2=‘终点:‘; |
n=input(prompt2); |
solve_prime(m,n) |
function [B]=solve_prime(m,n) |
%找到从起点到终点之间的所有素数 |
A=ones([1,n]); |
A(1)=0; |
B=[]; |
for i=2:n |
if i^i>n |
break; |
end |
for j=i:i:n |
A(j)=0; |
end |
end |
for i=m:n |
if A(i)==1 |
B=[B i]; |
end |
end |
end |
``` |
#### 优化 |
``` |
prompt1=‘找素数\n起点:‘; |
m=input(prompt1); |
prompt2=‘终点:‘; |
n=input(prompt2); |
solve_prime(m,n) |
function [B]=solve_prime(m,n) |
%找到从起点到终点之间的所有素数 |
A=ones([1,n]); |
A(1)=0; |
B=[]; |
for i=2:m |
if i^i>n |
break; |
end |
if A(i)==1 |
for j=i:i:n |
A(j)=0; |
end |
end |
end |
for i=m:n |
if A(i)==1 |
B=[B i]; |
end |
end |
end |
``` |
### 第四题 |
```matlab |
prompt1=‘转换成绩等级\n输入成绩\n‘; |
a=input(prompt1); |
solve_grade_if(a) |
solve_grade_switch(a) |
function []=solve_grade_if(a) |
%转换成绩等级 |
if a>=90&a<=100 |
disp("优秀"); |
elseif a>=80&a<=89 |
disp("良好"); |
elseif a>=70&a<=79 |
disp("中等"); |
elseif a>=60&a<=69 |
disp("及格"); |
elseif a<60 |
disp("不及格"); |
end |
end |
function []=solve_grade_switch(a) |
%转换成绩等级 |
a=floor(a/10); |
switch(a) |
case{9,10},disp("优秀"); |
case{0,1,2,3,4,5}, disp("不及格"); |
case 8, disp("良好"); |
case 7, disp("中等"); |
case 6, disp("及格"); |
end |
end |
``` |
### 第五题 |
```matlab |
prompt1=‘麦克劳林展开\n输入x:\n‘; |
x=input(prompt1); |
prompt2=‘输入n:\n‘; |
n=input(prompt2); |
fprintf(‘麦克劳林展开:%s‘,solve_function(x,n)); |
disp(‘\n‘) |
fprintf("ln(1+x):%s",solve_ln(x)); |
disp(‘\n‘) |
fprintf("差值:%s",abs(solve_function(x,n)-solve_ln(x))); |
disp(‘\n‘) |
function [ans]=solve_function(x,n) |
ans=0; |
for i=1:n |
ans=ans+(-1)(i+1)*x(i)/i; |
end |
end |
function [ans]=solve_ln(x) |
ans=log(1+x); |
end |
``` |
### 第六题 |
```matlab |
P=input(‘向量‘); |
N=P; |
if length(size(P))~=2 |
disp(‘参数必须为向量.‘); |
else |
for i=1:length(P) |
for j=2:length(P) |
if N(j-1)>N(j) |
Q=N(j-1); |
N(j-1)=N(j); |
N(j)=Q; |
end |
end |
end |
end |
N |
``` |
#### 优化 |
```matlab |
P=input(‘向量‘); |
N=P; |
if length(size(P))~=2 |
disp(‘参数必须为向量.‘); |
else |
for i=1:length(P) |
flag=1;%增加flag位,当一次冒泡不再交换时跳出 |
for j=2:length(P) |
if N(j-1)>N(j) |
Q=N(j-1); |
N(j-1)=N(j); |
N(j)=Q; |
flag=0; |
end |
end |
if flag==1 |
break |
end |
end |
end |
N |
``` |
标签:user alc src 增加 计算 建立 等级 tla UNC
原文地址:https://www.cnblogs.com/huoguoyuxi/p/14496333.html