数学实验-Matlab使用(1)

使用方法以及笔记均在文件中

class1_func1.m

matlab 复制代码
function f = class1_func1(x) 
% f为输出,输出有多个时需要用中括号以矩阵的方式包起来
% x为输入
    f = sin(x)

class1_func2.m

matlab 复制代码
function [a,b,u,v] = class1_func2(x,y)
    [a,b] = eig(x)
    [u,v] = eig(y)

class1.m

matlab 复制代码
% 当语句后有分号时,本行不会有输出,如想看到输出,请注释每一行的分号
% 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
相关推荐
来让爷抱一个1 小时前
Python 异步里混用同步库,事件循环被卡住的全过程
开发语言·python
心祭丫丫4 小时前
【每天一个 Python 小案例17】Python 实现通讯录
开发语言·人工智能·笔记·python·学习
露天赏雪4 小时前
第3篇:Sentinel熔断降级实战:大模型接口抖动时的服务兜底方案
java·开发语言·人工智能·spring boot·spring·servlet·sentinel
yeccheng6 小时前
MySQL 索引超详解:从底层 B+ 树到面试高频考点
java·开发语言·jvm·mysql·面试
联犀6 小时前
纯 Go 的 CAD 开源库 go-cad:直接解析 DWG/DXF,现在也能导出 PDF
开发语言·golang·pdf
zjxtxdy7 小时前
C++面向对象程序开发-类与对象
开发语言·c++
Evand J8 小时前
【PMSM例程】(14)永磁同步电机无迹卡尔曼滤波(UKF)定子电阻在线辨识与补偿。电阻变化跟踪及预测误差对比仿真。附完整代码的下载链接
matlab·电机·滤波·卡尔曼滤波·永磁同步电机·无迹卡尔曼滤波·pmsm
qq_406981039 小时前
c++拷贝构造函数
开发语言·c++
爱喝雪碧的可乐9 小时前
MATLAB
开发语言·算法·matlab
H.莓飛11 小时前
【C++】【STL】vector_OJ题
linux·服务器·开发语言·数据结构·c++·visual studio