首页 > 其他分享 >Matlab基本语法

Matlab基本语法

时间:2022-12-21 16:00:29浏览次数:48  
标签:基本 disp end 函数 矩阵 语法 Matlab 数组 变量

1、变量赋值

a = [1 2 3 ; 4 5 6 ; 7 8 9 ]    %矩阵形式赋值.
a = 1:10                        %从1到10的矩阵.
a = 1:2:10                      %固定步长为2的矩阵.
zeros(3,2)                      %三行两列的全零矩阵.
a = []                          % 空矩阵
who                 %   检查工作空间的变量
whos                %   检查存于工作空间变量的详细资料

2、if语句

x = 32 ; y = 86;
if x > y
    'x 大于 y'
elseif  x < y
    'x 小于 y'
elseif x == y
   ' x 等于y'
else 'error'
end

3、for循环

% for循环使用示例
a = 0;
for i = 1:1:10
    a = a + i ;
end
a

4、while循环

% while循环使用示例
num = 0; a = 5;
while a >1
    a = a/2;
    num = num + 1;
end
num

5、switch case

%示例代码
n = input('请输入一个数字: ');

switch n
    case -1
        disp('此值是-1')
    case 0
        disp('此值是0')
    case 1
        disp('此值是1')
    otherwise
        disp('其他数值')
end

6、普通函数定义

function 输出变量 = 函数名(输入变量)
    函数体
end
function [y1,...,yN] = myfun(x1,...,xM)

end

7、输入变量缺省的函数

使用nargin进行判断

out(1)
out(1,2)
out(1,2,3)
function  out(a,b,c)
    if nargin == 1
        disp(a)
    elseif nargin == 2
        disp([a,b])
    elseif nargin == 3
        disp([a,b,c])
    end
end

使用varargin

function out = my_test(x,b,varargin)
    p = inputParser;            % 函数的输入解析器
    addParameter(p,'k',1);      % 设置变量名和默认参数
    parse(p,varargin{:});       % 对输入变量进行解析,如果检测到前面的变量被赋值,则更新变量取值
    out = p.Results.k*x + b;    % 在这里定义你自己的函数计算公式
end

8、匿名函数

格式:f = @(变量列表)表达式
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值测试

9、数据类型+数据结构

①、数值类型:整数(int8、uint8、int16、uint16、int32、uint32、int64、uint64)、浮点数(single、double(默认))、复数(a=complex(3,4)、a=3+4i)、Inf(正无穷,加负号为负无穷)、NaN(既不是实数也不是复数的值)

函数定义(标量):

a = int8(10);
b = double(20.001);

s = 'chenwen wen';
c = double(s(3)); %c=101,字符对应的ASCII

复数:

z = a+bi;

real(z):计算复数的实部 

imag(z):计算复数的虚部 

abs(z):计算复数的模 

angle(z): 以弧度为单位给出复数的幅角  

②、逻辑类型:true、false

a=3;b=0;
c=logical(a)
d=logical(b) 

③、字符和字符串类型:

a='I Love Matlab' 

④、结构体类型 

结构体(直接定义):

>> student.name = 'zhangsan';
>> student.grade = 18;
>> student.subject = {'maple','matlab','mathmatics'};
>> student.result = {87 ,89, 90};

结构体(使用struct定义):

s = struct('field1','values','field2','values',……)

⑤、向量(一维数组)

定义(下标都是从1开始):

直接赋值法:x = [1 2 3 4] %每个数据元素之间有空格或逗号
冒号法:x =a : step : b ,a,b为数组元素起止值,step为数组元素间距值,可以省略不写默认为1
等距函数生成法:x = linspace(a,b,n),a,b为数组元素起止值等分为n份,默认值是100可省略不写
对数函数生成法:x = logspace(a,b,n),a,b为数组元素起止值等分为n份,默认值是50可省略不写

访问:

x = [1 2 3 4]      %下标都是从1开始
x(2) = 2
x(1:3) = [1,2,3]   %生成子数组
x(2:end) = [2,3,4] %end表数组最后一个元素的位置
x(3:-1:1) = [3,2,1]%负数倒叙排
x(find(x>2)) = [3,4]
x([1 2 3 3 2 1]) = [ 1 2 3 3 2 1]      %对元素可重复寻访
x([1 2 ]) = [11 22]                    % x = [11 22 3 4 5]可以这样为元素赋值

⑥、矩阵(二维数组)

定义:

x = [1,2,3;4,5,6;7,8,9] %3*3矩阵

访问:

x([1,2],[3]) %表示x矩阵的第1,2行的第3列
x(:,2)       %表示所有行的第二列
x(:)         %表示转换成列向量

⑦、元胞数组:存放各种不同类型的数据

大括号创建:

A={'This is the first Cell.',[1 2;3 4];eye(3),{'Tom','Jane'}}

依此初始化创建:

B(1,1)={'This is the second Cell.'}

B =

'This is the second Cell.'

B(1,2)={5+3*i}

B =

[1x24 char] [5.0000+ 3.0000i]

B(1,3)={[1 2;3 4; 5 6]}

B =

[1x24 char] [5.0000+ 3.0000i] [3x2 double]

cell函数创建:

a=cell(4);      %4x4
a=cell(3,4);   %3x4

 

标签:基本,disp,end,函数,矩阵,语法,Matlab,数组,变量
From: https://www.cnblogs.com/judes/p/16996436.html

相关文章

  • AOL开发框架:EBS功能安全性基本原理
    为了方便管理,分类维护,EBS在"用户"和"Forms"之间加了几个层次。考察如下过程:1、 "用户"如sysadmin登录,系统验证其用户名/密码2、 如果OK,系统列出其拥有的所有角色,在EBS中......
  • 数据结构实验之栈八:栈的基本操作
    数据结构实验之栈八:栈的基本操作TimeLimit:1000MSMemorylimit:65536K题目描述堆栈是一种基本的数据结构。堆栈具有两种基本操作方式,push 和 pop。push一个值会将......
  • HttpURLConnection基本工作原理
    运行截图MainActivity.javapackagecsdn.example.com.notification.NetWorkTest;importandroid.os.Bundle;importandroid.support.v7.app.AppCompatActivity;importandr......
  • MySQL高可用复制管理工具 —— Orchestrator简介及基本搭建
    1、背景 Orchestrator(orch):go编写的MySQL高可用性和复制拓扑管理工具,支持复制拓扑结构的调整,自动故障转移和手动主从切换等。后端数据库用MySQL或SQLite存储元数据,并提供W......
  • Python爬虫-第一章-3-基础语法
    list列表#DemoDescribe:list列表#列表中可以存储任意数据结构,用[]来表示##=================示例1,索引,切片,步长,循环,查看长度==========#try:#content=['火......
  • 基础语法
    基础语法标签(空格分隔):python目录基础语法1,注释2,数字2.1整数int2.2浮点数float2.3复数complex3,字符串3.1字符串的定义3.2字符串的r前缀和f前缀3.3字符串拼接4,转义......
  • SpringBoot - Yaml语法
    测试用到的类:类的属性必须重写Get与Set方法不管属性是私有的还是公共的,必须重写Get与Set方法@Component@ConfigurationProperties(prefix="student")publicclass......
  • Java实现基本MySQL连接 - 数据的基本操作
    importjava.sql.*;publicclassMain{//MySQL8.0以下版本-JDBC驱动名及数据库URL//staticfinalStringJDBC_DRIVER="com.mysql.jdbc.Driver";......
  • CmakeLists语法与实战
    CmakeLists语法与实战1、指定cmake的最小版本cmake_minimum_required(VERSION3.4.1)2、设置项目名称,它会引入两个变量​​MyDemo_BINARY_DIR​​​和​​MyDemo_SOURCE_......
  • JavaScript 逆向 ( 一 ) --- JavaScript 语法基础
    1、JavaScript基础菜鸟教程JavaScript教程:​​https://www.runoob.com/js/js-tutorial.html​​1.基础数据类型:number、string、boolean、null、undefined、object2.顺......