2024Matlab小白入门详细教程

本文是针对Matlab初学者的详细教程,涵盖了基本运算、变量、向量、交互式命令、分支结构、循环结构、函数以及数据可视化等内容。通过实例讲解,帮助读者快速掌握Matlab基础,为数学建模和编程实践打下坚实基础。
摘要由CSDN通过智能技术生成

本文适合哪些对象?

  1. 有一点点的编程基础的,想要学习Matlab的小白。
  2. 正在学习Matlab,基础也没搞明白的人。
  3. 大学生、研究生想要打数学建模相关竞赛,需要使用到该语言的人

最后一句:基础内容其实并不难,不要被外部的一些机构,书籍等误导,请对本文的所有内容完全掌握,内容很少,花两天学会,后续请花时间学习算法。

公众号/CSDN/知乎:川川菜鸟

一、基本运算

基本加减乘除:

a=5+5 %加法,同理减法

b=2^3  %立方,

c=5*2 %乘法

x = 1; %分号用于不显示
y = x + 5

常见变量:
在这里插入图片描述

二、变量

2.1 基础

在上面小节,我们看到的左边就是字母就叫做变量。很简单,这里随便举几个例子就学会了。
(1)计算b=a*2,a=5

clear all %清空
clc % 情况工作区
a=5;
b=a*2;
b

(2)通过用户输入来获取变量x的值,计算y=x*3

x=input('请输入数字') %input用于接收数字
y=x*2

(3)使用预定变量,常见的比如pi,inf,eps,NaN

r=1
L=2* pi *r
S=pi*r*r

(4)使用常见数学运算,比如开根、求sin(x)

sqrt(78); %百分号用于不显示结果
sin(ans)

在这里插入图片描述
这里需要注意,不给表达式赋值时,会自动赋予ans,比如上面写全了就是"ans = sqrt(78)"。

(5)一行多个分配。前面的步骤加封号,只显示最后一个语句的运行结果。

a = 2; b = 7; c = a * b

在这里插入图片描述
(6)使用who和whos命令。who查看已使用的所有变量名称;whos查看变量类型、内存、是否为复杂变量等详细信息,:

who

在这里插入图片描述

whos

在这里插入图片描述
(7)清楚指定变量,或全部变量。使用clear命令。

clear a  %清楚a变量
clear    %清楚所有变量

在这里插入图片描述
在这里插入图片描述
(8)可以使用省略号 (…) 将长赋值扩展到另一行。

initial_velocity = 0;
acceleration = 9.8;
time = 20;
final_velocity = initial_velocity...
 + acceleration * time

在这里插入图片描述

2.2 数据显示格式

默认情况下,MATLAB 四个小数位值显示数字。这就是所谓的 short format。如果想更精确,需要使用 format 命令。长(long ) 命令格式显示小数点后16位。

注:一般来说,我们不会太在乎精度,能保留四位数就可以了,所以这个不怎么用得到。

(1)通过以下两种方式对比即可理解,注意逗号分开:

format long ,pi 
format  short ,pi

在这里插入图片描述
再来个例子:

format short %直接声明为短型
a=3.1415926

在这里插入图片描述
(2)format bank 命令将数字四舍五入到小数点后两位。

format bank
daily_wage = 177.45;
weekly_wage = daily_wage * 6

在这里插入图片描述
(3)格式short e 命令允许以指数形式显示四个小数位加上指数。

format short e
4.678 * 4.9

在这里插入图片描述
(4) 格式 long e 命令允许以指数形式显示,小数点后四位加上指数。

format long e
x = pi

在这里插入图片描述
(5) format rat 命令给出了计算结果最接近的有理表达式。

format rat
4.678 * 4.9

在这里插入图片描述

2.3 基本关系运算符

常见大于等于小于,如果为真返回1,否则返回0:

a=5
b=2
a>b %大于
a==b %等于
a<b %小于

三、向量

3.1 基础

就是数组,矩阵的形式,举两个例子就知道了。
(1)手动输入数组。元素时间用空格/逗号,分号分割。其中逗号与空格等价。分号用于换行,制作多行多列矩阵。

r = [7 8 9 10 11] 

r2 = [7 8 9 10 11]

c = [7;  8;  9;  10; 11]

d=[1 2 ;3 4 ;5 6]

两个向量相加等价于对应元素相加,比如
在这里插入图片描述
(2)冒号创建。格式:x=开始:间隔:结尾

x=2:2:10

在这里插入图片描述
(3)linspace函数创建线性间隔向量。基本格式:linspace(开始,结束,元素个数),默认个数为100。

y=linspace(1,20,10)

在这里插入图片描述

3.2 向量点积

矩阵相乘,自然是点积,不是直接的乘法。以几个例子作为说明。
(1)直接.*

a=[1 2 3 4 5];
b=[6 7 8 9 10];
c=a.*b

在这里插入图片描述

(2)使用dot函数点积,对应元素相乘再相加,相当于上面的sum(c )

d=dot(a,b)

在这里插入图片描述

3.3 向量交叉运算

使用cross函数,基本格式为:cross(a,b)。前提:a和b必须为三维向量。例如:

a=[1 2 3 ];
b=[6 7 8 ];
c=cross(a,b)

四、交互式命令

4.1 input用户输入

其实在前面已经提到过了,这里再强调一次。

x=input("请输入数字:");
x

4.2 disp显示命令

基本格式:disp(x),显示变量x的值。例如:

a=5*3;
b=a*5;
disp(b)

4.3 pause暂停命令

pause用于暂停程序。例如下面只执行pause上面语句:

a=5*2
pause
b=a*2

五、分支结构

5.1 if-end

语法格式为:

if  表达式
	语句组
end

例如:比较a和b的大小

clear all
clc
a=5;
b=2;
if a>b
    fprintf("a大于b\n")
end

在这里插入图片描述

5.2 if-else-end

例如:

clear all
clc
a=5;
b=2;
if a>b
    fprintf("a大于b\n")
else
    fprintf("a不大于b\n")
end

在这里插入图片描述

5.3 if-elif-end

例如:输入一个数字,判断奇数和偶数

clear all
clc
x=input('请输入数字:');
c=rem(x,2) %求余数的函数
if c==1
    fprintf('x为奇数\n')
elseif c==0
    fprintf('x为偶数\n')
else
    fprintf('非数字')
end

在这里插入图片描述

5.4 嵌套if

基本格式:

if 表达式
   语句组
   if 表达式
      语句组
  end
end

例如:判断学号是否正确,且为偶数

clear all
clc
y=input('请输入学号:')
if y==124
    if rem(y,2)==0
        fprintf('学号正确,且为偶数\n')
    end
else
    fprintf('学号错误\n')
end

在这里插入图片描述

5.5 switch语句

witch 模块执行多个选项中一组语句。每个选项都包含表达式中。有一情况为真时,MATLAB 执行相应的语句,然后退出开关模块。

switch <开关表达式>
   case <条件表达式1>
      <语句>
   case <条件表达式2>
      <语句>
      ...
      ...
   otherwise
      <语句>
end

给出一个评价成绩等级的例子:

grade = 'B';
   switch(grade)
   case 'A' 
      fprintf('Excellent!\n' );
   case 'B' 
      fprintf('Well done\n' );
   case 'C' 
      fprintf('Well done\n' );
   case 'D'
      fprintf('You passed\n' );
   case 'F' 
      fprintf('Better try again\n' );
   otherwise
      fprintf('Invalid grade\n' );
   end

在这里插入图片描述

5.6 嵌套switch语句

基本格式:

switch(ch1) 
   case 'A' 
      fprintf('This A is part of outer switch');
      switch(ch2) 
         case 'A'
         fprintf('This A is part of inner switch' );
         
         case 'B'  
         fprintf('This B is part of inner switch' );
      end   
   case 'B'
      fprintf('This B is part of outer switch' );
end

一个嵌套switch语句的例子:

a = 100;
b = 200;
switch(a) 
   case 100 
      fprintf('This is part of outer switch %d\n', a );
      switch(b) 
         case 200
            fprintf('This is part of inner switch %d\n', a );
      end
end

fprintf('Exact value of a is : %d\n', a );
fprintf('Exact value of b is : %d\n', b );

在这里插入图片描述

六、循环结构

6.1 for循环

基本格式:

for 变量=表达式
  执行语句
end

表达式的通常格式为f:s:l,s默认为1,m表示开始,l表示结束。举个例子说明:遍历数字1到10

for a = 1:10 
  fprintf('值a: %d \n', a);
end

同理可以设置间隔:

for a = 1:2:10 
  fprintf('值a: %d \n', a);
end

间隔也可以为负数:

for a = 1.0: -0.1: 0.0
   disp(a)
end

右侧也可以是向量:

for a = [2 3 4 5 6]
   disp(a)
end

6.2 while循环

基本格式:

while 表达式
   语句组
end

举个简单的例子:遍历小于10的数字,并累加求和

i=0;
sum=0;
while(i<10)
    sum=sum+i;
    i=i+1;
end
fprintf('累加和为: %d \n', sum);

6.3 嵌套循环

(1)for嵌套循环基本格式:

for m = 1:j
   for n = 1:k
      语句;
   end
end

一个例子:使用嵌套的 for 循环来显示从 1 到 100 的所有质数。

for i = 2:100
   for j = 2:100
      if(~mod(i,j)) 
         break; % 可以被除尽,就不是质数
      end 
   end
   if(j > (i/j))
      fprintf('%d 是质数\n', i); 
   end
end

在这里插入图片描述

6.4 break,continue语句

  • break语句。终止循环语句,并将执行转移到循环之后的语句。
  • continue语句。跳过当前循环的其余部分,直接执行下次判断,进入下次循环。

七、函数

7.1 普通函数

编写函数一般在.m文件中编写。函数文件由function语句引导,基本结构为:

function 输出形参表 = 函数名(输入形参表)
% 写一点关于函数的摘要
% 写一点参数说明
	函数体语句
end

手动新建函数:
在这里插入图片描述
执行函数的形式:

[输出实参表]=函数名[输入实参表]

例如编写一个函数:如果x>0,则y=2x;如果x<0,则y=xx;如果x=0,则y=0

function y= f(x)
%   x为一个整数
if x>0
    y=2*x;
elseif x==0
    y=0;
else
    y=x*x;
end
disp(y)
end

执行:
在这里插入图片描述
这就是一个常见的普通函数。文件名与函数名保存是一致的。

7.2 匿名函数

匿名函数基本格式:

f = @(变量列表)表达式

举两个例子如下(niming.m):

close all;
clc;
b=@(x)(sin(x)+cos(x)); %创建关于x的匿名函数
c=b(pi) %带入pi

d=@(x,y)(sin(x)+cos(y)) %创建x和y的匿名函数
e=d(pi,pi) %带入pi值测试

7.3 嵌套函数

简单的说,就是函数内部再写了函数,一般写两层。建议没事不要写嵌套函数,函数尽量分开写。
嵌套函数基本格式:

function x = A(p1, p2)
...
   function y = B(p3)
   ...
   end
...
end

举个例子:计算一元二次方程(qiantao2.m)

function [x1,x2] = qiantao2(a,b,c) 
%定义函数qiantao2计算一元二次函数
d=0; %初始化
function disc 
d = sqrt(b^2 - 4*a*c); %计算d
end 
disc; %输出d
x1 = (-b + d) / (2*a);
x2 = (-b - d) / (2*a);
end 

测试案例:qiantao2(1,-2,1)
在这里插入图片描述

再来个测试案例:qiantao2(2,4,-4)
在这里插入图片描述

7.4 全局变量

  • 函数中申明变量为全局变量,可由多个函数共享。
  • 命令行中申明全局变量,工作区可访问该变量
  • 全局申明必须在函数实际使用变量前发生。
    创建脚本输入代码:
function avg = average(nums)
global TOTAL
avg = sum(nums)/TOTAL;
end

工作区输入以下代码,依据全局变量计算其平均值:

global TOTAL;
TOTAL = 10;
n = [34, 45, 25, 45, 33, 19, 40, 34, 38, 42];
av = average(n)

在这里插入图片描述

八、数据可视化

8.1 绘图基本命令

(1) plot()命令打开基本图窗
导入自变量和因变量,绘制一次函数:

x = [0:5:100];
y = x;
plot(x, y)

在这里插入图片描述
(2)xlabel、ylabel、title、grid on命令

  • xlabel 和 ylabel 命令沿 x 轴和 y 轴生成标签
  • title 命令可以图形上放置标题
  • grid on 命令可以将网格线放在图形上
  • axis equal 命令可以生成相同比例和轴上的空格的绘图
  • axis square 生成正方形图
x = [0:0.01:10];
y = sin(x);
plot(x, y), xlabel('x'), ylabel('Sin(x)'), title('Sin(x) Graph'),
grid on, axis equal

在这里插入图片描述
(3) plot(x,y,x1,y1)
同一个图形绘制多个函数,只需在plot()命令中传入多个x,y即可。

x = [0 : 0.01: 10];
y = sin(x);
g = cos(x);
plot(x, y, x, g, '.-'), legend('Sin(x)', 'Cos(x)')

在这里插入图片描述
(4) 图形上设置颜色
下面是常见的颜色代码表:
在这里插入图片描述
一个运用不同颜色绘图的示例:

x = [-10 : 0.01: 10];
y = 3*x.^4 + 2 * x.^3 + 7 * x.^2 + 2 * x + 9;
g = 5 * x.^3 + 9 * x + 2;
plot(x, y, 'r', x, g, 'g')

在这里插入图片描述
(5)axis ()设置轴刻度
设置轴刻度基本格式:

axis ( [xmin xmax ymin ymax] )

一个手动设置轴刻度的例子

x = [0 : 0.01: 10];
y = exp(-x).* sin(2*x + 3);
plot(x, y), axis([0 10 -1 1])

在这里插入图片描述
(6) Sub-Plots生成子图
subplot()基本格式

subplot(x,y,z) %共x行y列现在第z个

一个创建子图的例子:

x = [0:0.01:5];
y = exp(-1.5*x).*sin(10*x);
subplot(1,2,1)
plot(x,y), xlabel('x'),ylabel('exp(–1.5x)*sin(10x)'),axis([0 5 -1 1])
y = exp(-2*x).*sin(10*x);
subplot(1,2,2)
plot(x,y),xlabel('x'),ylabel('exp(–2x)*sin(10x)'),axis([0 5 -1 1])

在这里插入图片描述

8.2 优美散点图

举个例子,有如下的数据,分别表示为年龄,人体血压高压:

x=[75;78;51;82;77;88;41;78;78;61;71;74;62;81;75;64;80;72;51;80;56;73]

y1=[208;146;168;149;208;102;130;155;163;154;145;147;143;161;145;120;153;158;123;163;177;148]

最简单的方法,比如绘制年龄与高血压关系,使用scatter函数:

scatter(x,y1) %直接绘制

完整为:

x=[75;78;51;82;77;88;41;78;78;61;71;74;62;81;75;64;80;72;51;80;56;73];
y1=[208;146;168;149;208;102;130;155;163;154;145;147;143;161;145;120;153;158;123;163;177;148];
scatter(x,y1)

绘制如下:
在这里插入图片描述
想要它好看点呢?绘制为红色,添加个r参数即可,它为red缩写:

scatter(x,y1,'r')  %填充颜色绘制为红色

绘制如下:
在这里插入图片描述
如果你还想绘制更加好看呢?多彩一点!

c = linspace(1,10,length(x)); %创建向量

scatter(x,y1,[],c) 

绘制如下:
在这里插入图片描述
再来,填充并标记的散点色彩图:

sz = 25;
c = linspace(1,10,length(x));
scatter(x,y1,sz,c,'filled') 

绘制如下:
在这里插入图片描述
本节完整代码:

x=[75;78;51;82;77;88;41;78;78;61;71;74;62;81;75;64;80;72;51;80;56;73];
y1=[208;146;168;149;208;102;130;155;163;154;145;147;143;161;145;120;153;158;123;163;177;148];
scatter(x,y1)

scatter(x,y1,'r')  %填充颜色绘制为红色

c = linspace(1,10,length(x)); %创建向量

scatter(x,y1,[],c)

sz = 25;
c = linspace(1,10,length(x));
scatter(x,y1,sz,c,'filled') 

8.3 条形图

例如张三的各门课成绩分别为:94,54,65,87,使用这个数据,我们将绘制条形图。

x = [1:4]; %x个数一定要与y个数对应
y = [94,54,65,87];
bar(x,y) %使用bar函数
xlabel('科目')
ylabel('成绩')
title('条形图')

绘制如下:
在这里插入图片描述

8.4 概率分析图

请参考:数学建模学习(5):最全概率分析之图表绘制详解
本片文章有着详细的教程,因此我便不再重述。

8.5 读取excel画图

请参考:数学建模学习(46):读取excel数据plot画图

8.6 更多请参考

参考matlab官方文档:

如果你还想学习更多关于Matlab的一些函数使用方法,请持续学习文档。

九、微积分

MATLAB提供各种方法求解微积分和积分问题。这里我们讨论计算函数的极限和验证极限的性质。

9.1 计算极限值

(1)基本格式:limit 函数将表达式作为参数,并在自变量变为零时找到表达式的极限。
举个例子,计算当x趋于0时,函数 f(x) = (x3 + 5)/(x4 + 7) 的极限

syms x
limit((x^3 + 5)/(x^4 + 7))

在这里插入图片描述
(2)计算x趋于0以外的极限,使用带参数的limit命令。limit(f(x),a),这里a是要趋向的值。

limit((x - 3)/(x-1),1)

在这里插入图片描述
再举个例子:

limit(x^2 + 5, 3)

在这里插入图片描述
使用符号包计算极限值:

x = sym("x");    %让x趋向于0
subs((x^3+5)/(x^4+7),x,0)  

在这里插入图片描述

9.2 极限基本性质的验证

首先给出极限的基本性质:
在这里插入图片描述
考虑【f(x)=(3x+5)/(x - 3)】、【g(x) =x^2+1】这两个函数,分别计算在5处的极限,以及和、差、积、商四种情况下的极限。给出的代码如下所示:

syms x
f = (3*x + 5)/(x-3);
g = x^2 + 1;
l1 = limit(f, 4)
l2 = limit (g, 4)
lAdd = limit(f + g, 4)
lSub = limit(f - g, 4)
lMult = limit(f*g, 4)
lDiv = limit (f/g, 4)

运行结果较长,这里直接给出答案:17,17,34,0,289,1。
使用符号包时,运用的代码如下:

x = sym("x");
f = (3*x + 5)/(x-3);
g = x^2 + 1;

l1 = subs(f, x, 4)
l2 = subs (g, x, 4)
lAdd = subs (f+g, x, 4)
lSub = subs (f-g, x, 4)
lMult = subs (f*g, x, 4)
lDiv = subs (f/g, x, 4)

结果为17.0,17.0,34.0,0.0,289.0,1.0。

9.3 左侧极限和右侧极限

当函数 f(x)的极限在 x = a 处不连续,即x 从左侧接近时的极限值不等于 x 从右侧接近时的极限值。
绘制f(x) = (x - 3)/|x - 3|函数的图片,并求x=3的极值如下所示:

f = (x - 3)/abs(x-3);
ezplot(f,[-1,5])
l = limit(f,x,3,'left')
r = limit(f,x,3,'right')

在这里插入图片描述
在这里插入图片描述

十、微分

微分是计算表达式的导数,并在图上寻找局部最大值、最小值,并且求解微分方程。

10.1 diff(f)命令

diff(f)命令计算导数,基本格式:

diff(f)  %f为要求导的函数

举例如下:

syms t
f = 3*t^2 + 2*t^(-2);
diff(f)

运行结果如下:
在这里插入图片描述

10.2 求导规则

常用求导规则列举如下:

  • h’(x) = af’(x) + bg’(x)
  • ( f + g)’ = f’ + g’
  • (fg)’ = f’.g + g’.f
  • (f/g)’ = (f’.g - g’.f)/g^2
  • f’ = n. x^(n-1)
  • h’(x)= f’(g(x)).g’(x)
    这里给出一些求导代码:
syms x
syms t

f = (x + 2)*(x^2 + 3)
der1 = diff(f)
f = (t^2 + 3)*(sqrt(t) + t^3)
der2 = diff(f)
f = (x^2 - 2*x + 1)*(3*x^3 - 5*x^2 + 2)
der3 = diff(f)
f = (2*x^2 + 3*x)/(x^3 + 1)
der4 = diff(f)
f = (x^2 + 1)^17
der5 = diff(f)
f = (t^3 + 3* t^2 + 5*t -9)^(-6)
der6 = diff(f)

运行结果较长,这里不进行解释,读者只需要知道求解一个函数的导数,①申明求导变量:syms = x ②定义要求导函数:f ③调用diff(f)命令对函数f进行求导

10.3 常见函数求导形式

在这里插入图片描述
这里给出1个小例子,其他形式一模一样,读者自己尝试就好。

syms x
y = exp(x)
diff(y)

在这里插入图片描述

10.4 diff(f, n)计算高阶导数

diff(f, n)计算高阶导数,f为求导函数,n为求导的相应阶数。
基本格式:

syms x
f = ...;
diff(f, n)

对y = f(x) = x*e^(-3x)求二阶导如下:

syms x;
f = x*exp(-3*x);
diff(f, 2)

在这里插入图片描述

10.5 微分求解的经典案例

已知原函数,对y = f(x) = 3 sin(x) + 7 cos(5x).求导,满足f" + f = -5cos(2x)。思路是首先计算f",之后计算f" + f,接着计算-5cos(2x),最后检查两遍是否相等即可。代码实现如下:

syms x
y = 3*sin(x)+7*cos(5*x);  % defining the function
lhs = diff(y,2)+y;        %evaluting the lhs of the equation
rhs = -5*cos(2*x);        %rhs of the equation
if(isequal(lhs,rhs))
   disp('Yes, the equation holds true');
else
   disp('No, the equation does not hold true');
end
disp('Value of LHS is: '), disp(lhs);

在这里插入图片描述

10.6 寻找曲线的最大值与最小值

若要寻找 f(x) = 2x^ 3 + 3x^ 2 − 12x + 17函数的最大值与最小值,我们可以①用ezplot(y,[ ])绘制出函数最大值与最小值,y是函数,[ ]是自变量取值区间。②调用diff(y)命令求导。③solve(g)命令求解导函数,即令导函数为0,即可解出对应的自变量x。

syms x
y = 2*x^3 + 3*x^2 - 12*x + 17;   %定义函数
ezplot(y, [-2, 2])
g = diff(y);
s = solve(g)

在这里插入图片描述
在这里插入图片描述
之后调用subs()命令评估函数f在1,和-2处的值。

subs(y, 1), subs(y,-2)

在这里插入图片描述

10.7 dsolve命令求解微分方程

基本格式:

dsolve('eqn','cond1', 'cond2',…)  

eqn中导数用 D 表示,计算y" - y = 0, y(0) = -1, y’(0) = 2,我们可以输入如下代码:

dsolve('D2y - y = 0','y(0) = -1','Dy(0) = 2')

在这里插入图片描述

十一、多项式

MATLAB 将多项式表示为包含按降幂排序的系数的行向量。例如,方程 P(x) = x4 + 7x3 - 5x + 9 可以表示为 p = [1 7 0 -5 9];

11.1 polyval()计算指定处值

polyval()函数计算指定值处的多项式,基本格式:

p = [1 7 0  -5 9];
polyval(p,4)

在这里插入图片描述

11.2 polyvalm()计算以矩阵为变量的多项式

输入自变量为一个矩阵式,可调用polyvalm(y,X),其中y是函数,X是自变量矩阵。

p = [1 7 0  -5 9];
X = [1 2 -3 4; 2 -5 6 3; 3 1 0 2; 5 -7 3 8];
polyvalm(p, X)

在这里插入图片描述

11.3 root()求多项式的根

root(f)求多项式的根,其中f为要求解的函数,基本格式:

p = [1 7 0  -5 9];
r = roots(p)

在这里插入图片描述

11.4 ploy(r )返回多项式系数

ploy®返回多项式系数,其中r是我们已知的根,比如在上例中,r就是我们已知根,要想求对应系数,计算对应系数的代码如下:

p2 = poly(r) 

在这里插入图片描述

11.5 polyfit()多项式曲线拟合

已知x和y为两个向量,是要拟合到 n 次多项式的 x、y 数据,可使用polyfit()函数,基本格式如下:

x = [1 2 3 4 5 6]; y = [5.5 43.1 128 290.7 498.4 978.67];   %data
p = polyfit(x,y,4)   %get the polynomial

在这里插入图片描述
借助前面绘图的知识,我们可将拟合出的曲线打印在图上,代码如下:

x = [1 2 3 4 5 6]; y = [5.5 43.1 128 290.7 498.4 978.67];   %data
p = polyfit(x,y,4)   %get the polynomial
x2 = 1:.1:6;          
y2 = polyval(p,x2);
plot(x,y,'o',x2,y2)
grid on

在这里插入图片描述

十二、数学建模算法讲解

请参考本专栏:数学建模丛小白到精通之路,本专栏一直更新,从未断过。

本专栏使用的编程语言:

  • Matlab
  • Python

我对你的期望:

  1. 掌握python基础,python基础专栏教程:python全栈基础教程
  2. 掌握matlab基础。本篇是对matlab的一些重点基础做了总结,要谈到细枝末节,请结合本专栏第一篇文章开始学习,如果你已经有一定基础,请直接看本片作为回顾即可。
  3. 熟悉Python中的pandas模块,虽然本专栏并没有专门对该模块写过教程,但我希望你能自学该模块,因为专栏中的后续学习中都用到了该模块。

我的祝愿:希望大家拿奖到手软!——川川菜鸟

关注公众号/CSDN/知乎:川川菜鸟
获取更多数模资料

  • 403
    点赞
  • 2874
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 28
    评论
简单易懂,最适合傻瓜级初学者! 第一章 简介 1.1 计算机应用与工程问题 1.2 工程问题的解决方式 1.3 认识你/你的电脑工作环境 第二章 MATLAB 简介 2.1 什么是MATLAB 2.2 基本功能 2.2.1 MATLAB 的视窗环境 2.2.2 简易数学 2.2.3 变数 2.2.4 其它功能 2.3 线上说明 2.4 阵列与矩阵 2.4.1 简易阵列 2.4.2 建立阵列 2.4.3 阵列运算 2.4.4 特殊矩阵 2.4.5 阵列运算的特色 2.5 简易绘图 2.6 输入及输入 2.6.1 交谈式的输入 2.6.2 输出格式 2.7 如何撰写 MATLAB 程式 2.7.1 如何在自己的目录执行程式 2.8 储存及读取数据 2.9 其它绘图功能 2.10问题范例:涡轮螺旋桨引擎 第三章 进阶的绘图功能 3.1 绘图选项 3.1.1 横轴和纵轴的控制 3.1.2 子图 3.1.3 图形放大及缩小 3.1.4 函数分布的快速绘图 3.1.5 列印功能 3.1.6 其它的功能 3.2 三维绘图 3.1.1 三维的曲线绘图 3.1.2 曲面及等值线绘图 第四章 MATLAB函数 --- 语音讯号分析 4.1 数学函数 4.1.1 常见数学函数 4.1.2 三角和双曲线函数 4.1.3 复数 4.1.4 多项式函数 4.2 数据分析函数 4.2.1 极值、平均、总和、连乘及排序 4.2.2 变异数 4.2.3 长条分布函数 4.3 选择指令及函数 4.3.1 关系及逻辑运算 4.3.2 if-else-end 语法 4.4 范例问题:语音讯号分析 4.5 使用者自定函数 4.6 乱数 4.6.1 均匀乱数 4.6.2 常态乱数 4.7 矩阵运算函数 4.8 回圈 4.8.1 For 回圈 4.8.2 While 回圈 第五章 线性代数与矩阵 --- 蛋白质分子量分析 5.1 矩阵运算 5.1.1 基本矩阵运算元 5.1.2 矩阵多项式 5.2 范例问题:蛋白质的分子量计算 5.3 矩阵函数 5.3.1 反矩阵、矩阵秩与行列式 5.3.2 特徵值与特徵向量 5.3.3 矩阵分解 第六章 解联立方程式 --- 电路分析 6.1 利用矩阵解法 6.2 范例问题:电路分析 第七章 内插及曲线拟合 --- 机械手臂路径 7.1 内插 7.1.1 一维内插 7.1.2 二维内插 7.1.3 Spline 内插 7.2 范例问题:机械手臂路径 7.3 曲线契合 7.3.1 线性回归 7.3.2 多项式回归 7.3.3 多项式契合及函数计算 第八章 解方程式根 8.1 多项式的根 8.2 非线性方程式的实根 第九章 数值微分及积分 --- 管流分析 9.1 数值积分 9.1.1 梯形法 9.1.2 二次函数法 9.2 范例问题:管流分析 9.3 数值微分 9.3.1 差分表示法 9.3.2 差分函数 第十章 解常微分方程式 --- 发动机性能分析 10.1 微分方程式 10.2 阮奇-库达方法 10.3 范例问题:飞机发动机的加速性能分析 10.4 高阶常微分方程式 第十一章 符号运算 --- 气象气球 11.1 符号代数 11.1.1 符号表示式 11.1.2 数学式的化简 11.1.3 符号表示式的运算 11.2 解方程式 11.2.1 一般方程式 11.2.2 常微分方程式 11.3 微分与积分 11.3.1 微分 11.3.2 积分 11.4 范例问题:气象气球
MATLAB入门教程可以从以下几个方面开始学习: 1. 元胞数组:元胞数组是MATLAB中的一种特殊数据类型,类似于C语言中的结构体或C++中的对象。它可以存储不同类型的数据,并提供了一种查询信息的方式。你可以使用`cell`函数创建元胞数组,并使用`{}`操作符访问和修改元素。\[1\] 2. 编写脚本:在MATLAB中,我们通常将代码写在脚本文件中,并保存后点击运行。确保在运行之前保存代码的更改。MATLAB中的代码都是英文,注意使用正确的字体和格式,特别是逗号和分号。\[2\] 3. 基本绘图操作:MATLAB提供了丰富的绘图功能。你可以使用`plot`函数在二维平面上绘制曲线。通过定义x的范围和步长,以及相应的y值,你可以绘制出各种曲线。使用`title`、`xlabel`和`ylabel`函数可以添加标题和轴标签,使用`xlim`函数可以设置x轴的范围。\[3\] 这些是MATLAB入门教程的一些基本内容,希望对你有帮助! #### 引用[.reference_title] - *1* *3* [零基础入门Matlab(一篇两个小时就能学完的入门博客)](https://blog.csdn.net/weixin_46125998/article/details/118991929)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [良心推荐 最适合新手学习的Matlab快速入门教程](https://blog.csdn.net/yyaannnnnnnn/article/details/128637203)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

川川菜鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值