使用方法以及笔记均在文件中
class1_func1.m
function f = class1_func1(x)
% f为输出,输出有多个时需要用中括号以矩阵的方式包起来
% x为输入
f = sin(x)
class1_func2.m
function [a,b,u,v] = class1_func2(x,y)
[a,b] = eig(x)
[u,v] = eig(y)
class1.m
% 当语句后有分号时,本行不会有输出,如想看到输出,请注释每一行的分号
% Ctrl + F 实现查找,在查找上按下三角可以看到替换,将所有分号替换为空格或者空即可查看所有输出
a = [1,2,3,4,5]; % 设置a为矩阵[1,2,3,4,5]
a(6) = 6; % 设置a的第六个元素为6
a(9) = 9; % 设置a的第九个元素为9,a的第7,8个元素会默认赋值为0
sin(a); % 为a中的每个元素求sin,输出
a(1); % 获取第一个元素
a(1:1:5); % 从第一个元素取到第五个元素,步长为1
a(1:2:5); % 同上,但是步长为2
a(1:5); % 从第一个取到第五个元素,默认步长为1
a = [0:0.1:1]; % a为一个矩阵,从0到1,步长为0.1 ,中括号可以省略
a = [1,2; 3,4]; % a为一个二阶矩阵
a(2,1); % 取到a的第二行第一个元素
a(:,1); % 取到a的每一行的第一个元素
a(1,:); % 取到a的第一行的所有元素
a = ones(2,2); % a 设置为元素均为1的2*2矩阵
a = zeros(2,2); % a 设置为元素均为0的2*2矩阵
a = eye(4); % 生成四行四列的单位矩阵
a = eye(4,4); % 生成四行四列的单位矩阵
a = eye(3,4); % 生成三行四列的[单位矩阵]
a =rand(2,2); % 生成一个2*2的矩阵,其中元素值随机,范围0 ~ 1
a = rand(3); % 生成一个3*3的矩阵,其中元素值随机,范围0 ~ 1
det(a); % 计算a的行列式的值
inv(a); % 计算a的逆矩阵
[u, v] = eig(a); % 计算a矩阵的特征值和特征向量
% 在有两个输出时需要使用中括号把两个输出赋值为两个变量
eye(2) + ones(2); % 矩阵相加
eye(2, 2) * ones(2, 3); % 矩阵相乘
eye(3) ^ 3; % 求矩阵的三次方
a = [1, 2, 3];
b = [4, 5, 6];
a .* b; % a,b对应位置元素相乘
a .^ b; % a每个位置的元素取b每个对应位置元素的次方
a ./ b; % 除
pi; % 圆周率
eps; % 最小浮点正数
i,j; % 虚数单位
Inf; % 无穷大
class1_func1(rand(3));
class1_func2(rand(3), rand(4));
% Matlab两种工作方式,一种命令交互,一种脚本
% 脚本有命令脚本,函数脚本两种,
% 命令脚本是一组MATLAB命令的集合
% 在命令行中可以通过文件名来运行脚本文件
% 函数脚本里有用户自定义的函数
% 格式:必须以function起头,后面跟函数名,
% 名称与文件名相同,有输入输出可以传递变量
% 循环语句
% for循环
sum = 0;
% 从 1 到 100,步长为1
for i = 1: 1 : 100
sum = sum + i;
end
sum;
% while循环
sum = 0;
i = 0;
while (i < 100)
sum = sum + i;
i = i + 1;
end
sum;
% 条件分支
% if
if (i > 0)
i = 1;
elseif (i < 0)
i = -1;
else
i = 0;
end
i;
% break 中断循环
% input 可以接收输入
% disp是一个用于显示变量内容或文本信息的函数
% 提示用户输入一个字符串
userInput = input('请输入一个字符串: ', 's');
disp(['你输入的字符串是: ', userInput]); % 格式化输出
% 提示用户输入一个数字
userInput = input('请输入一个数字: ');
disp(['你输入的数字是: ', num2str(userInput)]);
% num2str谐音number to string简写为num2str