当前位置: 首页 > news >正文

matlab入门学习(二)矩阵、字符串、基本语句、函数

一、矩阵

1、矩阵生成

%矩阵生成%直接法
A=[1,2,3; 4,5,6; 7,8,9]%冒号一维矩阵:开始,步长,结束(步长为1时可以省略)
B=1:1:10
B=1:10 %函数法%linspace(开始,结束,元素个数),等差生成指定元素数的一维矩阵,省略个数则默认100个C=linspace(0,10,5)%diag(行向量或列向量,上移量):生成对角矩阵diagA=diag(diag_a,0) %特殊矩阵e=eye(4) %eye(维数):单位阵z=zeros(1,4) %zeros(维数):全零阵o=ones(4,1) %one(维数):全1阵r=rand(4,3) %rand(维数):0-1分布随机阵rn=randn(4,1) %randn(维数):以0为均值的正态分布随机阵

2、矩阵运算

%矩阵运算a=[1,2,3;4,5,6;7,8,9]
%获取行或列
[row_a,col_a]=size(a)
%行列中最大的
len_a=length(a)%读取矩阵
diag_a=diag(a,1) %diag(矩阵,主对角线上方第k条斜线):读取矩阵的对角线tril_a=tril(a,1)    %tril(矩阵,主对角线上方第k条斜线):读取矩阵的下三角阵
triu_a=triu(a,1)  % triu:读取矩阵的上三角阵(tri:三角阵  low:下  up:上)%矩阵相乘
a*a%矩阵对应元素->点运算
%a.*b , a./b , a.^b(b次方)%逆矩阵:A*x=B,则x=pinv(A)*B
pinv(a)%特征值,特征向量
[v,D]=eig(a)  %v:特征向量,D:特征值对角矩阵%行列式
det(a)
%秩
rank(a)
%伴随矩阵:compan(向量)
compan([1,2,3]) 

3、矩阵修改

%矩阵修改a=[1,2,3;4,5,6;7,8,9]
%替换
chg_a=a %先备份
chg_a(2,3)=4 %(行,列)=替换的元素
chg_a(1,:)=[2,2,2] %(行,: )替换行
chg_a(:,1)=[] %( : ,列)替换列,为[]删除该列%转置
T_a=a'%拼接
c1_a=cat(1,a,a) %1表示列,在列上拼接(垂直)
c2_a=cat(2,a,a) %2表示行,在行上拼接(水平)%变维
rs_a=reshape(a,1,9) %reshape:重新塑形,元素个数不变,矩阵变为m*n(matlab矩阵元素列优先存储)

二、字符串

%字符串str1='Hello,world' %单引号:传统字符数组(char[])
disp(class(str1))
str2="Hello,world" %双引号:字符串(string)
disp(class(str2))%拼接
result1=['a','b','c'] %用[ ]拼接字符数组,逗号或空格隔开
result2="a"+"b"+"c" %用+拼接字符串%删除首尾空格
strtrim('  abc  ')%截取第一个分隔符(空格,tab,回车)前的部分
strtok('123 456')%比较
strcmp(str1,str2) %相等为1,不等为0
strncmp(str1,str2,3) %比较前3个是否相等(n)
strcmpi(str1,str2) %忽略大小写比较(i)
strncmpi(str1,str2,3) %忽略大小写,比较前3个是否相等%转换
upper(str1) %转大写,lower转小写num2str(123) 
str2num('123') %dec2hex都可以abs_str=abs('aBc') %逐字符取ASCII码,double('aBc')也可以
str3=char([97,66,99]) %把ASCII转字符串

三、基本语句

1、if

a=100
if a>0disp('正数')
elseif a==0disp(0)
elsedisp('负数')
end

2、switch

a=1
switch acase 1disp('选择1')case 2disp('选择2')otherwisedisp('选择其它,相当于default')
end

3、for和while

for i=1:2:10i
enda=10;
while a>0aa=a-2;
end%continue:跳进下一循环,break:结束循环

4、try-catch

a=[1,2,3;4,5,6;7,8,9]
b=[1,2]try %首先尝试执行try代码c=a*b;
catch %若中途捕捉到错误,则执行catch代码c="Error";
end %最后无论如何都要执行的end后的代码
disp(c)

四、函数

function [s,c]=circ(r)s=pi*r*r;c=2*pi*r;
end%调用
[a,b]=circ(3)

 带子函数版本:

function [s,c]=circ(r)s=calc_s(r);c=calc_c(r);
endfunction s=calc_s(r) %直接在函数文件里定义、调用子函数(子函数必须位于下方)
s=pi*r*r;
endfunction c=calc_c(r)
c=2*pi*r;
end

匿名函数:

%匿名函数:f = @(inputs) expression;
%inputs:输入
%expression:返回值circ=@(r) [pi*r*r;2*pi*r]; %一个输入,多个输出(用向量返回,但是注意接收时也要用且仅用一个向量名,相当于是输出一个)
result=circ(3)
result(1) 
result(2)add=@(x,y) x+y; %多个输入(直接输入多个变量),一个输出
add(2,3)add=@(vars) vars(1)+vars(2); %多个输入(输入向量,注意调用时也要用[ ]),一个输出
add([3,4])

相关文章:

matlab入门学习(二)矩阵、字符串、基本语句、函数

一、矩阵 1、矩阵生成 %矩阵生成%直接法 A[1,2,3; 4,5,6; 7,8,9]%冒号一维矩阵:开始,步长,结束(步长为1时可以省略) B1:1:10 B1:10 %函数法%linspace(开始,结束,元素个数),等差生成…...

PC端微信小程序如何调试?

向往常一样运行开微信小程序开发者工具 如果只弹出pc端小程序,没有出现调试的界面:点击胶囊按钮的三个…选择重新进入小程序 即可依次展开相应的功能调试,改完代码没反应再刷新看看,再没反应就再次重新点击编译并自动调试。...

点击按钮提示气泡信息(Toast)

演示效果&#xff1a; 目录结构&#xff1a; activity_main.xml(布局文件)代码&#xff1a; <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http:…...

【易社保-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 1. 暴力破解密码&#xff0c;造成用户信息泄露 2. 短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉 3. 带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造…...

155. 最小栈

思路 按栈的特点&#xff1a;顶部即列表尾部 class MinStack(object):def __init__(self):self.stack[]def push(self, val):""":type val: int:rtype: None"""self.stack.append(val)def pop(self):""":rtype: None"&quo…...

用Manim实现高尔顿板(Galton Board)

高尔顿板的介绍 高尔顿板&#xff08;Galton Board&#xff09;&#xff0c;有时也称为贝尔图&#xff08;Bean Machine&#xff09;&#xff0c;是由英国统计学家弗朗西斯高尔顿&#xff08;Francis Galton&#xff09;于19世纪末发明的一种物理装置&#xff0c;用于演示随机分…...

OpenCV视频I/O(7)视频采集类VideoCapture之初始化视频捕获设备或打开一个视频文件函数open()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 为视频捕获打开一个视频文件、捕获设备或 IP 视频流。 这是一个重载成员函数&#xff0c;提供给用户方便使用。它与上述函数的不同之处仅在于它所…...

vue3+vite@4+ts+elementplus创建项目详解

1、第一步创建项目cnpm init vite4 2、设置vue3.2局域网可访问配置&#xff1a; 找到项目路径下的package.json目录下找到script对象下面添加一下代码&#xff1a; "serve": "vite --host 0.0.0.0" 启动项目命令不在是dev而是&#xff1a;cnpm run serve 3…...

Python 从入门到实战34(实例2:绘制蟒蛇)

我们的目标是&#xff1a;通过这一套资料学习下来&#xff0c;通过熟练掌握python基础&#xff0c;然后结合经典实例、实践相结合&#xff0c;使我们完全掌握python&#xff0c;并做到独立完成项目开发的能力。 上篇文章我们讨论了数据库MySQL操作的相关知识。今天学习一个使用…...

Visual Studio C# 处理和修复 WinRiver II 测量项目 MMT 文件错误

Visual Studio C# 处理和修复 WinRiver II 测量项目 MMT 文件错误 前言一、WinRiver II 测量项目 MMT 文件的结构二、WinRiver II 无法打开或操作测量项目 MMT 文件2.1 无法载入船测多线法测量文件2.2 可以载入测验项目 MMT 文件&#xff0c;但 ADCP 后处理软件无法写入信息2.3…...

JAVA实现大写金额转小写金额

在金融行业中经常需要把大写金额转成小写金额&#xff0c;之前在一次开发中有个类似的需求&#xff0c;翻阅了好多博文&#xff0c;都没找到合适的&#xff0c;故没办法&#xff0c;就花了点时间研究并实现! 实现代码如下: private static final Character ZERO 零;private s…...

如何使用ssm实现基于SSM的宠物服务平台的设计与实现+vue

TOC ssm779基于SSM的宠物服务平台的设计与实现vue 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大&#xff0c;随着当前时代的信息化&#xff0c;科学化发展&#xff0c;让社会各行业领域都争相使用新的信息技术&#xff0c;对行业内的各种相关数据进行科学化&#x…...

【C++学习笔记 21】C++中的动态数组 vertor

静态数组 首先来创建一个静态数组 #include <iostream> #include <string>struct Vertex {float x, y, z; };std::ostream& operator<<(std::ostream& stream, const Vertex& vertex) {stream << vertex.x << "," <&…...

MongoDB 快速入门+单机部署(附带脚本)

目录 介绍 体系结构 数据模型 BSON BSON 数据类型 特点 高性能 高可用 高扩展 丰富的查询支持 其他特点 部署 单机部署 普通安装 脚本安装 Docker Compose 安装 卸载 停止 MongoDB 删除包 删除数据目录 参考&#xff1a; https://docs.mongoing.com/ 介绍…...

组合数求法汇总

一&#xff1a;递推求解 对于组合数&#xff0c;有此式&#xff1a; C n m C n − 1 m − 1 C n − 1 m C_{n}^{m}C_{n-1}^{m-1}C_{n-1}^{m} Cnm​Cn−1m−1​Cn−1m​。 C n m C_{n}^{m} Cnm​ 可理解为 n n n 个数中选 m m m 个&#xff0c;不同的方案。对于第 n n n 个…...

Python知识点:在Python编程中,如何使用Joblib进行并行计算

开篇&#xff0c;先说一个好消息&#xff0c;截止到2025年1月1日前&#xff0c;翻到文末找到我&#xff0c;赠送定制版的开题报告和任务书&#xff0c;先到先得&#xff01;过期不候&#xff01; Joblib是一个Python库&#xff0c;它被设计用来提供轻便的并行计算解决方案&…...

matlab-对比两张图片的CIElab分量的差值并形成直方图

%对比两张图片的CIElab分量的差值并形成直方图&#xff0c;改个路径就能用&#xff0c;图片分辨率要一致 close all; clear all; clc; I1imread(E:\test\resources\image\1.jpg); I2imread(E:\test\resources\image\2.jpg); lab1 rgb2lab(I1); lab2 rgb2lab(I2); % 提取色度…...

(十七)、Mac 安装k8s

文章目录 1、Enable Kubernetes2、查看k8s运行状态3、启用 kubernetes-dashboard3.1、如果启动成功&#xff0c;可以在浏览器访问3.2、如果没有跳转&#xff0c;需要单独安装 kubernetes-dashboard3.2.1、方式一&#xff1a;一步到位3.2.2、方式二&#xff1a;逐步进行 1、Enab…...

信息学奥赛一本通 2087:【22CSPJ普及组】解密(decode) | 洛谷 P8814 [CSP-J 2022] 解密

【题目链接】 洛谷 P8814 [CSP-J 2022] 解密 ybt 2087&#xff1a;【22CSPJ普及组】解密(decode) 【题目考点】 1. 数学&#xff1a;一元二次方程求根 【解题思路】 输入n&#xff0c;d&#xff0c;e&#xff0c;满足 n p ∗ q np*q np∗q e ∗ d ( p − 1 ) ( q − 1…...

【重学 MySQL】四十八、DCL 中的 commit 和 rollback

【重学 MySQL】四十八、DCL 中的 commit 和 rollback commit的定义与作用rollback的定义与作用使用场景相关示例注意事项DDL 和 DML 的说明 在MySQL中&#xff0c;DCL&#xff08;Data Control Language&#xff0c;数据控制语言&#xff09;用于管理数据库用户和控制数据的访问…...

MySQL切换服务器数据迁移记录

老服务器性能不足&#xff0c;计划迁移数据至新服务器 一、查询 MySQL 数据库 / 表数据量大小 1、查询所有数据库的总大小 SELECTCONCAT(ROUND(SUM(data_length index_length) / 1024 / 1024, 2), MB) AS total_database_size,CONCAT(ROUND(SUM(data_length index_length) /…...

哔咔漫画下载器:如何轻松构建个人离线漫画图书馆?

哔咔漫画下载器&#xff1a;如何轻松构建个人离线漫画图书馆&#xff1f; 【免费下载链接】picacomic-downloader 哔咔漫画 picacomic pica漫画 bika漫画 PicACG 多线程下载器&#xff0c;带图形界面 带收藏夹&#xff0c;已打包exe 下载速度飞快 项目地址: https://gitcode.…...

MaterialSkin终极指南:10分钟让WinForms应用焕然一新

MaterialSkin终极指南&#xff1a;10分钟让WinForms应用焕然一新 【免费下载链接】MaterialSkin Theming .NET WinForms, C# or VB.Net, to Googles Material Design Principles. 项目地址: https://gitcode.com/gh_mirrors/mat/MaterialSkin 你是否厌倦了传统WinForms应…...

LabVIEW多核并行编程实战:从数据流原理到生产者-消费者架构优化

1. 项目概述&#xff1a;从单核到多核的性能跃迁如果你用LabVIEW做过一些稍微复杂的应用&#xff0c;比如高速数据采集、实时图像处理或者复杂的控制算法仿真&#xff0c;大概率会遇到一个瓶颈&#xff1a;程序跑起来感觉“卡”&#xff0c;CPU占用率明明不高&#xff0c;但循环…...

GNSS PPP宽窄巷模糊度固定算法全链路拆解

1. GNSS PPP宽窄巷模糊度固定算法概述 全球导航卫星系统&#xff08;GNSS&#xff09;精密单点定位&#xff08;PPP&#xff09;技术中&#xff0c;模糊度固定是提升定位精度的关键环节。我第一次接触这个领域时&#xff0c;被各种专业术语绕得头晕&#xff0c;直到把整个流程…...

电压控制模式降压变换器环路设计与仿真实战

1. 项目概述&#xff1a;从理论到实践的降压电路设计在电源设计领域&#xff0c;降压变换器&#xff08;Buck Converter&#xff09;是应用最广泛的拓扑之一&#xff0c;它负责将较高的输入直流电压稳定地转换为较低的输出直流电压。无论是给手机充电的适配器&#xff0c;还是为…...

C++-练习-109

题目&#xff1a;对Tv和Remote类进行如下修改a.让它们互为友元b.在Remote类中添加一个状态变量成员&#xff0c;该成员描述遥控器使处于常规状态还是互动模式c.在Remote中添加一个显式模式的方法d.在Tv类中添加一个对Remote中新成员进行切换的方法&#xff0c;该方法仅当Tv处于…...

setup-java企业级实践:大型项目的依赖缓存和版本矩阵测试

setup-java企业级实践&#xff1a;大型项目的依赖缓存和版本矩阵测试 【免费下载链接】setup-java Set up your GitHub Actions workflow with a specific version of Java 项目地址: https://gitcode.com/gh_mirrors/se/setup-java 在现代软件开发中&#xff0c;Java环…...

除了高精度定位,CORS基准站网还能为你提供哪些意想不到的数据服务?

解锁CORS基准站网的隐藏价值&#xff1a;从厘米级定位到时空大数据平台 当大多数人提起CORS基准站网时&#xff0c;第一反应往往是"高精度定位"。确实&#xff0c;这套由数百个地面站点组成的网络系统&#xff0c;能够为各类GNSS设备提供实时厘米级甚至毫米级的定位修…...

20+终极Obsidian模板:简单快速构建你的卡片盒笔记系统

20终极Obsidian模板&#xff1a;简单快速构建你的卡片盒笔记系统 【免费下载链接】Obsidian-Templates A repository containing templates and scripts for #Obsidian to support the #Zettelkasten method for note-taking. 项目地址: https://gitcode.com/gh_mirrors/ob/O…...