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=rand(3,3)
eye(3,3) 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
长风破浪会有时,直挂云帆济沧海!
可通过下方链接找到博主
https://www.cnblogs.com/judes/p/10875138.html