自学内容网 自学内容网

matlab基础

 一、matlab基本小知识

(一)分号的含义

1. 在每一行语句后面加上分号(一定要是英文的哦),表示不显示运行结果

a=3;
a=5

 (二)代码注释

2. 多行注释:选中要注释的若干语句,快捷键Ctrl+R,取消注释用Ctrl+T

注释就是在语句前面加上“%”,如果有多行语句需要注释,需要选中多行语句,然后按快捷键Ctrl+R

注释只是帮助你理解代码意思,注释的内容不会运行。

% a=3
% a=5

(三)清空代码和变量 

3. clear可以清除工作区的所有变量,clc可以清除命令窗口中的所有文本,让屏幕变得干净

clear;clc

clear;clc 一起使用,起到“初始化”的作用,防止之前的结果对新脚本产生干扰

 二、输出和输入函数(输出:disp,输入:input)

(一)输出函数 

matlab中的disp()函数就是屏幕输出函数,类似于C语言中的printf()函数

disp('大家好!我是XX,欢迎来到数学建模的世界哦!')

输出结果:

输出一行数字,可以用逗号分隔,也可以用空格分隔,下面两个代码输出的结果一样的

a=[1 2 3]
a=[1,2,3]

 

输出一列数字,输完一行数字后,需要用分号相隔,代表换行

a=[1 2 3; 4 5 6; 7 8 9]

 

也可以采用disp(a)输出结果,disp()比较特殊,这里可以加分号也可以不加分号

a=[1 2 3];
disp(a);

 (二)字符串合并

matlab中字符串有两种合并方法

(1)strcat(str1,str2.....,strn)

strcat('我','爱','学习','数学建模')

(2)[str1, str2, ..., strn]或者[str1 str2 ... strn] 

下面这两个代码的输出结果是一样的

['我','爱','学习','数学建模']
['我' '爱' '学习' '数学建模']

 (三)将数字转成字符串

num2str():可以将数字转换为字符串

c=100
num2str(c)
disp(['c的取值为:' num2str(c)])
%disp(strcat('c的取值为:',num2str(c)))

 (四)输入函数

input():输入函数。一般我们会将输入的数、向量、矩阵、字符串等赋给一个变量,这里我们赋给A

A=input('请输入A:');
B=input('请输入B:')

请注意加分号和不加分号的区别。加分号输入内容不会再次运行,不加分号输入内容会再次运行

 三、求和函数(sum)

(一)向量求和

如果是向量(无论是行向量还是列向量),都是直接求和

E=[1 2 3]
sum(E)

 

E=[1;2;3]
sum(E)

 

(二)矩阵求和

如果是矩阵,则需要根据行和列的方向作区分.

E=[1 2; 3 4; 5 6]%分号代表换行
a=sum(E)%按列求和(得到一个行向量)
b=sum(E,1)%维度dim=1表示按照列;dim=2表示按照行;默认dim=1

E=[1 2; 3 4; 5 6]%分号代表换行
a=sum(E,2)%按行求和,得到一个列向量 

对整合矩阵求和,有两种写法

a=sum(sum(E))
a=sum(E(:))

 四、提取矩阵中指定位置的元素

(一)提取指定行和列的一个元素(输出是一个值)

A(m,n):取矩阵A中第m行第n列的元素

A=[1 1 4 1/3 3; 1 1 4 1/3 3; 1/4 1/4 1 1/3 1/2; 3 3 3 1 3; 1/3 1/3 2 1/3 1]
disp('请输出第3行第2列的元素:')
A(3,2)

 

(二)提取指定的某一行的全部元素(输出的是一个行向量)

A(m,:):提取m行中的所有元素。

冒号:代表所有元素

A=[1 1 4 1/3 3; 1 1 4 1/3 3; 1/4 1/4 1 1/3 1/2; 3 3 3 1 3; 1/3 1/3 2 1/3 1]
disp('请输出第3行的所有元素:')
A(3,:)

(三)提取指定的某一列的全部元素(输出的是一个列向量)

A(:,n):提取矩阵A中第n列的元素

A=[1 1 4 1/3 3; 1 1 4 1/3 3; 1/4 1/4 1 1/3 1/2; 3 3 3 1 3; 1/3 1/3 2 1/3 1]
disp('请输出第2列所有元素:')
A(:,2)

 

(四)提取指定的某些行的全部元素(输出的是一个矩阵)

A=[1 1 4 1/3 3; 1 1 4 1/3 3; 1/4 1/4 1 1/3 1/2; 3 3 3 1 3; 1/3 1/3 2 1/3 1]
disp('请输出第2行和第5行的所有元素:')
A([2 5],:)

A=[1 1 4 1/3 3; 1 1 4 1/3 3; 1/4 1/4 1 1/3 1/2; 3 3 3 1 3; 1/3 1/3 2 1/3 1]
disp('请输出第2行到第5行的所有元素:')
A(2:5,:)%一共有4行

 

A=[1 1 4 1/3 3; 1 1 4 1/3 3; 1/4 1/4 1 1/3 1/2; 3 3 3 1 3; 1/3 1/3 2 1/3 1]
disp('请输出第2行和第4行的所有元素:')
A(2:2:4,:)%一共有2行,从2开始,到4结束,每次递增2个单位

 

 等差数列

disp('请输出1到10的数字,每两个数字间间隔3:')
1:3:10

disp('请输出10到1的数字,每两个数字间递减2:')
10:-2:1

 

A=[1 1 4 1/3 3; 1 1 4 1/3 3; 1/4 1/4 1 1/3 1/2; 3 3 3 1 3; 1/3 1/3 2 1/3 1]
disp('请输出第2行到最后一行的所有元素:')
A(2:end,:)

 

A=[1 1 4 1/3 3; 1 1 4 1/3 3; 1/4 1/4 1 1/3 1/2; 3 3 3 1 3; 1/3 1/3 2 1/3 1]
disp('请输出第2行到倒数第一行的所有元素:')
A(2:end-1,:)

 

(五)取指定某些列的全部元素

A=[1 1 4 1/3 3; 1 1 4 1/3 3; 1/4 1/4 1 1/3 1/2; 3 3 3 1 3; 1/3 1/3 2 1/3 1]
disp('请输出第2列和第5列的所有元素:')
A(:,[2 5])

 

(六)取所有元素

A=[1 1 4 1/3 3; 1 1 4 1/3 3; 1/4 1/4 1 1/3 1/2; 3 3 3 1 3; 1/3 1/3 2 1/3 1]
disp('请输出矩阵A中的所有元素:')
A(:)%按列拼接的,最终输出的是一个列向量
A%按行和列输出,输出的结果为矩阵

 五、size()函数


原文地址:https://blog.csdn.net/yanyanwenmeng/article/details/134534704

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!