数学模型与数学建模(急救版80+)常考知识点(一)

Matlab

常考

1.重点基础

clear: 清除内存里的数据   clc:清屏

变量名的第一个字符必须是字母,后面可加字母、数字和下划线的任意组合;变量名有大小区分

>> A=[1,-2,5,6,-4,9]

A =

     1    -2     5     6    -4     9

>> A=[1,-2,5;6,-4,9]

A =

     1    -2     5

     6    -4     9

>> A=[1,-2;5,6;-4,9]

A =

     1    -2

     5     6

    -4     9

【注】易错

求AX=B:即A\B(A左除B)  inv(A)*B

求XA=B:即B/A(A右除B)  B*inv(A)

数学模型与数学建模(急救版80+)常考知识点(一)_第1张图片

数学模型与数学建模(急救版80+)常考知识点(一)_第2张图片

数学模型与数学建模(急救版80+)常考知识点(一)_第3张图片

数学模型与数学建模(急救版80+)常考知识点(一)_第4张图片

数学模型与数学建模(急救版80+)常考知识点(一)_第5张图片


题一:求方程 x4+7x3 +9x-20=0的全部根。

>>p=[1,7,0,9,-20];
>>x=roots(p);
x =
  -7.2254 + 0.0000i
  -0.4286 + 1.5405i
  -0.4286 - 1.5405i
  1.0826 + 0.0000i

数学模型与数学建模(急救版80+)常考知识点(一)_第6张图片

数学模型与数学建模(急救版80+)常考知识点(一)_第7张图片

数学模型与数学建模(急救版80+)常考知识点(一)_第8张图片

数学模型与数学建模(急救版80+)常考知识点(一)_第9张图片

 


2.选择结构

选择结构的语句有if语句和switch语句。

1. if语句

格式一:  if 条件

          语句组

           End

格式二:   if 条件

           语句组1

           else

           语句组2

           end

格式三:  if  条件1

          语句组1

          elseif  条件2

          语句组2

          ……

          elseif  条件m

          语句组m

          else

          语句组m+1

          End

数学模型与数学建模(急救版80+)常考知识点(一)_第10张图片

题二:编写函数文件求小于任意自然数n的Fibonacci数列各项。

 首先:建立名为ffib的m文件:

function f=ffib(n)
%用于求Fibonacci数列的函数文件
%f=ffib(n)
f=[1,1];
i=1;
while f(i)+f(i+1)

其次:在命令窗口输入:ffib(2000)   #可求小于2000的Fibonacci数

ffib(2000)   #可求小于2000的Fibonacci数

【拓展】

Fibonacci数列:又称斐波那契数列(Fibonacci sequence),又称黄金分割数列。因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称“兔子数列”,其数值为:1、1、2、3、5、8、13、21、34……在数学上,这一数列以如下递推的方法定z义:F(0)=1,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)。

详情请见其他大佬博主优秀作品http://t.csdnimg.cn/O59MK,谢谢!

题三:利用函数的递归调用,求n!

首先:建立factor的m文件:

function f=factor(n)

if n<=1

f=1;

else

f=factor(n-1)*n;

end

return; %返回在命令文件main2.m中调用函数文件factor.m:

其次:在命令窗口输入:

for i=1:10

fac(i)=factor(i);

end

Fac

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

循环结构:

A = zeros(1, 20);
for i = 1:20
    A(i) = input('输入一个数:');
end
max_value = A(1);
min_value = A(1);
for i = 2:20
    if A(i) > max_value
        max_value = A(i);
    end
    if A(i) < min_value
        min_value = A(i);
    end
end
disp("最大值:" + max_value);
disp("最小值:" + min_value);

调用MATLAB的max函数和min函数:

A = zeros(1, 20);
for i = 1:20
    A(i) = input('输入一个数:');
end
max_value = max(A);
min_value = min(A);
disp("最大值:" + max_value);
disp("最小值:" + min_value);

题五:求Fibonacci数列

(1)大于4000的最小项 

a = 0;
b = 1;
c = a + b;

while c <= 4000
    a = b;
    b = c;
    c = a + b;
end

min_item = c;

(2)5000之内的项数 

a = 0
b = 1
count = 1;
while b <= 5000
    temp = b;
    b = a + b;
    a = temp;
end
min_item = b;
disp(min_item);

(3)小于4000的最大项        

a = 1;
b = 1;
c = a + b;

while c < 4000
    a = b;
    b = c;
    c = a + b;
end

max_item = b;
disp(max_item);

(4)小于4000的所有数的和

fibonacci_sum = 0;
a = 0;
b = 1;

while b < 4000
    fibonacci_sum = fibonacci_sum + b;
    a = b;
    b = a + b;
end

disp(fibonacci_sum)

(5)小于4000的所有数并输出

f = [1,1];
i = 1;
while f(i) + f(i+1) < 4000
    f(i+2) = f(i) + f(i+1);
    i = i + 1;
end

disp(f)

【注】

 函数格式:plot(x,y)  其中x和y为坐标向量

 函数功能:以向量x、y为轴,绘制曲线

 det(A)矩阵A的行列式 eig(A)矩阵A的特征值 inv(A)矩阵求逆 

数学模型与数学建模(急救版80+)常考知识点(一)_第11张图片

数学模型与数学建模(急救版80+)常考知识点(一)_第12张图片

题六:试用ROOTS函数求多项式x4+8x3-10的根 

>> x=[1,8,0,0,-10]
x =
     1     8     0     0   -10
>> y=roots(x)
y =
  -8.0194 + 0.0000i
   1.0344 + 0.0000i
  -0.5075 + 0.9736i
  -0.5075 - 0.9736i

题七:已知某班的5名学生的三门课成绩列表如下:

学生序号 1 2 3 4 5
高等数学 78 89 64 73 68
线性代数 83 77 80 78 70
数学建模 82 91 78 82 68

试写出有关命令,先分别找出三门课的最高分及其学生序号;然后找出三门课总分的最高分及其学生序号。

% 创建5x3的矩阵存储成绩
scores = [78, 89, 64; 83, 77, 80; 82, 91, 78; 73, 68, 68];
% 使用max函数分别找出每门课的最高分及其学生序号
math_max_score = max(scores(:, 1));
math_max_index = find(scores(:, 1) == math_max_score);
for i = 1:length(math_max_index)
    disp(['高等数学最高分:', num2str(math_max_score), ',学生序号:',
        num2str(math_max_index(i))]);
end
english_max_score = max(scores(:, 2));
english_max_index = find(scores(:, 2) == english_max_score);
for i = 1:length(english_max_index)
    disp(['线性代数最高分:', num2str(english_max_score), ',学生序号:',    
         num2str(english_max_index(i))]);
end
matlab_max_score = max(scores(:, 3));
matlab_max_index = find(scores(:, 3) == matlab_max_score);
for i = 1:length(matlab_max_index)
    disp(['数学建模最高分:', num2str(matlab_max_score), ',学生序号:',
         num2str(matlab_max_index(i))]);
end
% 计算每名学生的总分
total_scores = sum(scores, 2);
% 找出总分最高的学生序号
highest_total_score = max(total_scores);
highest_total_index = find(total_scores == highest_total_score);
disp(['总分最高分:', 
num2str(highest_total_score), ',学生序号:', num2str(highest_total_index)]);

题八:有多项式P1(x)=x4-2x+1,P2(x)=x2+4x-0.5,要求先求得P(x)=P1(x)+P2(x),然后计算xi=0.2*i各点上的P(xi)(i=0,1,2,…,5)值。

%定义多项式函数P1(x)和P2(x)
P1 = @(x) x.^4 + 0*x.^3 + 0*x.^2 - 2*x + 1;
P2 = @(x) x.^4 + 0*x.^3 + x.^2 + 4*x - 0.5;
%计算P(x) = P1(x) + P2(x)
P(x) = @(x) P1(x) + P2(x);
%计算xi = 0.2*i 各点上的P(xi)值
xi = 0:0.25;
P_xi = P(xi);
%输出结果
disp('xi==');
disp(xi);

disp('P(xi) = ');
disp(P_xi);

 以上就是数学模型与数学建模(急救版80+)常考知识点(一)的全部内容(原创)

若对各位有帮助的,请点赞收藏哦,以防下次找不到了哦!!!        

你可能感兴趣的:(Matlab必备学习笔记,数学建模,线性代数,笔记)